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 |
Notes:
- 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
|