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 😅.
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
- 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)
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.)
Exercise
- Install the necessary software.
- Customise VS Code (optional).
- Write a JavaScript program to show your name.
- Make sure it works and all is clear 🙂.