What are the courses that need to be taken for a software engineer?
Updated Dearborn Heights, Michigan
Updated Boston, Massachusetts
Hi Hadi, Great question! Each college will structure their computer science/ software engineering program slightly differently. My suggestion is to find a local college and take a look at their computer science website. It'll list out the required courses and curricula for an undergraduate degree. For example here's the program at my alma mater University of Rochester: http://www.cs.rochester.edu/undergraduate/bs.html But here are the types of courses you can expect to take in college: Math Calculus I and II Discrete Math Linear Algebra and Differential equations Foundations Data Structures and Algorithms Introduction to Object Oriented Programming Core Computer Science Computational Theory Algorithm Design and Analysis Programming Language Design In addition to the core classes, you'll also take electives to explore things like artificial intelligence, CS theory, data science, and machine learning, computer systems. If this list seems a bit overwhelming, it 's ok! You're taking the right steps by preparing early . If you're in high school, I suggest going through the Khan Academy computing tutorials. If you want a challenge, try Harvard's CS50 intro to CS class which is free on EDx / If you have never programmed before, try learning to program with the free tutorials on codeacademy.com. My favorite language is Python but if you want to build website checkout their web development tutorials. Good luck and post more questions as they come up!
Updated Seattle, Washington
If you've got time and wheels, you can also consider trekking west to Ann Arbor and taking an intro comp sci course there in person. https://admissions.umich.edu/apply/other-applicants/dual-enrollment Might be more difficult if you're not in Ann Arbor properly, but if you run out of comp sci courses to take in high school that might be an option.