Modules

1. Introduction to Programming with Python

Summary: Introduces students to the basic principles of programming in general with python as the language. Introduces variables, functions and basic control flow

2. Algorithms - Presenter: John Lee

Summary: Basic concept of algorithms with examples of sorting, graphs and greedy method. Exercise on shortest path and sorting.

3. Image Processing - Presenter: Liangzhen

Summary: Introduction to digital representation of images and some common image processing operations like up/down sizing, edge detection, embossing, etc.

4. Web Services - Presenter: Yifan

Summary: Teaches two key elements of web services: client-server model and HTTP request-response model with example of amazon and twitter. Exercise on creating a basic server-client chat service.

5. Social Networks - Ben

Summary: Introduces students to some basic principles of graph theory with social network as an example. Exercise on a social network graph construction and visualization.

6. Energy and Speed of Computing - Presenter: Lucas

Summary: Experiments on runtime/power consumption of different algorithms of sorting along with breakdown for different components of the PC.

7. Robotics - Presenter: Newton/Rahul

Summary: Lessons on how to control a robot with exercise on robot movements with Scribbler. Concept and exercises on robot control policies using external sensors.

8. Cryptography - Presenter: TBA

Summary: Introduction to basic principles of encryption/decryption with examples of caeser cipher and frequency analysis.