by Andrea Yust of Homeschool Programming
Understanding Your Undergraduate Options
Is your student thinking about a career in computers? Great! Today’s job market for software engineers and computer programmers is excellent and projected to grow steadily over the next decade. When entering college your budding programmer will be faced with a wide selection of confusing college degrees. This article will shed some light on the differences between the most common computer-related degrees programs.
It’s important to realize that every college or university will put their own special twist on every degree. So be sure to carefully study your school’s undergraduate catalog to fully understand the topics covered in each degree. In addition, students are usually allowed to select areas of interest within the degree, so each experience is very personal!
The classic Computer Science (CS) degree is what most people think of when talking about computer programmers. Computer Science courses will include all major areas of programming, from theory to applications. Students may learn about low-level assembly, higher level languages, databases, network programming, object-oriented programming, operating systems… the topics are quite varied!
Within a university, some CS degrees are run through a College of Engineering, while others have a dedicated College of Computer Science, or perhaps even support a CS degree through a College of Liberal Arts and Sciences! As you might imagine, the College that sponsors the degree will influence the nature of the courses. So a CS degree from the College of Engineering may include more low-level technical and hardware-related courses, while a CS degree from a College of Liberal Arts and Sciences may focus a bit more on topics such as management and ethics.
Here are some example Computer Science degree descriptions: Cal Poly – www.csc.calpoly.edu; Georgia Tech – www.catalog.gatech.edu/colleges/coc/ugrad/comsci/threads.php; University of Florida – catalog.ufl.edu/ugrad/current/engineering/majors/computer-science.aspx and Southern Polytechnic – spsu.edu/cswe/program/undergraduateprograms/index.htm#bscs
Computer Engineering (CE) degrees include a mixture of hardware and software courses. Not only will students learn many major programming topics, but they will also be exposed to the digital wizardry that makes computers work “under the hood”. Topics may include low-level circuit design, processor architecture, digital logic arrays, computer architecture, robotics, and general electrical concepts.
Check out these example Computer Engineering degree descriptions: Cal Poly, Georgia Tech, University of Florida.
What’s Electrical Engineering (EE) doing on this list? Doesn’t that have more to do with analog circuits, power lines and radio signals? In some cases yes! But students can usually opt to focus electives on the same computer-related topics that a Computer Engineer might cover. Electrical Engineering may also cover semiconductors, transistors, and the building blocks of processor and circuit board design. Some students select the EE degree in order to be formally taught the electrical subjects and are comfortable picking up programming concepts on their own!
Every major engineering school offers an Electrical Engineering degree. Here is a small sampling: Cal Poly, Georgia Tech, University of Florida.
Software Engineering and Information Technology
The terms Software Engineering and Information Technology mean different things to different people, so it’s important to carefully read the details of a particular program. However, generally speaking, Software Engineering involves some computer programming but focuses more on the programming process, including management, organization, and software lifecycles. Information Technology may deal more with how computer systems and networks interconnect and function together.
You can review these degrees as defined by Southern Polytechnic: Software Engineering, Information Technology.
There are a number of new, emerging degree types that focus on the recent explosion of digital entertainment. These degrees may incorporate more artistic talents to make computer drawings, model 3D worlds, and yes, create games! Writing a high-end computer game involves a whole team of digital artists, modelers, level designers, digital musicians, and of course, the pure programmers. These specialty degrees go by different names depending on the university.
Specialty degrees are offered by a variety of institutions. Here are some examples: Computational Media, Digital Arts & Sciences Computer Game Design & Development.
Your Degree and Your First Job
Some degrees such as Computer Science are pretty general-purpose. CS graduates could be a job candidate for just about any type of programming job from many thousands of different companies. Other specialty degrees have a much narrower focus. So a graduate with a Computer Game Design degree, for instance, may find job options limited by the smaller number of companies in that field.
If your student has a strong passion for one of the specialty degrees and is willing to pursue the more limited job opportunities, then by all means, follow their dream! Just keep in mind that long-term, a general Computer Science major has a reasonable chance of getting hired at a game development company, while a specialized Game Design major may have less luck applying at a company that produces medical software, or telephony software, or robotics applications.
In most cases your student will use his or her degree to apply for and win that very first job, which may or may not be the dream job. As your graduate build a resume and gains experience, s/he will find more doors opening in other companies.
The Common Denominator
What do all of these computer-related degrees have in common? At some level, students must understand fundamental computer programming! Even students pursuing other seemingly unrelated degrees, such as mechanical engineering, physics, chemistry, or other arts and sciences, can all use a quick computer program to perform some task. Though computers may not be the focus of these other degrees, having handy computer programming skills can usually improve any technical effort.
Students don’t need to wait until their first semester in college to start building computer programming skills. Early exposure to computer science concepts can form a lasting building block for your student’s technical pursuits!
About the Author
Andrea Yust from Homeschool Programming, Inc. is co-author of the KidCoder and TeenCoder programming curriculum for 4th-12th grade students. Students can learn to write games and Android apps using the Java, C#, and Visual Basic languages. Find out more about computer programming for kids and teens at www.homeschoolprogramming.com!