Course Overview
Week 1
Session 1: What's a program? What is Python?
This week we take a high level view of programming. We also introduce Python, what it is, where it comes from, and why we're using it.
- Introduce the concepts of sequencing, acting on conditional tests, looping, and I/O used as applied to everyday activities
- Introduce the concepts of Input/Output and discuss local I/O with the console, files and remote I/O via the Internet with API's
Activity 1: What's a program?
Activity 2: Setup Dev Environment for Python 3 and Write Code
Session 2: Sequencing, Variables and Types, Console I/O
In this session we use variables and to gather information of different types form the console. We also introduce the way in with sequencing of instructions creates the flow of the program.
Activity 1: Review Week 1 Session 1
Activity 2: Write a program to introduce yourself
Activity 3: Write a Program that works with numbers
Week 2
This week we will learn how to program with logic in order to form conditional tests. We'll expand on logic to create loops which will run a set of instructions repeatedly until a logical condition is met. We'll introduce our adventure game and learn how to code challenges that will help to play the game.
For our adventure game we need to code Challenges. Challenges are presented to the Player by a Creature in an Episode. The Challenge is a question and if the Player answers it correctly he or she can advance to the next Episode. Along the way the Player can get Treasures and put them into a Knapsack. If the Player makes it through all Episodes they win the game.
In the Activities this week, we write programs that can be run as Challenges inside the game.
Session 1: Logic: Conditional Tests
In the first session for this week, we introduce the comparison and logcial operators which can be used to make decisions inside a program.
We'll learn to create expressions with logical operators that can be tested with "if" to determine whether to proceed with further instructions.
We'll use Comparison and Logical operators the "for" loop and the "while" loop to run instructions multiple times. The operators will help the code decide when to start and stop a loop.
Activity 1: Review Week 1
Activity 2: Introduce How to Make Decisions inside a program
Activity 3: Practice writing code that uses variables with different types
Activity 4: Practice writing code that tests for values of different types
Activity 5: Write a program that asks for a name and then tests to see if it's your name
Activity 6: Introduce the Adventure Game and add a Challenge
Activity 7: Write a Challenge for the game
Session 2: Looping and Functions
In this session we'll extend the use of conditionals to create loops. Loops allow us to execute a set of instructions multiple times. The combination of sequencing and looping is what give us the ability to automate work. We'll also create functions. Functions help to organize code. We can create a loop that executes a functions multiple times.
Activity 1: Review Week 2 Session 1
Activity 2: Demo how to create a guessing game Challenge that uses Looping
Activity 3: Make a Flow chart
Activity 4: Write code for loops
Activity 5: Python Data Structures
Activity 6: Functions
Activity 7: Write a Challenge for the Game that uses Looping and Functions
Week 3
This week use Python to get information about the computer. We'll also learn how read files, process data and write data out to files. These activities help to understand computer I/O and CPU usage. The ability to save data will allow us to create data driven applications.
Session 1: File I/O
Activity 1: Review Week 2
Activity 2: Demostrate where file I/O is used in the Game
Activity 3: What is I/O? Input/Output
Activity 4: What is "os"? Operating System
Activity 5: Create a Challenge for the Game that uses a file
Session 2: Read and Process Data from the Internet
We can access data from websites on the internet using their Application Programming Interface (API). Data is commonly in a JSON format. This format is similar to the Dictionary data structure in Python and we can access it in a similar way.
Activity 1: Read Data from the Internet
Activity 2: Process data from the Internet
Activity 3: Create a Challenge for the Game that uses data from the internet
Week 4
Session 1: Classes and Objects
In this session we will learn how to encapsulate data and functions in class definitions. Once we have a class defined we can instantiate it by calling its constructor. Once we have an instance of a class we can reference it with a variable.
Activity 1: Review Week 3
Activity 2: Demostrate where Objects and Libraries are used in the Game
Activity 3: Intro to Classes and Objects
Activity 4: Code a class
Activity 5: Code for instantiating an Object from a Class
Session 2: Modules, Libraries and Work on Final Project
In this session learn how to import code from external files working with modules and libraries. We'll review some of the libraries that we've used in previous sessions and talk about what other libraries are available. We'll practice installing libraries with pip and then importing and using in a program.