ECE177: Programming I: From C Foundations to Hardware Interaction

University of Maine ECE

Spring 2026

Instructor: Vincent Weaver
The class meeting time is Mon/Wed/Fri at 1:00pm-1:50pm.
The meeting place is Williams Hall 120.

Labs: There are four lab sections, Mon/Tues/Wed/Thurs 2pm-4:50pm in Barrows Hall 228.

Final exam: Wednesday 6 May 2026, 1:30pm, Williams Hall 120


Office hours:

Syllabus

ece177_2026s.pdf

Course Listing

Introduction to computer programming with emphasis on algorithms and an understanding of underlying hardware. Topics include syntax, variables, control structures, pointers, operators, functions, and input and output.

What We'll Do this Semester

Learning about C

Class Schedule

LabLectures
MondayWednessdayFriday
Week 1 No Lab 19 January
No Class (MLK Day)
21 January
Introduction / Hello World!
Lecture 1 Notes
23 January
C History, CPU/Memory Background
Lecture 2 Notes
Week 2 Lab 1 26 January
No Class (snow)
28 January
Lab1 Preview, Code Comments/Style, C Data Types Lecture 3 Notes
30 January
Number Systems, Type Promotion Lecture 4 Notes
Week 3 Lab 2 2 February
Operators/Statements/Functions
Logical Operators (Bitwise and Other)
4 February
Binary Addition
6 February
sizeof, pre-processor
Week 4 Lab 3? 9 February
Arrays
11 February
More Arrays
13 February
scanf()
Week 5 No Lab 16 February
No Class (President's Day)
18 February
Operator Precedence
20 February
Pointers
Week 6 Lab 4? 23 February
More Pointers
25 February
Bit Manipulation
27 February
File Scope
Week 7 Lab 5? 2 March
Variable Scope
4 March
Midterm Preview
6 March
Midterm #1
Week 8 Lab 6? 9 March
Recursion
11 March
Structs
13 March
GPIOs on Pi Pico
Spring Break 16 March
18 March
20 March
Week 9 Lab 7? 23 March
GPIO/PWM on Pi Pico
25 March
Serial Port, enums
27 March
More Pi Pico
Week 10 Lab 8? 30 March
String Manipulation
1 April
PWM, ADC on Pico
3 April
File I/O
Week 11 Lab 8 continued? 6 April
fgets/scanf
8 April
Midterm Preview
10 April
Midterm #2
Week 12 Lab 9? 13 April
malloc/calloc
15 April
unions, bitfields
17 April
state machines
Week 13 Lab 9 continued? 20 April
command line arguments
22 April
debugging
24 April
recursion
Week 14 No Lab 27 April
Senior Project Presentations
29 April
git
1 May
final exam review

Homework Assignments


Labs


Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 21 January 2026, 16:24