June 26, 2011
June 26, 2011
June 29, 2011
22.98.1 - 22.98.17
A Semester-Long Student-Driven Computational Project Engineering computing is a topic that many biomedical engineering departments include in their curriculum. Yet, the philosophical underpinnings and pedagogical goals of a computing course are often nebulous. Should the course lean toward an advanced math course (e.g. Linear Algebra, Splines, Numerical Methods, Non-‐linear dynamics), with programming as a means to an end? Or should the course be designed to learn a specific computer language, such as Matlab, as an example of an engineering tool? Alternatively, the course could be structured to teach algorithmic thought processes. No one way is best and any computing course should address all three to some extent. The lecture-‐homework-‐test progression may be excellent at addressing the applied math objective, while short programming assignments may address the learning of syntax. Here we present a semester-‐long project that aims to address algorithmic thinking. The semester-‐long project presented below is incorporated into half-‐credit, Junior-‐level biomedical engineering course. Students are exposed to more advanced applied math in lectures, and learn the syntax of matlab through short programming assignments. Although writing short scripts can allow students to practice simple algorithm development, the semester-‐long project provides an opportunity to focus on deeper and more complex algorithmic thinking. As a team-‐based project could too easily allow one person to perform the high-‐level algorithmic development and farm out the writing of functions to other team members, each student completes their own project. There are three guiding principles behind the projects: 1) To learn to program beyond the most basic level a student must write a complex section of code that requires planning, iteration, encapsulation and documentation, 2) The project must demonstrate that the student can move from “Idea to Code” (a phrase that is mentioned in class at least once a week) and 3) Programming a calculator or excel only covers the simple aspects of algorithmic thinking. The project is broken into 7 assignments. First, an initial one-‐page abstract outlines at least three biomedically relevant projects. A meeting with the instructor guides each student toward one idea in particular. Second, a five-‐minute class presentation gives an overview of the background and general data structures that will be used. Third, a written description of a parametric study is submitted along with an explanation of a single summary graphic to display the results. Fourth, a meeting with the instructor is held, at which time the student must show a draft of their code, a demonstration of basic functionality, and a plan for completing the project. All code must contain matrix-‐vector operations, loops, functions, conditional logic, data output and graphical output. Fifth, a one page technical abstract is submitted and included in a class booklet. Sixth, a public 10 minute presentation is delivered with a focus on results and conclusions. Seventh an electronic submission consists of all code, written and presented work as well as a one page users manual. A full conference proceeding will include outcomes assessment, student and faculty comments, suggested improvements and adaptations and ABET assessment measures.
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2011 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015