ECE354 - Computer Systems Lab II

You know you've achieved perfection in design, 
not when you have nothing more to add,
but when you have nothing more to take away.
 - Antoine de Saint-Exupery 

Course Info


Some of the Monday & Wednesday 2:30 p.m. - 5:30 p.m. plus additional lab times (check schedule)


Lectures: Marston Hall 211

Lab: Duda Hall


ECE353 - Computer Systems Lab I


Prof. Csaba Andras Moritz, Office Hours:Tue and Thur. 2:30PM-3:30PM in Knowles 309J

Recommended Text:

Marilyn Wolf: Computers as Components 3rd edition, Morgan Kauffman Publishers, 2012.

Course web page: (course information and lab instructions).



Arsid Ferizi (

Peter Blum(


Grad TA:

Sudarshan Srinivasan (

Nithesh Kurella (


TA Office Hours:



10:00AM to 12:00PM

Sudarshan Srinivasan


11:15 AM to 2:15 AM

Arsid Ferizi

2:30PM to 7:30PM

Peter Blum


2:30 PM to 6:30 PM

Nithesh Kurella


11:00 AM to 1:15 PM

Arsid Ferizi

4:30 PM to 7:00PM

Sudarshan Srinivasan



Course Description

With the advent of low cost embedded devices, ubiquitous computing will soon be a reality. This course teaches design of embedded systems and other key areas in networked computing, sensors and signal processing. Students are presented with the theory behind real time operating systems, web servers, sensors, DSP and get a chance to apply these concepts in the labs. The labs focus on modern embedded systems design with rapid prototyping using FPGA's, soft core processors, real time operating systems and some sophisticated development tools. Students thus get hands on experience in designing real applications and get exposed to the current methods in embedded systems design. It is expected that students have familiarity with basic digital design and Verilog, and have some knowledge of C/C++ before taking this course. The course is taught using the new Altera DE 2 FPGA boards. Students work with NIOS 2 , a 32 bit microcontroller from Altera using Quartus2, SOPC IDE and NIOS2 IDE software. 


Students working on Lab 2, using the DE 2 board from Altera.


Course Objectives:

1. To understand the principles of Embedded Systems and the tradeoffs which guide the hardware-software partitioning of any design.

2. To develop embedded software, including reusing existing components.

3. To prototype, debug and demonstrate embedded systems combining sensors, interfaces, computation, memory and networking.

4. To understand how embedded systems play an increasing role in society.

5. To work in teams of 2 and larger teams of teams to solve design problems.

6. To evaluate and document laboratory processes and products.


Student Feedback on the course:

It is consistently one of the highest rated courses in the department.


UMass Calendar: