Introduction to Programming
Class: T/Th 11am–12:15pm, LSB 312
Lab: T 9–10:50am, LSB 312
Instructor: Henry Feild, Ph.D.
Office Hours: M/W/F 11am–12pm; Th. 10–11am in LSB 113
Schedule
Unless otherwise noted, all homework and programming assignments are due by the beginning of class on the day listed. Labs are listed on the day lab is held; all labs from a given week are due by the beginning of class on Thursday.
Date | Topic | Readings | Lab | Tuesday | Thursday |
---|---|---|---|---|---|
Jan. 27, 29 | Design and pseudo coding | Ch. 1 | Lab1 | HW1 | |
Feb. 3, 5 | Basics, Variables, and IO | Ch. 2+3 | Lab2 | PA1.1 | Quiz 1; HW2 |
Feb. 10, 12 | Branching | Ch. 4 | Quiz 2; HW3; PA1.2 | ||
Feb. 17, 19 | Loops | Ch. 5 | Lab3 | Quiz 3; HW4 PA1.3 | |
Feb. 24, 26 | — | No Class | Exam 1 | ||
Mar. 3, 5 | Functions | Ch. 6 | Lab4 | PA2.1 | Quiz 4; HW5 |
Mar. 10, 12 | Functions | Ch. 6 | Lab5 | PA2.2 | Quiz 5; HW6 |
Mar. 14–22 | No class—Spring break | ||||
Mar. 24, 26 | Classes and Structs | Ch. 7 | Lab6 | PA2.3 | Quiz 6; HW7 |
Mar. 31, Apr. 2 | 1D Arrays | Ch. 8 | Lab7 | PA3.1 | Exam 2 |
Apr. 7, 9 | Multi-dimensional arrays | Ch. 8 | Lab8 | PA3.2 | Quiz 7; HW8 |
Apr. 14, 16 | Searching and sorting | Ch. 9 | Lab9 | PA4.1 | Quiz 8; HW9 |
Apr. 21, 23 | Python | Ch. 10 | Lab10 | PA4.2 | Quiz 9; HW10 |
Apr. 28, 30 | Review | Lab11 | PA4.3 | Exam 3 | |
May 4 | No class | PA4.4 | |||
May 11 | Final Exam—10:15–12:15 in LSB 212 (note: that's a different room than usual) |
Assignments
Homeworks
Most weeks, there will be a homework due before the start of class on Thursday. This usually will cover material from the readings.
Labs
Labs are short assignments that should only take a couple hours. If you do not finish a lab during the lab period, you need to complete it before the start of Thursday's class. Labs cannot be made up. Not all labs will necessarily be graded.
- Lab1: Designing and pseudo coding
- Lab2: Interacting with users
- Lab3: Guessing game
- Lab4: Guessing game with Loops
- Lab5: Debugging/Adding functions to Lab4
- Lab6: Refactoring
- Lab7: Passing data with structs and classes
- Lab8: Storing information in lists
- Lab9: Gameboards with 2D arrays
- Lab10: Searching and sorting
- Lab11: Programming proficiency
Programming Assignments
Programming assignments are larger assignments you do out of the classroom. Each is composed of two or more milestones. For the most part, there is a milestone due every week before the start of lab on Tuesday. Not all milestones will necessarily be graded. Each page has pointers to where submissions should be uploaded and the rubrics that will be used to grade them.
(Back to top)