#1

Introduction

What is this course?

Consider it an introductory course to programming concepts.

What to expect

At the end of the course you should:

  • be comfortable using a programming language
  • be familiar with the command line
  • know how to document, test, and debug simple programs
  • know some basic data structures and algorithms
  • and more!

What not to expect

  • You won’t be an “expert” programmer (I’m not myself!)
  • We’re not going to build an app or website

Motivation

  • I want you to be confident writing programs and breaking down complex problems.
  • It’s an opportunity for me and you to relearn the basics together.
  • I love to teach 😅.

We’ll use JavaScript

Why?

  • It’s a ubiquitous language; it’s the “language” used in browsers, it’s also used to build desktop and mobile apps, backends, command line programs, and developer tools!
  • It is, for the 9th year, the most popular language (Source)
  • It’s an interpreted, dynamic language (for now, this means it’s easy to get started with it)
  • It’s the language I’m most accustomed to 🙃

What we’ll cover

What we’ll cover

  • Values and types 🔢
  • Making decisions ❔
  • Using functions ➗
  • Testing 🧪
  • Developer tools 🛠
  • Source control 💾
  • Repetition 🔁
  • Files and input/output 📁
  • Modules 📦
  • Data structures 🏛
  • Exceptions ❌
  • JavaScript quirks 🤓

(This may change)

Software we’ll use

Course format

  • Zoom meetings on Saturdays and Sundays from 12 to 12:45pm
  • First 30 minutes for teaching, remaining for questions
  • Check course website thinkdev.netlify.app for slides, recordings, exercises, etc.

(This may change; check the website for the up-to-date schedule.)

Demo: editor tour

Exercise

  1. Install the necessary software.
  2. Customise VS Code (optional).
  3. Write a JavaScript program to show your name.
  4. Make sure it works and all is clear 🙂.