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. 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.)

Topics

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.

Practice

Programming requires practice. There are multiple ways to practice. Our text has over 300 exercises. On Mimir we have a few exercises for each chapter -- labeled as "Chapter Exercises".

Getting Started

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

Organization

Start with our "welcome" video. (Here is the exoskeleton video I mention.)
If you haven't done so, a gentle introduction to programming can be found here : Hour of Code.

  1. Week1: Lab00; 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)