Introduction to Programming
Section 01 Class: T/Th 11am–12:15pm, LSB 312
Section 02 Class: T/Th 3:30–4:45pm, LSB 312
Lab: T/Th 8–9:50am, LSB 312
Instructor: Henry Feild, Ph.D.
Office Hours: T/Th 10--10:50am, 2--3:30 in LSB 113.
Tutoring Hours: In the Tutoring Center (LIB), ask for...
- Brendan: M 12:30–1:30pm; T 11am–2pm; Th 10–11am
- Connor: M 10am–12pm; W 11am–12pm; F 10am–12pm
Schedule
Unless otherwise noted, all programming assignments and homeworks are due by 7:59am on the day listed.
Date | zyBook | Feild Guide | Lab | Tuesday | Thursday | |
---|---|---|---|---|---|---|
Sep. 8 | Ch. 1 | Basics, Design and pseudo coding | Getting set up | No class | ||
Sep. 13, 15 | Ch. 2 | Variables, and IO | Lab 1 | Quiz 1 | ||
Sep. 20, 22 | Ch. 3 | Branching | Lab 2 |
Quiz 2 PA1.1 |
HW 1 | |
Sep. 27, 29 | Ch. 4 | Loops | Lab 3 | PA1.2 | ||
Oct. 4, 6 |
Ch. 5, Ch. 6 |
Arrays | Lab 4 |
Quiz 4 PA1.3 |
HW 2 | |
Oct. 11, 13 | Lab 5 |
Quiz 5 PA2.1 |
Exam 1 | |||
Oct. 18, 20 | Ch. 7 | Functions | Lab 6 | HW 3 | ||
Oct. 25, 27 | Lab 7 |
Quiz 6 PA2.2 |
||||
Nov. 1, 3 |
Ch. 8, Ch. 9 |
Structs and classes | Lab 8 |
Quiz 7 |
HW 4 | |
Nov. 8, 10 | Ch. 10 | File IO | Lab 9 |
Quiz 8 PA2.3 |
Exam 2 | |
Nov. 15, 17 | Searching and sorting | Lab 10 | PA3.1 | HW 5 | ||
Nov. 22, 24 | No class—Thanksgiving break | |||||
Nov. 29 Dec. 1 |
Ch. 11 | Pointers and dynamic memory | Lab 11 | PA3.2 | ||
Dec. 6, 8 | Python | Lab 12 |
Quiz 9 PA3.3 |
HW 6 | ||
Dec. 13 | Review | Lab 13 | No class | |||
Dec. 15 | Final Exam Section 02 at 10:15am in LSB 312 | |||||
Dec. 20 | Final Exam Section 01 at 10:15am in LSB 312 |
Assignments
Homeworks
A homework will be due roughly every two weeks. These will cover material from the readings and lecture. 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 two weeks 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 7: Functions
- Lab 8: Refactoring
- Lab 9: Structs and classes
- Lab 10: File IO
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 (a quicker and free alternative is to use Atom, a very similar text editor)
- Settings up ConEmu (a console for Windows)
- The command line interface
- Style guidelines