Lecture | Date | Topics | Assigned / Referenced |
Assignments Due/Comments |
0 |
F, Sep 6 |
What are algorithms? Six fundamental concepts of programming languages. Quotes Syllabus General Exhaustive Python Reference Some useful Python tutorials - may not be in python3 Built-in Functions Putting python on your computer, some instructions: -Installing Python 3 on Windows and Mac machines: see here. -Unix: depends. Lambert textbook website (with example programs): here. |
Read unofficial intro Read Chapters 1, 2 Official Tutorial: here |
|
Week
1 |
Chapters 1, 2: -Algorithms -Hardware -Introductory Python: Data Types, Expressions |
|||
1 |
M, Sep 9 |
Computer Hardware Binary Numbers Algorithms |
Problem Set 1 -problemSet1.py |
|
T, Sep 10 |
Unix Python Basics Python coding: input, processing, output, string formatting (newer way) -littleIntro.py -average3.py -funWithFormatting.py ps1 work |
|||
2 |
W, Sep 11 |
More Algorithms Python Basics: Data Types |
||
3 |
F, Sep 13 |
QUIZ Functions, writing your own |
Read Chapter 3 |
|
Week
2 |
Chapter
3: -Control Statements (if), iteration (for, while) |
|||
4 |
M, Sep 16 |
Control Statements Iteration |
Problem
Set 1 due. -problemSet1.py |
|
T, Sep 17 |
Conditionals, if for, while loops: initialization, condition, body, update |
Problem Set 2 -problemSet2.py |
||
5 |
W, Sep 18 |
Conditional Expressions Truth Table |
||
6 |
F, Sep 20 |
QUIZ Boolean Logic - wiki Random numbers |
Read 4.1-4 Re-read 3.3 |
|
Week
3 |
Chapter
4: -Strings, string operations -Number Systems |
|||
7 |
M, Sep 23 |
Print formatting -
Case Study 3.3 Investment Report Strings, string operations |
Problem
Set 2 due. -problemSet2.py |
|
T, Sep 24 |
Input/output processing
using strings String methods - writing our own versions ps3 work -guessGame.py |
Problem Set 3 -problemSet3.py |
||
8 |
W, Sep 25 |
Number Systems | ||
9 |
F, Sep 27 |
QUIZ String processing |
Read 4.4-6 |
|
Week
4 |
Chapter 4: -String Methods -Reading/Writing Text/Data Files (File I/O) |
|||
10 |
M, Sep 30 |
File I/O -mary.txt -manywords.dic |
Practice Midterm 1 |
Problem
Set 3 due. -problemSet3.py |
T, Oct
1 |
File I/O -storeItems.txt -propernames.dic -studentScores.txt (random names/numbers) |
|
||
11 |
W, Oct 2 |
managing directory
structure (os module) |
||
Thursday evening review, 7PM, then office hour following. |
Practice midterm reviewed. | |||
F, Oct 4 |
Midterm 1 | Read 5.1-3 |
||
Week
5 |
Chapter
5: -Lists, syntax/interface/functionality -List Comprehensions |
|||
12 |
M, Oct 7 |
List objects, syntax,
interface |
||
T, Oct 8 |
Midterm review: distro.png List methods - index, remove, append, pop, and more Functional versus Object-oriented Write our own functions using lists -studentScores.txt (random names/numbers) ps4 work -mary.txt |
Problem Set 4 -listMethods.py -stringMethods.py |
||
13 |
W, Oct 9 |
QUIZ List Comprehensions |
||
F, Oct 11 |
No Classes (reading day) |
Read Ch. 5 |
||
Week
6 |
Chapter 5: -Dictionaries |
|||
14 |
M, Oct 14 |
Dictionary methods (official
doc) Build and print histograms: -dictMethods.py |
||
T, Oct 15 |
More on PS4 Working with a dictionary and file IO: -pricing.py -storeItems.txt |
Problem Set 5 -propernames.dic -names.dic |
Problem
Set 4 due. -listMethods.py -stringMethods.py |
|
15 |
W, Oct 16 |
Writing our own
dictionary functionality |
||
16 |
F, Oct 18 |
QUIZ Finish our dictionary functions |
||
Week
7 |
Chapter
6: -Design with Functions -Recursion -Scope -map/filter/reduce, anonymous (lambda) functions |
|||
17 |
M, Oct 21 |
QUIZ Midterm grades Design With Functions -doctor.py Recursion |
Problem
Set 5 due. -soundexSolved.py |
|
T, Oct 22 |
Recursion practice binary search |
Practice Midterm 2 |
||
18 |
W, Oct 23 |
Tail recursion Jokes: here. |
||
19 |
F, Oct 25 |
Practice midterm reviewed. | Practice midterm reviewed. | |
Week
8 |
Chapter
7: -Graphics and Image Processing -Using Classes |
|||
M, Oct 28 |
Midterm 2 | Read 7.1, 7.2 |
||
20 |
T, Oct 29 |
Graphics Systems Turtle Graphics - full reference here -introTurtle.py -ccurve.py |
Problem Set 6 -graphicsFun.py -additional patterns |
|
21 |
W, Oct30 | Test review, midterm2Distro.png Graphics interaction: listeners, interupts ps6 work |
||
22 |
F, Nov 1 |
QUIZ Continue graphics interaction -- turtle documentation Koch snowflake |
Read 8.1-4 |
|
Week
9 |
Chapter
8: -Class Design, data members/methods -Numerical Emulation |
|||
23 |
M, Nov 4 |
Classes, data abstraction
(rectangle, six-sided die) Class design |
Problem
Set 6 due. -graphicsFun.py |
|
T, Nov 5 | More classes ps7 work: Rational class |
Problem Set 7 -rational.py -rationalTester.py -meaning here |
||
24 |
W, Nov 6 |
Numerical Emulation -
more here
Abstraction and Encapsulation -bankAccount.py -craps.py |
||
25 |
F, Nov 8 |
QUIZ |
Read 8.5 |
|
Week
10 |
Chapter
8: -More class design -Inheritance, polymorphism |
|||
26 |
M, Nov 11 | Inheritance -people.py -vector.py |
||
T, Nov 12 | Restricted savings account Set operations: intersection, union, difference, xor |
Problem
Set 7 due. -rational.py |
||
27 |
W, Nov 13 |
QUIZ review |
Read Chapter 11 on Sakai |
|
28 |
F, Nov 15 |
Complexity Analysis O-notation Variations on the computation of Fibonacci numbers -fibonacciPrograms.py Searching |
Problem Set 8 | |
Week
11 |
Chapter 11: -Complexity Analysis -Searching -Sorting |
|||
29 |
M, Nov 18 |
Guessing Game / Binary
Search Rehash Searching - linear on unsorted, linear on sorted, binary -testSearch.py |
|
|
T, Nov 19 | O(N^2) Sorts
See the lab worksheet here. Spend good time on this. |
|||
30 |
W, Nov 20 |
O(N^2) Sorts |
||
31 |
F, Nov 22 |
SUPERQUIZ More on complexity |
Read Section 17.1 at sakai (Resources) QUIZ MONDAY!!! |
|
Thanksgiving break Nov
25-29 |
||||
Week
12 |
Ch 17.1. More Sorting | |||
32 |
M, Dec 2 |
QUIZ Recursive Sorting -- mergesort, quicksort |
||
T, Dec 3 |
Recursive Sorting
implementations |
|
||
33 |
W, Dec 4 |
Radix sort: -radix.py |
Practice Final |
Problem Set 8 due. -sortingCodes.py -sortingTests.py |
F, Dec 6 |
Practice Final Reviewed. |
Practice Final Reviewed. | ||
Final Exam! Taken starting 2PM Sat Dec 7 until 2PM Friday Dec 13 |
||||