They say there is no real order to taking the beginning Computer Science classes, but I don’t agree. I looked around and everybody was saying it doesn’t matter. Sure, they aren’t official prerequisites, but its easier in this order. Here is my list, based on my experience, for which you should take the classes to make it easier for you to succeed!
Before doing any of this, I recommend taking a language that is not your first language. It will get you in the right mindset for learning a language you are not used to using.
- C++ Level 1, no, not Java Script
- C++ Level 2 or own a book on C++
- Computer Organization and Assembly Language
- Data Structures and Algorithms
You need both C++ and Computer Assembly for Data Structures. The priors are referenced in Data Structures and thus, make Data Structures easier if you take those two classes first.
Now you can take the following classes at the same time as the others, but in my experience, it’s best in this order.
- Calculus 1
- Discrete Structures
- Mechanics and Wave Motion
- Calculus 2
- Electricity and Magnetism
I originally did not realize that Discrete Structures is a full blown math class. It is its own language with unique symbols. Because I did not know Discrete Structures was a math class, I took Calc 1 and Discrete Structures at the same time which I would not do again. Calc 1 and Discrete Structures do overlap, but I think Calc 1 should be taken first. Mechanics and Wave of Motion references Calc 1 on the first day. You need Calc 2 for the physics class that comes after Mechanics and Wave Motion. Some AS programs do not require you to take a second Physics class, but if you plan on transferring you really should.
Hope this helps!