Educational Markets Manager
MS Computer Science
Lead Software Analyst
When I was a child, I was intrigued by the idea of working with computers but I never dreamed I would end up with a degree in mathematics. Throughout my primary education, I found math to be tedious and boring and declined the chance to take calculus in high school. I ended up going to St Mary's College of Maryland. At the time, St Mary's did not have a computer science major. computer science was something that was part of the math department and you had to be a math major to do computers. At first, I didn't like taking all of the math classes. However, the more classes I took, the more I began to actually like the subject. Choosing to be a math major is something I will never regret.
How does a solid mathematics background help those interested in becoming software or computer engineers? Firstly, all computer science theory is grounded in mathematics, particularly discrete mathematics. Second, writing software requires a complete understanding of logic. This is also found in mathematics. Third, and most importantly, most real world problems that we try to solve using computers can be described in mathematical terms. Generally, developing software to solve real world problems involves the following process: Analyze the problem space and define the requirements of the solution, translate the problem into mathematical processes, Code it, Verify and Validate it, Release it to the user. For example, a user may want a computer model of the way a particular missile flies in 6 degrees of freedom. To solve this problem, you must first analyze some actual flight data of the missile, devise a mathematical model of the test data - in this case probably polynomial equations that describe the flight of the missile. Then you must translate it into computer code with a user interface, test it and finally release it to the user. Although, this is a simplified description, it shows one example of how mathematics is an asset to someone in the software engineering field. If you were a programmer with very little or no mathematics background, you would not play a big role in the solution of the problem. Someone else would come up with the solution, hand it to you and say, "here, code this." To me, it's much more challenging and fun to be a part of the whole engineering process.
Analytical skills are not the only attribute necessary to have a rich and rewarding career. You must also have the ability to work with others as a team. Take every opportunity in college to work as a part of a group and develop your leadership skills. It is also necessary to be able to communicate with your colleagues and your customers. To this end, develop your written and verbal communication skills.