This is an archived version of the course. Please find the latest version of the course on the main webpage.

Chapter 1: Introduction

Introduction to Lesson 3

face Josiah Wang

Great! Hopefully you have understood everything that has been covered in the previous lesson.

This lesson will build on all previous lessons.

From this lesson onwards, we will really try to apply what you have learnt to solve problems, while trying to at the same time give you more tools to solve problems more efficiently. In the next two lessons, you will hopefully gain a more concrete, deeper and practical understanding of what I discussed in Lesson 1.

More specifically, in this lesson you will gain a more in-depth understanding of the selection “building block”, and applying it to solve various problems.

The selection block

You will also be calling functions (remember input() and print() in the guessing game?) and understanding what is happening. I will try to highlight the importance of functions in writing highly reusable and self-explanatory code.

I will continue to incrementally reinforce and deepen your understanding on topics previously covered, while introducing more advanced concepts as we go along.

There will also be practical tips on good software engineering and programming practices, as well as even more applied programming problems.

As usual, remember to engage actively in all the activities in this lesson, even if you think you already understand it. This means that you should always be questioning and thinking (and hopefully keeping yourself excited). I drop nuggets of knowledge inside the quizzes, as I believe you will remember these better that way than just with me telling you about it.

Also as usual, the lesson is chunked as focussed chapters to help you retain information better. In-between chapters are good points to take breaks, but feel free to take breaks whenever you need it.

Let us begin!