Computers help us to solve many problems using software applications. But applications alone cannot work, applications need a foundation — the operating system. We will together study how we can leverage the Unix environment to solve our computing tasks. You will be the creator and the Unix your workbench.

After mastering how to use the Unix workbench we will now study a more productive tool to program the computers — Python.

Concepts covered in this class:

The Unix workbench:
- Unix and command line basics
- working with Unix
- Bash programming
- Git and Github & cloud computing

Introduction to interactive computing using Python:
- Statements, expressions, variables
- Functions, logic, conditionals
- Event-driven programming, local/global variables
- Canvas, drawing, timers
- Lists, keyboard input, the basics of modeling motion
- Mouse input, list methods, dictionaries
- Classes and object-oriented programming
- Basic game physics, sprites
- Sets and animation