Class Description

Practical Python Programming teaches the fundamentals of Python by solving a series of problems that incrementally introduce features of the language. "Learning by doing" is emphasized. Good programming practices and algorithm design will be important. The class will include hands-on programming in a variety of application areas. Major general-purpose Python modules including numeric and graphing modules will be explored in the context of simple problems to solve. A solid grasp of basic college level math is a required. There will be lots of programming assignments.


Location: Live at the time above via Zoom. See BBLearn for class for Zoom id.
Coding: *Lots* of Python plus some UNIX skills.

Covid-19 Adjustments
  • This class will be taught live entirely on Zoom. ZOOM ID in bblearn for class.
  • All zoom lectures will be recorded and appear in the videos section in the class BBLearn page. There may be as much as a week delay in posting a class video.
  • Except for videos and grades in BBLearn, all else will appear here on the class web page.
  • All email from students should have the subject: CS212.
  • Since almost no one showed up for office hours last semester I will try office hours BY APPOINTMENT ONLY. Please send email. Appointments will be in 20 minute slots. Multiple people can arrange to see me at the same time if you wish. We will see how this works out.
  • Since we can't have in class exams, all exams will be take home. I will assume I am working with adults in extraordinary times and that students will not share hints or answers.
Recommended Textbook: Python Programming in Context, 3rd ed.
ISBN: 978-1284175554, Jones and Bartlett Learning
Recommended Textbook: The Quick Python Book, 3rd ed.
ISBN: 978-1617294037, Manning Publications

Estimated Syllabus

This syllabus is an estimate of what we might cover this semester. This is the first time this class has been taught.


of that

Topics/Links Assignments Comments
1 Jan 11 Introduction to the class, what we plan on doing, how the class works, where to find stuff. How is a compiler organized. assignment No Class Monday
2 Jan 18    
3 Jan 25    
4 Feb 1    
5 Feb 8
6 Feb 15    
7 Feb 22    
8 Mar 1    
9 Mar 8      
10 Mar 15   SPRING BREAK
11 Mar 22    
12 Mar 29      
13 Apr 5    
14 Apr 12      
15 Apr 19      
16 Apr 26    
17 May 3      
18 May 10   FINALS WEEK (NO FINAL FOR US) Final: None

References and Resources



  • Homework submission page. This our homework submission page. This is not to be confused with any other submission tools used in the CS department. This is How Testing Works
  • Submitting homework without a browser
  • Computer Science IT FAQ including information on logging onto class machines.
  • The CS212 student machine is called That is not a typo. We are just reusing the machine from CS475. If you are off campus you can access this machine only by first "coming on campus" with VPN. For details see CS IT FAQ The compile command I run on that machine is:
     scl enable
    devtoolset-7 "make" 
    to get the same compiler and options.

    Policies and Processes