Engineering Computation Lab is a year-long one
credit/term sequence taught to approximately 700 Engineering freshmen at
It combines in-class collaborative lab work in small sections, with
on-line homework with automated feedback and grading. Typically 75% of
the contact time is spent in hands-on active learning.
Distinctive elements include: a) A course platform of an interactive
interpreted system with extensive built-in technical functionality
(Maple Computer Algebra System) rather than a "generic" compiled
language. This means that students can quickly get useful results,
rather than going through the learning curve with "hello world" tasks.
Over time, the course makes a transition from "calculator-like"
sequences in a GUI, to scripting and then procedures. b) Emphasis on
computing for technical/scientific problems: simulation and
computational exploration using numerical computation and visualization,
symbolic computation for calculus-or algebra-based model-derivation.
c) Sensible use of technical computing is the primary instructional
objective. The course uses the science and mathematics the students
have already encountered in other courses. We thus have time to talk
about computing concepts (data structures, control structures,
procedures and types) without a heavy science/math pedagogical agenda.
This introduces the terminology and conceptual framework that should
allow better transfer of this knowledge to other programming languages
Standard educational IT (CMS, mailing lists, wiki) is used
Distinctive IT use includes laboratories equipped for support of
collaborative group work and small-scale coaching sessions, and use of
an on-line quiz/exam system (Maple TA) that delivers staff-authored
individually-generated versions of problems to students, with immediate
feedback. These elements have allowed us to run the course and its
trailer sections using a small number of senior staff with peer tutor
undergraduate assistants and graduate student TAs. While not occupying
the primary focus, the non-floating point features of computer algebra
systems (exact solution and calculus operations, extended precision
numerics, list processing, and formula-based
visualization) are used as part of the every day coursework for
exploring and solving technical problems.