CCMP210 Introduction to Programming in Python

    HOME     Course_Description    Syllabus   Course_Policies    Assignments     Exams     Resources     Errata    

CMP 210 Syllabus - Spring 2018

Weeks Topics
1 Knowledge, machines, languages; Intro to Python: types, variables, operators and branching
2 Bindings, strings, input/output, IDEs, control flow, iteration, guess and check
3 Approximate solutions, bisection search, floats and fraction, other applications
4 Functions: Decomposition and abstraction, functions and scope, keyword arguments specifications, iteration vs recursion, Fibonacci, recursion on non-numerics, files
5 Tuples and Lists: Tuples, lists, list operations, mutation, aliasing, cloning
6 Dictionaries: functions as objects, dictionaries, , examples, Fibonacci and dictionaries, global variables
7 Debugging: programming challenges, classes of tests, bugs, debugging
8 Assertions and Exceptions: Assertions, exceptions, examples
9 -10 Classes and Inheritance: object oriented programming (OOP), class instances, methods, classes examples, hierarchies, defining your own types, building a class, visualizing a hierarchy, adding another class, using inherited methods, generators
11 Computational Complexity: program efficiency, big-O notation, complexity classes, analyzing complexity
12 Searching and Sorting Algorithms: indirection, linear search, bisection search, bogo and bubble sort, selection sort, merge sort
13 Visualization of Data: visualizing results, overlapping displays, adding documentation, changing data display, examples
14 Summary and review


  • The time line shown above serves as a very rough guide.
  • Unless otherwise noted, readings will be from the notes.
  • See the Exams page for scheduling of examinations.

Click to send me email.
Last modified: 1/19/2018