The average salary of a computer software engineer is about $93,280. The question of what classes you need to take are beyond complicated to try and explain so the following website(s) should be very informational and helpful to you: http://catalog.utdallas.edu/2012/undergraduate/programs/ecs/software-engineering http://prtl.uhcl.edu/portal/page/portal/SCE/Engineering/Software_EngineeringMS/SE_Core_Curriculum http://bulletin.auburn.edu/undergraduate/samuelginncollegeofengineering/departmentofcomputerscie nceandsoftwareengineering/softwareengineering_major/ http://bsse.sjsu.edu/content/major-requirements The following colleges are the colleges that I myself looked at and found very interesting. They are all different and you can look at the type of campus and the information about each. Just visit the websites below: Penn State University- http://www.psu.edu/ Massachusetts Institute of Technology- http://web.mit.edu/ Carnegie Mellon University- http://www.cmu.edu/index.shtml West Virginia University- http://www.wvu.edu/ Georgia Institute of Technology- http://www.ece.gatech.edu/ Princeton University- http://www.cs.princeton.edu/ http://www.princeton.edu/ee/ Fun Facts on Computer Software Engineers The impact of computers on our lives means there is a need to develop new software. Computer software engineers apply computer science, engineering, and math to design, develop, and test software. Software engineers first analyze users' needs. Then they design, construct, test, and maintain the needed software or systems. In programming, or coding, they tell a computer, line by line, how to function. They also solve any problems that arise. They must possess strong coding skills, but are more likely to develop algorithms and solve problems than write code. Software engineers often work as part of a team that designs new hardware, software, and systems. A core team may have engineering, marketing, factory, and design people who work together until the product is done. Many software engineers work for companies that make or install new and more advanced computer systems. Most work at least 40 hours a week. If a big project is due, they may have to work nights or weekends to meet deadlines. Like other workers who sit for hours at a computer, they are susceptible to eyestrain, back ache, and hand and wrist syndromes. Software engineers who are employed by vendors and consulting firms spend time away from their offices to meet with customers. As networks expand, they may be able to use modems, laptops, e-mail, and the Internet to identify and fix problems from their own office.