Becoming Bilingual: Teaching a New Language to Engineers
Hannah Zierden, , University of Maryland-College ParkEngineering students embark on a notoriously difficult path of education. They take math, physics, chemistry, biology, on top of a tough curriculum of engineering course work. One thing that is often left out of the requirements, though, is a foreign language. Students may deem themselves "left brain" thinkers, who work better in numbers than in words. However, whether or not the class falls under a language studies course number, engineering students are nearly always exposed to a new language: computer programming. Students must learn to think like a computer, to communicate exactly what they want to a machine. This involves learning a new vocabulary, or syntax, and can be challenging for many undergraduate engineering students.
As a Ph.D. student at Johns Hopkins University, I had the opportunity to lead, instruct, and design four sections of an introductory MATLAB course. Until "MATLAB Made Easy" chemical engineering undergrads at JHU had no formal programming instruction. I spent three years developing and running the course for over 200 students. Like other engineering courses, learning MATLAB involves using logic and creative problem solving skills. Unlike other engineering courses, MATLAB requires learning a new language and a new way of thinking. My biggest challenge as an instructor was connecting my students' understanding of how to solve a problem with the understanding of how to accurately tell a computer to solve a problem. Over the three terms during which I taught MATLAB Made Easy, I developed and improved my ability to bridge this gap. I learned how to motivate the students and keep them interested in the material. After the first term, I changed the format of the class to allow more individual and team work by using a flipped classroom approach. Breaking up the class period into lecture and "studio time" allowed me to have one-on-one interactions to answer questions from those who were struggling, or pose extra challenges to those who were excelling. Assessments at the beginning of every lecture helped me to understand what topics needed to be retaught, and by instituting pieces of the final project into the homework assignments, students were forced to stop procrastinating. My abilities to present engaging lectures, to encourage class participation, and to re-teach topics in different ways vastly improved.
Now, as an Assistant Professor at the University of Maryland, I am teaching sophomore chemical engineering students numerical methods, through the lens of MATLAB. Although this is my first semester of teaching the course, I am approaching it as a two-tier problem: giving the students the tools to write computer programs, and teaching them how to solve numerical methods using a computer. In our first six weeks, we are going in-depth into MATLAB programming. We started with variables, followed by MATLAB functions, conditional statements, loops, and user-defined functions. As with any course, the material gradually gets more difficult as they gain more knowledge of the material. After a MATLAB focused exam, we will switch gears to numerical methods, where the students will use their newly developed MATLAB skills to solve complex problems relevant to engineering. While this breakdown makes the course seem like a traditional engineering course, I do truly believe that educating students in computer programming requires teaching as if it were a language course, which, at the end of the day, it is!