User:Vtaylor/CIS2/Engineering/

= Computer and Software Engineering = There are many different disciplines when the term 'Engineering' comes to mind. Aerospace, Chemical, Civil, Electrical, and Mechanical engineering have long been main engineering professions. But, with the advancement of technology new and improved engineering professions are becoming more popular. Computer and Software engineering are two of many new engineering careers. Much of the technology developed today is through computer and software engineering. Programs that help run advanced this new technology are developed by software engineers. Computer and Software engineering are main components to help improving technology not only through business environments but the home environment as well. A.T.

What is Computer and Software Engineering
There are different types of computer software engineers but the main definition is that, computer software engineers apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. The assignments performed by these workers evolve quickly, showing new areas of specialization or changes in technology, as well as what the workers prefer or practice. These engineers are involved in the design and development of many types of software, like computer games, word processing and business applications, operating systems and network distribution, and compilers, which convert programs to machine language for execution on a computer.

Computer applications software engineers analyze users’ needs and design, construct, and maintain general computer applications software or specialized utility programs. These workers use different programming languages, depending on the purpose of the program. Some software engineers develop systems software or create customized applications.

Computer systems software engineers coordinate the construction, maintenance, and expansion of an organization’s computer systems. Working with the organization, they coordinate each department’s computer needs—ordering, inventory, billing, and payroll recordkeeping, for example—and make suggestions about its technical direction. They also might set up the organization’s intranets—networks that link computers within the organization and ease communication among various departments.

Computer software engineers often work as part of a team that designs new hardware, software, and systems. A core team may comprise engineering, marketing, manufacturing, and design people, who work together to release a product they normally work in clean, comfortable offices or in laboratories in which computer equipment is located. Software engineers who work for software vendors and consulting firms frequently travel overnight to meet with customers. Telecommuting is also becoming more common, allowing workers to do their jobs from remote locations.

We always use computers without knowing all the work that was placed on them for us to be able to use them and also ignoring the quality of people that are behind these programs. Computers software engineers work really hard to make our lives more comfortable and sometimes they don't get as recognized by the consumers as they should be. This is a great career for anyone that loves computers and has the responsibility and the imagination to create programs to make our lives easier. LG

Type of Technologies Developed
From design to development, testing to troubleshooting, computer software engineers use their ability with applications and systems software to create the elements that make computers work. They use computer programs like C, C++, and Java to create packaged software and customized applications, often working in teams to create complex products.

Many other types of technology is available to us because of computer and software engineers. Automated conveyers deliver or send items to corresponding places. These types of machines require the programming necessary to complete its function. This field also helps to improve and updrade old versions of software and develop new technology.

Education
How does someone become a computer or software engineer? The type of education required for such a profession can be very rigorous. By obtaining a 'Computer Science Degree' could a person be eligible to work in the software or computer engineering field. Few colleges and universities offer 'Software Engineering' degrees. Some also have computer science degrees with a focus in software engineering. San Jose State University, for example, actually offers a computer engineering degree separate from a computer science degree. Their software engineering degree is offered jointly with the computer engineering and computer science departments. With thorough research students can pick the right school and degree program. A.T.

Computer Science, Computer Engineering, Software Engineering Degree
To acquire a Computer Science, Computer Engineering or Software Engineering degree, potential graduates must go through vigorous mathematical courses. Mathematical courses such as, calculus I, calculus II, Calculus III, linear algebra, discrete mathematics and even two to three physics classes are a few of the main requirements. During this time students can also be learning many computer languages such as UNIX, Linux, C programming, and Java. These are some of the main courses that students will go through and learn while earning their degree to becoming a computer or software engineer. A.T.

Controversies
Creativity in the computer science realm is in constant motion. As every year passes, new and improved technology is developed. But, how far will this creativity go? Computer and software engineering are not only making improving computers. New software is starting to develop within the biological level. "You don't need to know the physics behind how a burner heats water to use it to make pasta." (Alexis Madrigal http://www.wired.com/wiredscience/2007/11/the-open-organi/) Basically, image someone creating a plant that can adapt to any environment. Any information required to complete such a feat would be written in computer code. All or any biological information would be stored and as easily as someone can create a 'Facebook' application, a person could create a new type of corn. This type of technology can easily be manipulated the same way as someone develops computer viruses. College students from MIT have already genetically engineered the E.Coli virus using computer language and machines. University Cal-Berkeley college students have synthesized a form of blood called "bacto-blood" (Alexis Madrigal http://www.wired.com/science/discoveries/news/2007/11/igem_winner) that can be frozen and later used for patients that need blood transfusions at a later date. How soon will someone genetically develop a virus which will threaten the human race? This may well be cause for concern, but what if people can develop crops to grow where starvation exists? How about the cure for cancer? Developing new ways to make lives better is what we humans have been doing since our existence.

UCITA
The 'Uniform Computer Information Transaction Act' is a form of legislation. "A draft state law for contracts relating to software and other forms of computer information." (James S. Huggins http://www.jamesshuggins.com/h/tek1/ucita.htm) This form of legislation allows individual states to control and keep track of information being transfered or new types of software being developed. The list of problems are long, here are a few:

- Introduces new uncertainty regarding the duration of the acquirer's right to use software.

- Allows software vendors to shut down software, even mission critical software, remotely... without going to court first and without court approval.

- Allows software vendors to prohibit public criticism of their product.

- Allows software vendors to impedethe development of inovative products.

These rules and regulations would not only hurt the industry, but also limit the ability to create new technology. Two states have agreed to follow the UCITA. The two states are Maryland and Virginia. Many groups and organiztions are agaisnt this law such as; Software Engineering Institute, Free Software Foundation, and the Institute of Electrical and Electronics Engineers. A.T.

Current Trends and The Future
Since Computer and Software engineering are under the Computer Science area of study, these professions are still fairly new fields. One of the major areas that is looking to push the future into new heights is the study of algorithms. Richard Karp from UC-Berkeley states, "Algorithms are small but beautiful." (Steve Lohr http://www.nytimes.com/2006/10/31/science/31essa.html?_r=1) Richard Karp's studies of algorithms is a prime example of how computer science is evolving to becoming a true study of science. Karp's research is no longer within the computer science field. He has moved to researching microbiology. This means he can find a way to create protein production as a form of an algorithm. Another future trend deals with the use of socializing websites such as MySpace and Facebook. By using algorithms to track human behaviour, technology may be able to one day have a person wear a tiny camera and storage device to keep track of their life. Computer and software engineering help make such feats possible. This area of study will be around as long as people crave more technology.A.T.

Although unemployment rates in the United States are soaring to higher levels in 2009, there is still a great need for engineers. The current lack of engineers seems to stem from the general lack of interest in science and mathematics fields (Tara Weiss, http://abcnews.go.com/Business/Story?id=7764966&page=1). The path to becoming an engineer is also very long. "When you come out of college as an engineer, you're an engineering graduate, you're not a professional engineer” (Pat Curtis, http://www.radioiowa.com/gestalt/go.cfm?objectid=8C9CB1C3-5056-B82A-37F2B7A79FD83FEC). Many engineering positions not only require a college degree but require a certification as well as years of experience in the field. Due to this, the turnout of engineering professionals is not as high as the growing need for them.

Advancements in engineering are often fueled by innovative ideas. With the advancement of online media distribution services over the last decade, ideas can now be spread quickly and easily to an audience all around the world. One prime example of this would be TED (http://www.ted.com), which is an annual conference with the mission of spreading ideas. These conferences present innovative people to give lectures on ideas involving technology, entertainment, and design. These lectures are not only available to those who attend these conferences but also to everyone around the world through a video stream. These lectures, often thought provoking, can be used to inspire the current generation of students to pursue a career where they can help advance our current technologies.

With services such as Youtube, anyone with ideas can spread them. An example of this would be a famous Nintendo Wii “hacker” Johnny Lee (http://www.youtube.com/user/jcl5m) who claimed global recognition with Youtube video demonstrations. His demonstrations uses the technologies behind the Nintendo Wiimote, applying them to a wide array of different uses, including a virtual whiteboard, a head tracker, and much more. His ideas have taken much of the online community by surprise, possibly showing us the future of gaming. These ideas may also spark others to figure out ways to apply these concepts not only to game systems but to our everyday lives.

Another notable service that has gained popularity over the last couple of years is LinkedIn (http://www.linkedin.com). The website has a social networking structure aimed towards connecting working professionals. The service's growth shows us how social networking services have developed over the years and how quickly they are becoming more and more important. For a complex profession such as computer/software engineering where many skills and experience are required, a service such as LinkedIn could allow potential employees to find jobs that pertinent to their skill set. It also can work the other way around, helping employers finding engineers with specific skills sets. This connectivity could potentially help connect innovative people to the right environment where their skills can flourish and be used to their full potential.

Innovations can also be sparked through competition. With the surprising success of Nintendo’s flagship console, the Nintendo Wii, software developers and engineers of competing systems have been working with motion sensing technologies. One of the most prominent of their competition, Microsoft had unveiled their new motion sensing technology at the E3 2009 exhibition. The technology dubbed “Project Natal” (http://www.xbox.com/en-US/live/projectnatal) has many features including full body movement detection, facial detection as well as voice recognition. This technology allows the user to interact with object on a television screen using only their body. Although Project Natal is recognized as a gaming technology, it utilizes technology in such a way that may change the way we use computers. This type of technology may one day allow computer users to interact freely with their computers without being in front of them. It is also important to note that these technologies are meant for widespread public use and will be relatively cheap, opening the possibilities even further that we may see this technology applied in more places.

The “green” movement in recent years has prompted companies to find eco-friendly solutions to existing technologies. These technologies include many everyday technologies such as computers, refrigerators, and light bulbs. Decreasing power consumption and eliminating harmful emissions are problems that engineers are constantly working towards. In 2008, car manufacturer Tesla Motors announced the building of a state of the art factory in San Jose, California in order to develop electric cars. The project could have potentially opened up many jobs but unfortunately the plans were scrapped due to budgeting issues. Although Tesla’s plans did not fall in place, this case shows the growing importance of eco-friendly technologies. Tesla’s plans may be the starting point for large manufacturers to start investing heavily in “green factories” which will open up many jobs for engineers in the upcoming years.

In 2009, the world’s largest laser was created at the National Ignition Facility in Livermore California. The laser will be used for testing nuclear weapons as well as researching nuclear fusion energy technology. “No less ambitious is the computer control system being developed in parallel with the giant $1.2-billion facility” (Lawrence Livermore National Laboratory, https://www.llnl.gov/str/Vanarsdall.html). The building of this laser shows growing importance of computer engineers. When creating potentially dangerous technologies, computer engineers must be well trained, being able to understand the technology as well as how to control them.

The examples given are only a small portion of the technological advancements in recent years but they give us insight on where we are going. With the developments going on currently, it's possible that we may make many technological breakthroughs within the next decade that change the way we interact with computers and people. There is no doubt that there is a correlation between the advancement of technologies and the growing need for engineers. With that in mind, we need engineers now more than ever. - H.W.