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 there is a set of questions assigned to practice for each chapter.

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

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. Week0: Get Python
  2. Week1: Beginnings
  3. Week2: Control
  4. Week3: Strings
  5. Week4: Functions
  6. Week5: Files & Exceptions I
  7. Week6: Lists & Tuples
  8. Week7: Algorithms
  9. Week8: Dictionaries & Sets
  10. Week9: More on Functions and Mutables
  11. Week10: Program Development
  12. Week11: Classes Introduction
  13. Week12: Scope
  14. Week13: More on Classes
  15. Week14: More Files & Exceptions
  16. Extra: How to take exams (video)