The Learn to Code With Me Advice Column

What Can I Start Learning Now If I Want to Major in CS Later?



“I am a freshman in college and I want to major in computer science (CS), more specifically, software development. I just feel like I’m lost here. At the moment I’m attending a community college and doing what you call “basics,” so nothing with programming.

I know that I need to learn to code before I even transfer to a 4-year university, but I don’t know where to begin. I know a bit of HTML but that’s not important in software development. So where should I begin? Or am I too late?”


Hey Brenda!

Thanks for your question. And a huge hat tip for being so prepared and planning ahead.

A quick note: I don’t do software development. I am mostly familiar with web development. And, as you may already know, I am not academically trained.

First of all, you are not too late! I speak to people regularly who are teaching themselves how to code in their 50s-70s. If anything, you are ahead of the game.

Anyway, if you plan on studying CS in an academic setting and want to get a jump start, I highly recommend taking some online courses first. And not just *any* online course. Online courses that follow an academic CS format.

What this means is that they are taught by professors, at universities, or in a similar setting.

Here are a few of my favorite options:

  • Udacity is a wonderful online learning platform. However, some of their courses are no longer free. (Once upon a time, they were all free!) Many of the instructors also teach at universities, or at huge tech companies.
  • Coursera has many intro level CS classes. They are free and will be very similar to what you will find in college.
  • MIT OpenCourseware is one of the original open online course platforms. The courses are taught by highly trained MIT lecturers and utilize the same materials used in on-campus classes. Similar to above, it’s like you’re taking an actual course at MIT.

Aside from taking some intro-level university courses online, look at your university’s (or any dream university’s) CS curriculum.

  • What language do they instruct? (Hint: Usually Java or C++)
  • What low-level classes must you take? (Like any math requirements)

After looking at the given university’s curriculum, make a list of the requirements. Here is what the University of Illinois requires for CS students, for instance.

Then, match your personal learning plan off this list you created. That is, try to find online courses on these very topics. Use Google to search specify course names plus the phrase “free online class”.

Doing this exercise is a great way to know what you should start learning ahead of time.

I hope this helps! And good luck.

P.S. – While I am not a software engineer, I have a fantastic article on the site interviewing one. Read what she says here. The article contains great advice as well as a list of learning resources for aspiring software engineers.

DISCLAIMER: Thoughts and opinions expressed above are my own. Any recommendatons and/or how-to information is intended to be helpful. Also, please note that some of the links are affiliate links. Continue here to learn more about affiliate marketing on

laurence photo

Read Next ...

What Kind of Computer Should I Buy

read more