Teaching Digital Hardware Design via Test Driven Development

TitleTeaching Digital Hardware Design via Test Driven Development
Faculty/College/UnitApplied Science
StatusCompleted
Duration1 Year
Initiation04/01/2019
Completion03/31/2020
Project Summary

We propose to redesign CPEN 311 (Digital Systems Design), a third-year required ECE course with ~450/year enrolment, to follow modern, test-driven design methodologies as currently used in the industry.

At most universities, software and hardware design courses (including, currently, CPEN 311) are taught with focus on writing code. This is, however, at odds with modern industry practice, which emphasizes a tests-first approach where automatic testsuites are built before any actual design code is written. Published experience at top-tier firms like Microsoft and IBM indicates that tests-first methodologies are extremely effective in reducing defect rates and improving delivery timelines.

However, test-driven approaches require up-front investment in infrastructure: tests must run continuously, and must automatically identify code changes that caused any regressions. In a teaching context, there must be “golden” tests for each assignment, and students must be appraised in real-time how well their designs work and how good their own tests are.

Most of the requested TLEF funds will support the development of this infrastructure.

Funding Details
Year 1: Project YearYear 1
Year 1: Funding Year2019/2020
Year 1: Project TypeSmall TLEF
Year 1: Principal InvestigatorMieszko Lis
Year 1: Funded Amount50,000
Year 1: Team Members

Mieszko Lis, Assistant Professor, Electrical and Computer Engineering, Faculty of Applied Science
Amin Ghasemazar, PhD Student