Faculty: Peter Chen (Electrical Engineering and Computer Science) and Erik Hildinger (Technical Communications)
Project: Design, build and demonstrate the hardware and software of your own microprocessor-based educational toy.
The goal of this course is for students to experience the complete life cycle of a substantial, creative project in computer science and engineering.Students in this section propose, design, build, and demonstrate their own microprocessor-based educational toy.
In the first half of the course, students learn how to create digital logic circuits and use this knowledge to implement and program a working microprocessor on a field-programmable gate array.
In the second half of the course, each team of students designs, builds, and demonstrates their own educational toy.The toy is implemented as an assembly-language program running on the team’s own microprocessor.Toys use a variety of I/O devices, such as a speaker, microphone, keyboard, mouse, LCD and VGA displays, secure digital card, serial port, and FFT co-processor.
Through the project, students learn technical communication, teamwork, and problem solving.Students write and present reports throughout the semester on the motivation, design, and implementation of their educational toy.
Lectures cover topics such as number representation, digital circuits, assembly-language programming, computer architecture, I/O devices, digital audio, technical communication, teamwork, and societal, environmental, and ethical implications of computing systems.
The assignments for the course include weekly labs in the first half of the semester, the main project in the second half of the semester, and written and oral reports throughout.
Prior programming experience is required (e.g., from a high school class or ENGR 101, or by being self taught).Students should be comfortable using the following programming concepts: variables, if-then-else statements, loops, functions, and arrays.