Archives February 2022

Update #4 – Another one off the list

The title is a poor word joke, as I am finishing up on chapter 8 with Arrays, Lists, ArrayList and LinkedList. Not too complex I think, although the LinkedList has some quirks for sure. I do get how it works in code, but I am not sure yet why you need a separate iterator to be able to iterate through the elements. Well, I probably have to practice some more to get used to it.

Not much to say about lists, so maybe a small update on the course and the learning experience. I still like the structured manner the topics are presented. What I do see now: doing the challenges yourself before checking out the solution is maybe one of the most valuable parts. I am still somewhat frustrated that the teacher often has another take on the solution, but usually there is a lot to learn on how to efficiently solve certain standard problems.

Earlier I was positive about the exercises, for which you have to copy your code to the website where it runs and checks the output. I am less positive now. In last chapters the challenges were quite large (several videos), but at the exercise it turns out the you almost literally have to create the code from the challenge. That is not much of an exercise.

Anyway, still like the learning and the (almost) daily progress I make. Next Topic: Inner- and Abstract Classes & Interfaces.

Update #3 – (Brain) Muscle memory

As you can read in my bio (see About me), I have been trained as a Software Engineer many years ago, somewhere in the mid 1990’s. After a few years programming, I drifted away to analysis, project- and program management and several Agile roles like Release Train Engineer and Scrum Master. Meanwhile I kept involved with technology, but I did not code regularly anymore.

Now that I am coding almost every day for my Java course, I realise that also the brains have some “muscle memory”. Interested to see what I mean by this?

Read More

Update #2 – Milestone reached: OOP done

Another update. After a week with little time, I finally had the time to finish the final Object Oriented Programming chapter. Including the challenges and the exercises. Feels like a real milestone, as mastering OOP concepts is in my opinion really one of the basics of designing good programs. Now terms like Inheritance, Polymorphism, Encapsulation and Composition have little secrets for me.

Let’s go back to the course itself: the final challenge (explained in a video) was exactly the same as the final exercise. Makes the exercise a little less valuable unfortunately. Anyway, I have been creating Basic Hamburgers, Healthy burgers and Deluxe burgers. That was fun to do, but I really think that the trainer, even with the limited knowledge we students have at this time, did not get everything out of his solution. I liked mine better (maybe think all programmers think that about their code?). Let me explain.

Read More

Update #1 – Challenges versus coding exercises

OK, I am now half way Chapter Seven (of Twenty Five), learning about Object Composition and Encapsulation. Probably still basic stuff for experienced OO programmers.

Anyway, in this course there are two types of “hands on the keyboard” exercises in the chapters:

  • Challenges. These are explained in a video. Then you have to pause the video and create your code. The remainder of the video the trainer showing his implementation of the challenge
  • Coding Exercises are different. In this case you make and test your code in IntelliJ, then you copy your coded classes to the course website. The website runs your code and checks if results are as specified in the assignment

Now I have done quite a few of both, I like the Coding Exercises better than the Challenges. Why?

Read More

How and where did I start?

There are several ways to learn a programming language. If done as part of education or job, you will probably go to a professional training. With a group of (mostly) motivated participants in face2face full day training sessions for several weeks or months.

From the start it was clear this wasn’t the way to go for me. Programming in Java is not my job, so I will do it mainly in my own time, when social life permits. I really need to chew the monster in little parts. Considering this, for me two main options remained:

  1. Make my own course collecting tutorials and primers available online
  2. Follow an online commercial “Java start-to-end” course

Read More