Teach Yourself Computer Science

In high school I studied electronics and computer systems, and then I continued on with software engineering for a short period before switching over to electrical engineering where I received my master’s degree in electronic system design. After graduation I wrote software for large embedded systems for a number of years before switching over to more high-level programming in .NET.

During my studies at the university I took some programming courses, but I never took any courses on data structures, algorithms, databases, computer networking, an similar courses that are related to computer science. However, during the years after graduation I have spent many hours studying these topics.

In Sweden, where I live, you do not have to pay a tuition fee to study at the university as long as you are a member of the European Union. Also, several universities offer single, stand-alone, courses that you can take remotely in pretty much your own pace. I have taken a few courses using this set up, most recently I took a hands-on course on relational databases given by the University of Dalarna.

I have also studied algorithms and data structures via Coursera. The course Algorithms, Part I, offered by Princeton University with instructors Robert Sedgewick and Kevin Wayne is great. It is quite challenging so if you consider taking it you should be prepared to put in quite a lot of work.

If you are looking for a courses on a specific framework or computer language there are tons out there. I worked through some courses on Pluralsight some time ago, which was nice. Just remember that they are often very specific to a particular programming language or framework.

Quite recently I found the site https://teachyourselfcs.com/ which is a superb resource for anyone looking for tips on what to study when you wish to learn Computer Science. I was happily surprised to find that I already had some of the recommended literature, namely the classic Structure and Interpretation of Computer Programs, The Algorithm Design Manual, and Designing Data-Intensive Applications. All of which are great books.

Today I also received a copy of Computer Networking: A top-down approach which is the recommended book on the topic Computer Networking.

If you haven’t studied Computer Science but are interested to learn, I highly recommend that you take a look at teachyourselfcs.com. The resources provided on that page contains information that will be useful your whole career and not just until the next hype.

Enough writing, time for me to dive into the next chapter of Computer Networking: A top-down approach.

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *