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
Simple Arithmetic, Hello World Revisited
Lecture 5 Notes
4 February
Lab2 Preview, printf
Lecture 6 Notes
6 February
for/while loops
Operators/Statements/Functions
Lecture 7 Notes
Week 4 Makeup Lab 9 February
if/else Statements
Logical Boolean Operators
Lecture 8 Notes
11 February
Switch/Case Statements, getchar
Lecture 9 Notes
13 February
Bitwise Logic Operators
Lecture 10 Notes
Week 5 Lab 3 16 February
No Class (President's Day)
18 February
Arrays
Lecture 11 Notes
20 February
Strings
Lecture 12 Notes
Week 6 Lab 4 23 February
No Class (snow again)
25 February
Lab#4 Preview, HW#3 Notes
Lecture 13 Notes
27 February
Pointers
scanf()
Week 7 Lab 5 2 March
Binary Addition
sizeof, pre-processor
4 March
Midterm Preview
6 March
Midterm #1
Week 8 Lab 6 9 March
File Scope
Variable Scope
Operator Precedence
More Pointers
Bit Manipulation
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

All homeworks will be done via CodeLab. You should have received an e-mail with the information you need to log into the CodeLab site.

Labs


Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 19 February 2026, 16:24