Integrating Computer Engineering Labs with a "Sound Theme" - Chu, Pong P (Association for Engineering Education - Engineering Library Division Papers, 2016)
Integrating Computer Engineering Labs with a "Sound Theme" A recent study from the Carnegie Foundation for the Advancement of Teaching points out that one deficiency of the engineering curricula is that they mainly focus on the component skill, in which each subject is taught in isolation and without proper context, and do not adequately prepare students for the integration skill, which applies and integrates the component skill to address complex and realistic problems. It recommends a “spiral approach” to provide more effective learning experiences: “... the ideal learning trajectory is a spiral, with all components revisited at increasing levels of sophistication and interconnection.” We follow this approach and develop a continuous and coherent series of "theme based" experiments and projects for computer engineering curriculum. The goal is to connect and integrate the individual courses through a cohesive lab framework. The sound theme focuses on the generation of the sound signal. The labs progress as follows: * Software generated square-wave tone, as in Arduino platform * Hardware generated square-wave with DDFS (direct digital frequency synthesis) * Hardware noise generator * Hardware generated sinusoidal wave with 1-bit delta-sigma DAC (digital-to-analog converter) * Music synthesizer with ADSR (attack-decay-sustain-release) amplitude modulation * Sound processor with multiple DDFS’s, ADSRs, and noise generators * Sound IP (intellectual property) core integrated into an SoC (system on a chip) design The lab spread over all hardware related courses, including freshman engineering, introductory digital systems, advanced digital systems, computer organization, embedded systems, and hardware-software co-design. The complexities and abstraction levels of experiments and projects gradually grow as students progress through the curriculum. Key concepts are repeated in different courses with increasing sophistication and studied from different aspects and contexts, such as software implementation versus hardware implementation, gate-level design versus system-level integration, etc.