Sunday, July 20, 2014

Self teaching computer science

Hello world! My name is Brandon and I study Electrical Engineering at NJIT.
This is my first post and my first blog ever. I decided to create a blog to share what I know or don't know or have found interesting. As a junior in engineering, its finally come down to choosing a track so I choose computer systems, which I have found to be very interesting especially since I have fallen in love with programming.

With that in mind, given that its the summer and I have time, I decided to self teach myself computer science by following a computer science curriculum. I realized its worth sharing all of the great information I have found about accomplishing this task because I've noticed many people are (or wanting) to doing the same. I have looked at many curriculum's from TAMU, CMU, Stanford, MIT, UIUC and a few other universities and have gathered enough information about textbooks to use and the topics I'll try and cover. It comes down to the following:

Current topics to learn:
  • Learning a programming language: C, C++, Java, Python, etc: (For now my goal is to learn C, C++, Java, Python and JavaScript)
  • Know Calculus, Discrete Math and linear algebra, Probability and Statistics, Differential Equations: (Since my engineering degree already covers Calculus, Linear A. and D.E., the only thing for me to self learn is discrete mathematics and Probability and Statistics.)
  • Data structures and algorithms: (I'll be using the Java language to study this topic because it has been recommended by many and because I have found some great courses at Coursera taught by Princeton and Stanford using the language.)
  • Computer architecture: (Since I chose to focus on computer systems, my degree will automatically require me to take computer architecture courses)
TBD Topics:
  • Operating Systems
  • Networking
  • Databases
  • Machine Learning / AI
  • Compliers 
  • In-depth focus on Programming languages

 Interesting articles/blogs/forums/courses for self learning computer science:


-----------------------------------------------------------------------------------------------------------
My current tasks list (I'll update as I go):










No comments:

Post a Comment