Agile Hardware Design

Instructor: Scott Beamer (

Lecture: MWF 1:20-2:25PM

Description: Agile Hardware Design techniques take the best of software engineering methods and apply them to improve hardware design productivity. Agile approaches not only reduce the time to solution, but they can also produce solutions which are better tailored for their target problems. In this course, we cover these techniques while taking advantage of the Chisel hardware design language which brings the strengths of functional object-oriented programming to hardware design. The course will consist of engaging lectures (intermixed coding demos and guest speakers) and progressive design assignments that culminate in a small project.

Prerequisites: Experience in at least 2 of the following 3 areas: logic design (Verilog/VHDL e.g. CSE 100/L or 125/L), computer architecture (e.g. CSE 120/220), and advanced programming (functional, object oriented, etc...). Open to advanced undergrad students with instructor consent. 

Frequently Asked Questions (about enrollment)

Q: Who should take this course? A: Anyone interested in designing hardware! The agile techniques covered by this course combine the best of hardware design and software engineering. Not everyone will have deep expertise in both coming into the course, but hopefully by the end of the course they will feel comfortable with both. Hardware experts will learn how to apply software engineering techniques to make designs that are more flexible, automated, and reusable. Software experts will learn how to utilize their skills in a new domain (hardware design).

Q: Is the course going online? A: Yes, but we prefer the term remote. The course is not automated, and there are still human staff members supporting the class. It just so happens that meetings occur over Zoom instead of in-person.

Q: Can I enroll as an undergrad? A: We hope so! If you are interested, please fill out this form to notify the instructor of your interest. After the first day of class and we know there is room (need to prioritize grad students), we will help get you enrolled.

Q: Should I do anything to prepare for remote learning? A: Double check your internet meets the campus connectivity requirements.