An introduction to the fundamental concepts and practices of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. Emphasis is placed on program design and problem-solving techniques. See the official course description.
Basic Information
- Instructor: Hong Xu
- Email: xuh at rhodes dot edu
- Office: Briggs 210
- Office hours: See Canvas
- Syllabus: PDF
- Canvas: grades, submissions, and solutions
Resources
Course calendar
Tentative schedule; dates and topics may change. Slides, code, and handouts will be linked from the topic as they are posted. Project writeups appear on the projects page.
| Date | Topic | Assignments |
|---|---|---|
| Wed, Aug 19 | Intro, algos, abstraction | |
| Fri, Aug 21 | Python, math, vars, print | |
| Mon, Aug 24 | More vars, data types, input | |
| Wed, Aug 26 | More input, comments |
Project
Project 1 assigned, due Mon, Aug 31
|
| Fri, Aug 28 | If, if-else | |
| Mon, Aug 31 | and/or, if-elif-else |
Project
Project 2 assigned, due Wed, Sep 9
Due
Project 1
|
| Wed, Sep 2 | Functions w/ no args | |
| Fri, Sep 4 | Functions with args | |
| Mon, Sep 7 | Labor Day (no class) | |
| Wed, Sep 9 | Graphics 1 |
Due
Project 2
|
| Fri, Sep 11 | Lab Graphics 2 |
Project
Project 3 assigned, due Fri, Sep 18
|
| Mon, Sep 14 | Functions that return vals | |
| Wed, Sep 16 | Lab Return vals, if-else | |
| Fri, Sep 18 | While loops |
Due
Project 3
|
| Mon, Sep 21 | Gen alg for any while loop |
Project
Project 4 assigned, due Mon, Sep 28
|
| Wed, Sep 23 | Loops that count | |
| Fri, Sep 25 | For loops | |
| Mon, Sep 28 | Running totals (James Bond)/break/continue |
Due
Project 4
|
| Wed, Sep 30 | Exam Exam 1 | |
| Fri, Oct 2 | Input validation, sentinels |
Project
Project 5 assigned, due Mon, Oct 12
|
| Mon, Oct 5 | Nested loops | |
| Wed, Oct 7 | Sliding window | |
| Fri, Oct 9 | Fall break (no class) | |
| Mon, Oct 12 | Lab Loop lab |
Due
Project 5
|
| Wed, Oct 14 | Files 1-reading | |
| Fri, Oct 16 | Files 2-split, max alg | |
| Mon, Oct 19 | Lab Files 3 |
Project
Project 6 assigned, due Mon, Oct 26
|
| Wed, Oct 21 | Strings 1-intro | |
| Fri, Oct 23 | Strings 2-looping | |
| Mon, Oct 26 | Strings 3-count/filter |
Due
Project 6
|
| Wed, Oct 28 | Strings 4-more count/filter |
Project
Project 7 assigned, due Mon, Nov 9
|
| Fri, Oct 30 | Lists 1 | |
| Mon, Nov 2 | Practice/review | |
| Wed, Nov 4 | Exam Exam 2 | |
| Fri, Nov 6 | Lists 2 | |
| Mon, Nov 9 | Lists 3 - talk like a pirate |
Due
Project 7
|
| Wed, Nov 11 | Lists 4 |
Project
Project 8 assigned, due Wed, Nov 18
|
| Fri, Nov 13 | Lists 5 - angry birds | |
| Mon, Nov 16 | 2D lists 1 | |
| Wed, Nov 18 | 2D lists 2 |
Due
Project 8
|
| Fri, Nov 20 | 2D lists 3 (TTT) | |
| Mon, Nov 23 | Thanksgiving break (no class) | |
| Wed, Nov 25 | Thanksgiving break (no class) | |
| Fri, Nov 27 | Thanksgiving break (no class) | |
| Mon, Nov 30 | 2D lists 4 (TTT & graphics) | |
| Wed, Dec 2 | Binary numbers | |
| Fri, Dec 4 | Wrapup/practice |