Pages

Sunday, January 31, 2016

The Orientation and Learning Curve of the Software Engineer

by Guozhuoyan Zhang



SYNOPSIS
Computer Science is a discipline which requires systematic deliberating information and calculating theoretical foundation. In the lay of experience, it is generally described as the meticulous research of information transportation processing algorithm. And CS possess diverse subfields and specialty areas. Modern CS contains theoretical computer science and applied computer science. A software engineering domain is a field of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in that field. Software engineers are called by engaging in software development in terms of basic.

Orientation
The software engineer is the person who is working with software development and maintain the function of applications. Differs from a programmer who is programming on the basis of specific standards, a software engineer needs more designs and arrangements. Actually it is a broad conception, including software designers, software architectures, software engineering management personnel, programmers, and a series of posts. Working content is related to the software development and production. The technical requirements of the software engineers are more comprehensive. In addition to the most basic programming language (C language /C++/JAVA, etc.), database technology (SQL/ORACLE/DB2), etc., there are many language, such as AJAX, HIBERNATE, JAVASCRIPT, SPRING and other cutting-edge technology. In addition, the network engineering and software testing of other technologies is going to be studied.

Learning Curve
While working with the entry-level job, a software engineer is going to set up a base environment on his objective systems. Like Linux, which is a Unix-like and mostly POSIX-compliant computer operating system assembled under the model of free and open-source software development and distribution. With open-source application tools, that is one of the reasons why Linux is such a powerful OS and development environment.
CRUD means create, read, update and delete. Doing simple CRUD in order to gain the data all the way from the database to the front end. And Basic tests should include the testing of validation code and assertions. If you have a full CRUD application during long development process, it means it is going to play around with well.
Doing a relative complicated system DB (data base) design, connector design, project deployment, errors findings, bugs finds, and search the system log. This step trains up a software engineer’s information application capability.
When making a software/application related project, software engineer need to understand software API (Application User Interface), interactive way, Cookie, interceptors, AOP (Aspect-Oriented Programming), login system design, naming conventions, etc.
Split Service which separates Home and Service. While using RMI (Remote Method Invocation), it can complete distributions between all levels of deployment by using the Tuscany Service Component Architecture.
Proceeding from the actual, a software engineer needs to use mongo DB to complete location search, messaging, picture upload, cloud storage, and use Tiles to make the configuration of page templates. All of the elements will be involved which doing project.




Citations: 


1. “Systems and software engineering - Vocabulary,” ISO/IEC/IEEE std 24765:2010(E), 2010.

http://www.iso.org/iso/catalogue_detail.htm?csnumber=50518

2. Basu, C. (2010). Interview with: Ravichandra gunturu senior software engineer blackthorne capital management. Journal of Information Privacy & Security, 6(4), 70-72. Retrieved from http://ezproxy.msu.edu.proxy2.cl.msu.edu/login?url=http://search.proquest.com.proxy2.cl.msu.edu/docview/856131872?accountid=12598 


Image Credit: https://www.thinglink.com/scene/617036071699480576





Prompt #2: Defining Ethics


By: Matthew Manross

In accordance with their commitment to the health, safety, and welfare of the public, software engi- neers shall adhere to the following eight Principles:

1. Public. Software engineers shall act consistently with the public interest. 2. Client and employer. Software engi- neers shall act in a manner that is in the best interests of their client and employer, consistent with the public
interest.
3. Product. Software engineers shall

ensure that their products and related modifications meet the highest pro- fessional standards possible.
4. Judgment. Software engineers shall maintain integrity and independence in their professional judgment.
5. Management. Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software de- velopment and maintenance.
6. Profession. Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. Colleagues. Software engineers shall be fair to and supportive of their col- leagues.
8. Self. Software engineers shall partic- ipate in lifelong learning regarding
the practice of their profession and shall promote an ethical approach to the practice of the profession.

            -Gotterbarn, Don, Keith Miller, and Simon Rogerson. "Computer Society and ACM Approve Software Engineering Code of Ethics




Computer science engineers are always thinking about ethics. One may ask themselves while completing a assignment "Is what i am doing ethical?". Having a code of ethics is very important for these engineers to follow. Without this "code" above to what is right and wrong, serious problems could arise with these engineers.

 One very important issue that can arise if these principles are not followed is hacking. Hacking can happen to one person, a group of people, businesses, and even the government. Probably the most common use of hacking is stealing other peoples identities or credit card information. People can lose everything by someone who miss uses their knowledge of computers for ethically wrong things. Hacking can be minor, such as cheating in a video game, to some very serious crimes, such as leaking secret government information.  On both occasions, hacking is morally wrong and does           not follow the ethics of a computer science engineer. 

Copying is also a very serious issue with computer science engineers. Using someone else's program to complete your task faster is ethically wrong. Intellectual property is the ideas or concepts one person has. Intellectual property can be copied by another person without permission. Copying ideas that were not your own breaks these ethics and can be a very serious crime. Having an idea that could change the world stolen from you would ruin your life.


Image credit

"Thousands of Free, Scanned Hacking & Programming Books." Thousands of Free, Scanned Hacking & Programming Books. 2013. Web. 31 Jan. 2016.

Article credit

Gotterbarn, Don, Keith Miller, and Simon Rogerson. "Computer Society and ACM Approve Software Engineering Code of Ethics." Computer.org. IEEE Computer Society, Oct. 1999. Web. 31 Jan. 2016.

The Robot Camera from Intel






                   
On the Publish Meeting of CES 2016, Intel shows the new product, which is a robot camera. Just like the picture.


This robot is build for the bike lover, consider this is so hard to record the processing of your riding. Since we can't hire a man and riding a bike with a camera. So they build this robot, and let this to record the story from you riding.


This robot has a very advanced sensor that controls its every move depending on its surroundings. This is a good choice for you to take this and have a nice bike ride on the mountain. What we are worried about the robot is can this really follow you while you are riding? The answer is yes.

From the GIF on the right side you can see that this is a mock riding. Since a road on a mountain is not always straight, they built this model to test the drone in real life scenarios.

You can see that this robot perfectly moving through the path while staying near the rider. There is no doubt that this robot is more advanced than those available today.



Normally the following function is normal if you know a lot about robots. But all of them have a  shortcoming, which is they have no idea how to deal with accident. For example, if a tree has fall down, other robots will be destroy by the tree. But fortunately Intel had fix this on this robot.
Here is a GIF for how did the robot solve the accident.

From this GIF you can see that this robot will stop in front of the fall tree, and it will go up around to avoid the tree. It will then keep  following.





So this is a very good robot for the people who love riding. Let this robot capture the every moment while you are riding.


Cite
:http://chuansong.me/n/2135614