ELEC 327: Digital Systems Laboratory (Spring 2025)

Syllabus

Course Staff

Instructor: Prof. Caleb Kemere

Lab Assistants

Office Hours


Logistics

Lecture Times

Official Class will be held MW 2-3:15 PM O’Connor Bldg for Eng and Sci Room 130 (Lectures and Lab). Typically Mondays will be a lecture and Wednesdays will be a working lab period. Note! Students are expected to spend significant out-of-class time (~10 hours per week) working on lab assignments!

Course Communication

We will use Canvas Discussions for communication. (2025 Canvas Link )


Course Materials

Required Textbooks and Supplies

Course websites

  1. The primary location assignments and lecture notes (and other resources) is the course website – http://elec327.github.io
  2. We use Canvas (https://canvas.rice.edu/courses/76035) for announcements and for communication. If you have specific questions about course content or assignments, please post them on Canvas. As a corollary, you may find it useful to check for answers as questions arise.
  3. We additionally use Canvas for assignment submission and for posting rubrics for peer-grading.

Course Details

Course Description: One of the most critical aspects of modern computer systems involves interfacing with the world. This course will focus on how power-efficient user-facing systems are built.

Objective: Students should learn the fundamentals of embedded system programming and feel competent to design, build, and manufacture their own embedded devices. Furthermore, students should understand how embedded systems interface with external peripheral devices. Students should understand how application-specific blocks enable modern commercial devices. Finally, students should understand how to design and build their own embedded systems including printed-circuit board design and assembly.

Outcome: Students completing the course should be able to:

  1. Identify the key blocks in an embedded system
  2. Understand key aspects of embedded systems algorithms (interrupts, modules)
  3. Understand standard serial communication protocols
  4. Utilize software tools to program embedded devices
  5. Utilize software tools to design printed circuit boards
  6. Design, assemble, and program their own embedded devices
  7. Exhibit creativity in designing, building, and programming a real-time sensor processing system

Prerequisites: ELEC220, ELEC326, COMP140. Also useful are 240 and 241.

Grading: Grades will be based on:

Late assignments may be accepted (with penalty), except for printed circuit board orders, where late submissions may not be accepted. Students wishing to submit late assignments should contact the instructor prior to the due date.

Honor code: You are encouraged to work with other students in ELEC327 on the labs. Each student should turn in their own lab writeup. I would like you to write your own code and (especially) comments for the labs. If you share code or design elements with other students in the class you MUST cite this in your returned assignments. The midterm is expected to be done individually. The final project will be done in groups with 1 set of materials turned in for the entire group.


Prototyping Lab Cleanliness:

Prototypihg tools are in the lab room FE&P 122B Lab Access Keypad Code: .— —-. ….- —..#

Historically, the lab space has not been maintained in a neat and orderly manner. Starting in 2025, we will implement spot inspections and class-wide grade deductions to try to ensure that a high quality working and learning environment is maintained.

Waste: In the process of learning how to assemble (i.e., solder) surface mount devices, there has been not-insignificant waste, where things end up on the floor. While we would prefer to avoid artificially limiting students supplies, we will do so if waste is not contained.