Textual Programming, Python – Introduction

This introductory course is meant to lay a strong foundation to a long series of courses based on Python. Python is a fun and easy to learn, yet powerful programming language with a very broad range of usage. Python is today used in embedded systems, artificial intelligence, web development, financial modeling, visualization, game development, geocoding, desktop applications, …… and the list goes on.


As a first step towards learning Python, we will use a game based learning approach, with the intention to learn to:

  • Use loops, variables, and flow control statements
  • Identify right data structures
  • Effectively reuse code with functions and modules
  • Apply graphics and animation to the games
  • Handle keyboard and mouse input
  • Implement simple AI in the games
  • Debug common errors

This foundation will be used to move on to advanced concepts and applications (in upcoming semesters) such as:

  • Object oriented programming
  • Using advanced libraries and tools such as matplotlib, NumPy, Pygal, SciPy, PyGame etc
  • Manipulate data to generate interactive visualizations
  • Implement web applications
  • Implement Internet of Things
  • Connect to microcontrollers such as Arduino, Micro:bit etc., to enable interactions with hardware such as LEDs, sensors, motors etc.
  • Create complex robots from scratch
  • Implement simple artificial intelligence techniques

It is our hope that upon completion of this series, the young minds seek real world problems through a compassionate lens and conceptualize appropriate technological solutions to solve the problem.

In addition to the in-person classes, we also offer optional free weekly online help sessions.

NOTE: A Windows, Mac or Linux laptop computer is required for this class. Chromebooks CANNOT be used.