This is an inverted class, to be given simultaneously at Marquette University, Milwaukee, Xavier Institute of Engineering, Mumbai, and Xavier Institute of Computer Applications, Ahmedabad. I'd be interested to collaborate with other institutions.
Syllabus
This is an inverted classroom experience. Students will listen to the presentation (about 10 minutes) before each class and then use their classroom time to learn by doing in groups of two equally strong students. There will be individual and group quizzes (taking up about 5 minutes each) for each class.
For the complete syllabus, click here.
Modules
Module 1: Getting started with Python. We learn how to install Python, how to use IDLE, and how to write very simple programs.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- Group Quiz [click here]
- Hello World Python sript[click here]
Module 2: Variables, types, and expressions.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- Group Quiz [click here]
- Individual Quiz [click here]
Laboratory 1
- Laboratory 1 [click here]
Module 3: Conditional Execution.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Module 4: For Loops.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Laboratory 2
- Laboratory II [click here]
Module 5: For Loops.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Module 6: While Loops.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Laboratory 3
- Laboratory III [click here]
Module 7: Functions.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Module 8: More on Functions.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Laboratory 4
- Laboratory IV [click here]
Module 9: Lists.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Module 10: Strings.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Laboratory V
- Laboratory V [click here]
Module 11: More on String processing.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- Homework Project [click here]
Module 12: Operating with Files.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- NOAA abq10001.dat[click here]
- NOAA abq10002.dat[click here]
- NOAA abq10003.dat[click here]
- alice.txt [click here]
- alice.py [click here]
- iris.csv [click here]
- iris_processor.py [click here]
Laboratory VI
- The Hangman game. [click here]
- Vocabulary List. [click here]
- Lawler's Vocabulary List. [click here]
Module 13: String Formatting.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- Homework Project [click here]
- avocado.csv [click here]
Module 14: More on string and file processing.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
Laboratory 7
- Processing "Alice in Wonderland" and other files. [click here]
- The countries.txt file [click here]
- The numbers.txt file [click here]
Module 15: The random module.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- imp.py [click here]
- type_b.py [click here]
Module 16: Functions with default arguments and anonymous functions.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- def_arg_ex.py [click here]
- function_examples.py [click here]
Laboratory 8
- Classic Substitution Cipher. [click here]
- Use this file for encryption: "anglosoviet.txt" [click here]
- This is the result of encoding and decoding: [click here]
Module 17: Dictionaries.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- alice.txt [click here]
- counting.py [click here]
- HIV.txt [click here]
- mobydick.txt [click here]
Module 18: More on Dictionaries.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- binomial.py [click here]
Laboratory 9
- Breaking Classic Ciphers. [click here]
- cipher.txt. [click here]
- mobydick.txt. [click here]
Module 19: Tuples, Sets, and Frozen Sets.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Activities [click here]
- tuples.py [click here]
Module 20: List comprehension.
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Activities [click here]
Laboratory 10
- Web scrubbing. [click here]
Module 21: More on list comprehension.
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Activities [click here]
- comprehension.py [click here]
Module 22: Exception Handling
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Selftest (py) [click here]
- Activities [click here]
- proust.txt [click here]
Module 23: Object Oriented Programming in Python: Classes 1
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Selftest (py) [click here]
- Activities [click here]
- complex.py [click here]
Module 24: Object Oriented Programming in Python: Classes 2
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Selftest (py) [click here]
- Activities [click here]
- cards.py [click here]
- cards.py [click here]
Module 25: Object Oriented Programming in Python: Classes 3
This module contains a self-test that you should take after listening to the lecture.
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Selftest (py) [click here]
- Activities [click here]
- address.py [click here]
- client.py [click here]
Module 26: Object Oriented Programming in Python: Classes 4
- Presentation (mpg) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Selftest (pdf) [click here]
- Selftest (py) [click here]
- Activities [click here]