## (Homework is Due before the Next Class:)

Date Lessons
In Class Work turned in to Canvas
Lab Homework

CodeLab Homework

08/28
01A: Welcome and Course Overview
(slides)
01a: Ex. 2 Treasure Hunt
Syllabus
Ch. 1 Intro
Lab 0:Getting Started
Codelab 1: Review Exercises #1 and #2
08/30 01B: Getting Started with Arduino
(slides)
01B: Ex. 2 Changing the Delay
01B: Ex. 3 Errors and Debugging and cout
Ch. 2 Arduino C
Lab 01: C++ and Arduino

no Codelab hw
09/04      Labor Day - no class

09/06 02A: Ex. 1 Arithmetic
02A: Ex. 2: SOS
Ch. 3 Data Types
Study for Quiz 1
Codelab 1
Tutorial Exercises:  Do all 16 problems
09/11 Quiz 1
02B: Variables and Serial I/O
02B: Ex. 1 Blink LED circuit
02B: Ex. 2 Four-LED Binary Counter
Lab 3: LEDs and Resistors

no Codelab HW
09/13
03A: Decisions and Digital I/O
(slides)
03A Ex. 1 Changing the Blink Rate
03A Ex. 2 Counting Button Presses
Ch. 4 Decision Making (first half pgs. 69-82)
Lab 4: Coding Basics

Codelab 2:
Review Exercises:  Do All
Tutorial Exercises:  Do All in Arithmetic, Simple Conditions and Conditional (skip Strings)
09/18 03B: Electricity, Components and Analog I/O
(slides)
03B: Ex. 1 Read the 3.3v Power Rail
03B: Ex. 2 Using Analog with LEDs
Lab 5: Resistor Networks
no Codelab HW
09/20 04A: Operators, Characters,Strings, Switch Statement
(slides)
04A: Ex 1 Initials

Ch. 6 Functions
Study for Quiz 2

Lab 6: Strings and Ohm's Law
Codelab 3:
Review Exercises: Do All
Tutorial Exercises:  Do All
09/25 Quiz 2
04B: Functions and Temperature Sensors
(slides)
04B: Ex. 1 Functions
04B: Ex. 2 Organizing Temperature Code

Lab 7: Functions, Constant and Static Variables
no Codelab HW
09/27 05A Ex 1: Multiple Alternatives

Ch. 4 Decision Making (2nd half) pgs. 82-94
Lab 8: Using Sensor Data
Codelab 4: All Review Exercises
10/02
6A: Counting Loops and Bar Charts
(slides)
06A Ex 1: Counting Numbers
06A Ex 2: Bar Chart
Midterm 1 prep Questions that you develop
06A Ex 3: Graphing the PWM value

Codelab 4: All Tutorial Exercises
10/04
06B: Indefinite Loops
Midterm 1 Prep
(slides)
Midterm 1 Review Supplement
Ch. 5 Program Loops

Midterm 1 Practice Test
Study for Midterm 1
No Codelab HW
10/09
07A: Midterm 1
06B Cont.: Do-While Loops and Sensor Calibration
(slides)
06B Ex 1: Sensor Calibration

Lab 9:  Indefinite Loops
No Codelab HW
10/11
06B Cont: Design & Develop a Loop
(slides)
07B Ex 1: Reference Parameters
07B Ex 2: Validate User Input
Ch. 7 Storage Classes and Scope
06B Ex 2: Develop a Loop Program
Lab 10: Strings and Overloaded Functions  Codelab 6: Do All Review and Tutorial Exercises
10/16
08A: Random Numbers and Designing with Functions
(slides)
08A Ex 1: Getting Random
08A Ex 2: Electronic Dice demo

Lab 11: Decimal to Binary
no Codelab HW
10/18
08A: Designing with Functions Cont.
09A: Arrays and Vectors
(slides)
08A Ex 3: Function Stubs
08A Ex 4: Finish dice_complete

Lab 12: Music Player Codelab 7: HW Do All Review and Tutorial Exercises
10/23
09A: Arrays and Vectors Cont.
(slides)

09A Ex 1: Exploring Arrays

09A Ex 2:Vectors
Submit any missing assignments since Midterm 1
No Codelab HW
10/25
09B Array Algorithms, Vectors, Sorting
(slides)
09B Ex 1&2: Averaging and Difference
09B Ex 3: Vector Max

Lab 13: Music Player II
Codelab 9: Do All Review and Tutorial Exercises
10/30
Quiz 3

09B Ex 4: Insertion Sort

Lab 14:Arrays

No Codelab HW
11/01
10A Cont.: 10A Ex 1: Bubble Sort

Ch. 8 Intro to Pointers Lab 15: Selection Sort, Pointers, Break,Continue
Codelab 8: Do All Review and Tutorial Exercises
11/06
10A Cont.: Pointers
11B: Arduino Libraries slides
11B: Arduino Libraries Notes

10A Ex 2: Blink using Pointers
11B Ex 2: RGB_LED library

Ch. 12: Arduino Libraries Lab 16: Making a Library
No Codelab HW
11/08
12A: Classes and Objects Slides
12A: Classes and Objects Notes
12A: Ex 1: Class Student
12A: Ex 1: Starter Code

Ch. 14 Object Oriented Programming

Lab 17:Class Car

Codelab 10: Do All Review and Tutorial Exercises
11/13
12B: Ex 1: DC Motors
Midterm 2 Test Questions that you develop Lab 18: Servo Motors

No Codelab HW
11/15
12B: Motors & Classes Cont. Slides
12B: Ex 2: ClassColor
Midterm 2 Review Supplements
Study for Midterm 2
Finish Midterm 2 Review Supplements
No Codelab HW
11/20
Midterm 2

Lab 19: Elevator
(due 11/26 midnight)

11/22
Students worked on Lab 19

Lab 20: Proposal 1st Draft

11/27
13A: Recursion and Recursive Algorithms
(slides)
Project Proposal Ideas

Lab 21: Project Proposal

11/29
13A Continued: Recursion and Recursive Algorithms
(slides)
13B: Arduino C/C++ vs. Standard C++
(slides)
13A: Ex 1: Recursive Exponentiation
13A: Ex  2: Practicing Recursion
13B: Ex 2: Convert RecursiveWash to Standard C++

Lab 22: Project Prototype
12/04
14A: Classes
(slides)
14B: Final Exam Prep
15A: Start Practice Final
14A: Ex 1: Passing Objects

Lab 23: Final Project
12/06
15B: Final Project Presentations
15A: Practice Final
15A Practice Final

12/11
Final Exam 1-4pm Rm. 829
Files

### Schedule Notes

1. This schedule is subject to change.
2. Readings are from the course textbook unless otherwise indicated. Numbers refer to the chapter and section as shown in the textbook contents. If you are not familiar with common book-reference abbreviations, "pp" means pages and "ch" means chapter. Readings are due before class.
3. Assignments are due by the start of class on the date listed unless otherwise stated in Canvas.