Introduction to Programming
Class: M/W/F 11–11:50am, LSB 312
Lab: T/Th 2–3:50pm, LSB 312
Instructor: Henry Feild, Ph.D.
Office Hours: M/T/R/F 10–10:50am; W 2–2:50pm; in LSB 113.
Tutoring Hours: In the Tutoring Center (LIB), ask for...
- Susan M/W 12–12:30pm; T/Th. 10–11am
- Connor T/Th. 7–8pm; Su. 5–7pm
Schedule
Unless otherwise noted, all homeworks are due by midnight on the the day listed. Programming assignments are due by midnight of the Sunday following the day listed.
Date | zyBook | Feild | Lab | Mon. | Wed. | Fri. |
---|---|---|---|---|---|---|
Jan. 25, 27, 29 | Ch. 1 | Basics, Design and pseudo coding | Lab 1 | HW 1 | ||
Feb. 1, 3, 5 | Ch. 2 | Variables, and IO | Working on PA1 | Quiz 1 | HW 2 | PA1.1 |
Feb. 8, 10, 12 | Ch. 3 | Branching | Lab 2 | Quiz 2 | HW 3 | PA1.2 |
Feb. 15, 17, 19 | Ch. 4 | Loops | Lab 3 |
No class— Presidents Day |
HW 4 | PA1.3 |
Feb. 22, 24, 26 |
Ch. 5, Ch. 6 |
Arrays | Lab 4 | Quiz 4 | HW 5 | PA2.1 |
Feb. 29, Mar. 2, 4 |
Lab 5 | Quiz 5 | HW 6 | Exam 1 | ||
Mar. 7, 9, 11 | Ch. 7 | Functions | Lab 6 | HW 7 |
PA2.2 | |
Mar. 14, 16, 18 | No class—Spring break | |||||
Mar. 21, 23, 25 | Lab: work on PA2.3 | Quiz 6 | HW 8 | PA2.3 | ||
Mar. 28, 30, Apr. 1 |
Ch. 8, Ch. 9 |
Structs and Classes | Lab 8 | Quiz 7 | HW 9 | |
Apr. 4, 6, 8 | Ch. 10 | File IO | Lab 9 | Quiz 8 | HW 10 | Exam 2 |
Apr. 11, 13, 15 | Searching and sorting | Work on PA3 | HW 11 | PA3.1 | ||
Apr. 18, 20, 22 | Ch. 11 | Pointers and dynamic memory | Lab 11 | No class—Patriots day | HW 12 | PA3.2 |
Apr. 25, 27, 29 | Python | Lab 12 | Quiz 9 | PA3.3 | ||
May 2, 4, 6 | Review | Lab 13 | ||||
May 9 | Final Exam: 10:15am–12:15pm in LSB 312 |
Assignments
Homeworks
Most weeks, there will be a homework due Wednesday night at 11:59pm. This usually will cover material from the readings. Not all homeworks will necessarily be graded. For homeworks that are graded, you may come to office hours within two weeks of the grades being released on Canvas with corrections to get full points back on problems that were reasonably attempted in the original submission. You must be able to explain what you did wrong as well as the nature of your corrections. All homeworks are posted on Canvas a week before the due date.
Labs
Labs are short assignments that should only take a couple hours and are done in pairs. Unless otherwise stated, if you and your partner do not finish a lab during the lab period, you need to complete it before the end of the week (Sunday at 11:59pm). 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: Electronic Rolodex
- Lab 6: Gameboards with 2D arrays
- Lab 8: Refactoring
- Lab 9: Structs and classes
- Lab 11: Sorting
Programming Assignments
Programming assignments are larger assignments you do out of the classroom on your own. Each is composed of two or more milestones. For the most part, there is a milestone due every Sunday night at 11:59pm. Not all milestones will necessarily be graded. Each page linked to below 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