Thought Leadership


Posts to help you define your path and change the world.

 

Classes for CS majors

December 18th, 2017

There are variety of courses that a Computer Science major should take before graduation to be prepared to work in the real world. They can range from program design to computer systems. Keep in mind that you don’t really have to be a master of these every single one of these courses but as you go further into your career and learning. You will begin to gravitate towards a specific area(s).

Intro to programming

In the intro class, you’ll be learning the basic fundamentals of programming. They include concepts such as for loops, while loops, operators, basic data types, and program structure. Depending on the class, you might touch on the basics of object oriented programming, which is a programming model organized around objects rather than "actions" and data rather than logic.

Math and Statistics

With basic math, you will understand how to form real, logical, and mathematical arguments such as induction, strong induction, and what does it take to prove something. With stats you can learn the meaning of an expected value or the binomial probability theorem. Both of these courses should help you in your everyday life and engineering in general.

Algorithms and Data Structure

These two courses are the most important courses that you will take as a CS major. It is tough to get into detail about these courses but just know that this is the first real taste in computer science. The scope of these courses is really broad; so you can go from really basic hash tables and linked list that are pretty practical to really high level theoretical things. Mileage may vary for algorithms and data structures but they are really essential and usually required for CS majors.

Computer Systems

This course teaches you how a computer fundamentally really works. You will cover things like bits, bytes, and virtual memory, memory hierarchy, and basics of computer architecture.

Web Development

This course is your very basic web application course. This course might be the most practical course you will take because it gets more hands on industry level software that you might use on the job instead of focusing on theory. This course will teach you the basics of the internet, how to build a basic web application, use a basic web framework, and it also teaches you the ins/outs of databases. This course is on the list because it is an important for many of the jobs in the industry.

Extra courses

Operating systems: just understanding how an operating systems works. Things like how does your file system work, how do different processes schedule, how is memory managed, and how is the OS working.

Compilers: If you take a course like this you will understand how a language is really constructed and what its grammar is like. It does sound like some complicated stuff but after taking the course you might be able to write your own compiler for your own custom language.

Computer architecture: If you take this course you will truly understand what if going on inside a the Central Processing Unit (CPU).

Computer Networks: This course is like the big sibling of the intro to web application course. When we coded a web application we just coded, used a framework, and published it on the internet. But the question is how does the internet really work? If you take this course then you can answer the question because not many people can explain concepts like TCP/IP.