So, you’ve decided that a computer science degree is the best option for you. Maybe you love computers and can’t figure anything else out, or maybe you are following advice. Either way, you’ve chosen a field with endless possibilities, a large projected growth over the next decade, and a high median salary. Congratulations!
Before you get settled into a degree program, and the coinciding Dungeons and Dragons group, you should know what to expect from your classes.
Like most colleges, you can expect that half of your required credits will come from general education classes, which are similar across all majors. Here, I look at Stanford University as a guide for class expectations.
General education credits
Stanford requires a total of four math classes for a Bachelor in Computer Science degree. Two of these classes are specific, while the other two may be chosen from a list of math electives. Most of these math classes will be geared toward your major, so don’t worry too much if you didn’t get into AP Calculus in high school!
As for science, CS majors must take both a mechanics class and an electricity and magnetism class, along with one or two elective science classes. If you did horribly in your high school physics class, you’re in luck! CS majors are not required to take physics labs.
Unfortunately, not all of your general requirements are tailored so closely to your major. You will also have to take three humanities classes, an ethical reasoning class, a global community class, courses on American cultures, and gender studies.
As with most bachelor's degrees, you can expect your first two years to be spent fulfilling your general education requirements.
At Stanford, there are many different tracks that you can take for a CS degree. To give you an idea of a generalized degree, we will look at the unspecialized track. This is an example list of classes, which may change:
- Computer Organization and Systems
- Principles of Computer Systems
- Design and Analysis of Algorithms
- Programming Languages
- Artificial Intelligence: Principles & Techniques
- Introduction to Human-Computer Interaction Design
- Intro to Automata and Complexity Theory
- Operating Systems and Systems Programming
- Two computer science electives
What should I expect?
The best way to figure out if you really want that degree in computer science is to enter college undeclared and take a few of the electives during your first two years.
Generally, a CS program will focus on learning the syntax of programming languages for a very brief time and will then move into the theory of computer science. If you find object-oriented programming a difficult concept to grasp, I would suggest finding a different major! You should enjoy complex problems and constantly rewriting code. As you grow as a programmer, you will find more efficient ways to do things, and your skills will always be improving. This is not a field that you can ever fully master--but the pursuit is part of the appeal!
There is a lot involved in these programs, and they change from school to school. Is there something more specific you would like to know?