Introduction to Programming
Class: M/W/F 1–1:50pm, LSB 312
Lab: T/Th 10–11:50am, LSB 312
Instructor: Henry Feild, Ph.D.
Office Hours: M/W 2–4pm; Th. 2–3pm in LSB 113.
Schedule
Unless otherwise noted, all homework and programming assignments are due by midnight on the the day listed.
Date | Readings | Lab | Mon. | Wed. | Fri. |
---|---|---|---|---|---|
Sep. 2, 4 | Basics, Design and pseudo coding | HW 1 | |||
Sep. 7, 9, 11 | Variables, and IO | Lab 1 | No class— Labor Day |
Quiz 1; HW 2 |
PA1.1 |
Sep. 14, 16, 18 | Branching | Lab 2 | Quiz 2 | HW 3 | PA1.2 |
Sep. 21, 23, 25 | Loops | Lab 3 | Quiz 3 | HW 4 | PA1.3 |
Sep. 28, 30, Oct. 1 |
File IO | Lab 4 | Quiz 4 | HW 5 | PA2.1 |
Oct. 5, 7, 9 | Functions | Lab 5 | Quiz 5 | HW 6 | Exam 1 |
Oct. 12, 14, 16 | Functions | Lab 6 |
No class— Columbus Day |
HW 7 |
PA2.2 |
Oct. 19, 21, 23 | Structs and Classes | Lab 7 | Quiz 6 | HW 8 | PA2.3 |
Oct. 26, 28, 30 | 1D Arrays | Lab 8 | Quiz 7 | HW 9 | |
Nov. 2, 4, 6 | Multi-dimensional arrays | Lab 9 | Quiz 8 | HW 10 | Exam 2 |
Nov. 9, 11, 13 | Searching and sorting | Lab 10 | HW 11 | PA3.1 | |
Nov. 16, 18, 20 | Pointers and dynamic memory | Lab 11 | Quiz 9 | HW 12 | PA3.2 |
Nov. 23, 25, 27 | No class—Thanksgiving break | ||||
Nov. 30, Dec. 2, 4 |
Python | Lab 12 | Quiz 10 | PA3.3 | |
Dec. 7, 9, 11 | Review | Lab 13 | PA3.4 | ||
Dec. 16 | Final Exam: 8–10am in LSB 312 |
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.
- Lab 1: Designing and pseudo coding
- Lab 2: Interacting with users
- Lab 3: Guessing game
- Lab 4: Guessing game with Loops
- Lab 5: File IO
- Lab 6: Debugging/Adding functions to Lab 4
- Lab 7: Refactoring
- Lab 8: Passing data with structs and classes
- Lab 9: Storing information in lists
- Lab 10: Gameboards with 2D arrays
- Lab 11: Sorting
- Lab 12: Python
- Lab 13: 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)Resources
- How not to ask a question
- Setting up a C++ compiler
- Setting up Sublime Text
- The command line interface
- Style guidelines