RTJ#1: The first course

One of my friends went through a similar journey, she left product management a few years ago and now she is working as a developer. I remembered which was her first course and without her knowing, I started the same.

That course is Java Programming and Software Engineering Fundamentals on Coursera by Duke University. It has five specializations:

  1. Programming Foundations with JavaScript, HTML and CSS
  2. Java Programming: Solving Problems with Software
  3. Java Programming: Arrays, Lists, and Structured Data
  4. Java Programming: Principles of Software Design
  5. Java Programming: Build a Recommendation System

All five specializations are distributed over four weeks. It assumes around 10-15 hours/week, depending on your speed.

Man, I loved this course! They combined videos & exercises and tests in such a meaningful way that it stayed fun throughout the journey. It starts at the very beginning: teaches the basics of HTML and Javascript, helps you to think like a developer and later shows you the very basics of Java.

The certificate given at the end.

The target audience is absolute beginners, so if you have some experience it will be a lot faster for you. I took a week of vacation to focus on this during the fall and then I could do a week’s worth of practice typically in a day. Later it slowed down.

It covers areas like cycles, data manipulation, CSV parsing, working with arrays and lists, sorting, searching, and basic design principles. It uses concrete examples, not some made-up exercises (like having earthquake data in a CSV file and filtering and sorting them).

The only downside was that it forced you to do things in a certain way. I often wondered, why we were doing a suboptimal solution just to learn that they were teaching the suboptimal solution first so it was clear why the other option was better – of course, by this time I already implemented it similarly that way and had to refactor.

The most clever way was the tests and exercises: you had to write and run the code to pass it. Imagine exercises like “Here are 3000 movies, sort them by rating first and name second. What is the 46. best movie?”. I feel I had to work for the certificate and therefore I am proud of it. You can find my solutions in this repository.

Recommending an entry-level course is always tricky: not too many people do multiple of them – so I can’t tell that it is better than the others, but I can tell them that it is good and I do recommend it.

Leave a Reply