How to navigate a computer science major

academics computer science

Computer science is a major with some of the most varied outcomes for their students. Computer science majors will go on to be professors, software engineers, hardware engineers, machine learning engineers and data scientists. A good computer science program will provide introductory coursework that offers glimpses into each of these various fields. Once a student identifies their interest, they set out on a track to build the relevant skills necessary for their post college job choice. In this blog, I'll talk about the various tracks within a computer science major, the opportunities that each of the different tracks provide, and which one you should choose. Note that different universities may name and classify each of these tracks slightly differently, but the overall structure should be similar.

Theoretical Computer Science/Academic Track

A student interested in theoretical computer science will take advanced theoretical and mathematical courses in almost all the disciplines that computer science has to offer – many of these courses don’t even involve coding at all. Students interested in this track are drawn to computer science because they like the theoretical math that underlies these disciplines. Often, these students are attracted to obtaining PhDs and ultimately professor positions because they hope to do theoretical research on their own in these cutting-edge fields.

Software Engineering Track

A student interested in software engineering will take classes in object-oriented program and front/back-end development. In addition, these students should be proficient with data structures and algorithms because employers will test them on that knowledge in interviews. If your favorite part of computer science is building, designing, testing and evaluating software then this is the track for you.

Data Analytics/Science Track

Students interested in data analytics will take classes in data manipulation, machine learning and statistics. In addition, they should aim to be proficient in R/Python and SQL. If you're a student who enjoys the mathematical aspects of computer science as well as coding and explaining your results to non-technical people, then this is the track for you

Hardware Track

Students interested in hardware (sometimes called computer engineering with connection to electrical engineering), will take courses in operating systems, networking, and low-level programming. If you’re a student who wants to understand how a computer is built from the ground up, then this is the path for you.

Machine Learning Engineer Track

Students on a machine learning engineering track will take lots of coursework in statistics and machine learning. As opposed to a data analyst who just implements a machine learning algorithm, a good machine learning engineer dives deep into the algorithm’s structure in order to optimize it for performance. Therefore, a good machine learning engineer needs to be an expert in the cutting-edge machine learning algorithms.


academics study skills MCAT medical school admissions SAT expository writing college admissions English MD/PhD admissions GRE GMAT LSAT chemistry strategy writing math physics ACT biology language learning test anxiety graduate admissions law school admissions MBA admissions interview prep homework help creative writing AP exams MD academic advice career advice study schedules summer activities history personal statements premed philosophy secondary applications Common Application computer science test prep organic chemistry supplements PSAT admissions coaching economics grammar ESL law statistics & probability psychology SSAT covid-19 legal studies reading comprehension 1L CARS logic games Spanish USMLE calculus dental admissions engineering parents research Latin mathematics verbal reasoning DAT excel political science French Linguistics Tutoring Approaches chinese DO MBA coursework Social Advocacy academic integrity biochemistry case coaching classics diversity statement genetics geometry kinematics medical school mental health quantitative reasoning skills IB exams ISEE MD/PhD programs PhD admissions algebra astrophysics athletics business business skills careers data science internships letters of recommendation mentorship social sciences software engineering tech industry trigonometry work and activities 2L 3L AMCAS Academic Interest Anki EMT English literature FlexMed Fourier Series Greek Italian MD vs PhD Montessori Pythagorean Theorem STEM Sentence Correction TMDSAS Zoom admissions advice algorithms amino acids analysis essay architecture argumentative writing art history artificial intelligence cantonese capacitors capital markets cell biology central limit theorem chemical engineering chromatography class participation climate change clinical experience cold emails community service constitutional law cover letters curriculum dental school distance learning enrichment european history executive function finance first generation student fun facts functions gap year harmonics health policy history of medicine history of science hybrid vehicles information sessions institutional actions integrated reasoning intern international students investing investment banking logic mandarin chinese mba mechanical engineering meiosis mitosis music music theory neurology operating systems pedagogy phrase structure rules plagiarism poetry pre-dental presentations proofs pseudocode quantum mechanics resume school selection science simple linear regression sociology software study abroad synthesis teaching technical interviews time management transfer typology units virtual interviews writing circles