General Information

About the online content

Drs. Punch and Enbody have combined over 50 years of teaching with Python to create an introduction to programming using Python. Therefore, you will be seeing lots of videos from both in this class along with some videos from Dr. Zaabar in the course webpage and in D2L. Our goal: when a student is presented with a problem their response will be "I can write a program to do that!" Students will learn about the design, implementation and testing of programs to solve problems with an emphasis on data manipulation using real-world, practical examples.

Our Approach

  • Read a topic in the text.
  • View a set of short videos demonstrating use (each video is less than 10 minutes).
  • Try it out.
  • "Rinse and repeat."

This course is based on our text, The Practice of Computing Using Python. This online material is a supplement to the book: read a topic, view videos on the topic, try it out. (We have not attempted to copy the 700+ pages of our book into a series of web pages – a foolish endeaver – so these online materials are not a substitute for reading the book.)


Given our focus on data manipulation we cover the organization of data into data structures (strings, lists, dictionaries, tuples, sets) and ways to manipulate the data (selection, iteration, methods, etc.). You need ways to get and report data (file I/O, matplotlib), and ways to organize your programs (functions, OOP). Along the way you will learn about user-defined classes.


Programming requires practice. There are multiple ways to practice. After reading a chapter, Coding Rooms has questions assigned to practice that chapter's topics. Then D2L has pre-lab questions to prepare for the weekly lab exercise.. Then there is a weekly programming assignment. Skip the reading or the practice and you will be less prepared for the programming assignment.

Getting Started

If you don't have Python on your system, download the Anaconda Python 3.8 from here: IMPORTANT: Choose PYTHON 3.8 (more precisely Python 3.x for any x>=8)


Start with my "course mechanics" video. (Here is the exoskeleton video I mention, a robot in use, and a longer look at the practicality of an exoskeleton.)
If you haven't done so, a gentle introduction to programming can be found here : Hour of Code.

  1. Week1: Get Python; then Beginnings and Control
  2. Week2: Strings and Functions
  3. Week3: Files & Exceptions I and Algorithms
  4. Week4: Lists & Tuples and Midterm Exam
  5. Week5: More on Functions and Mutables and Dictionaries & Sets
  6. Week6: Classes Introduction and More on Classes
  7. Week7: Scope and Final Exam
  8. Extra: How to take exams (video)