In the fall of 2014, the J. B. Speed School of Engineering (SSoE) at the University of Louisville (UofL) commenced an endeavor to renovate the school’s existing course(s) focused on introducing first-year students to the profession and fundamentals of engineering, resulting in a two-course sequence that all first-year SSoE students are required to take. The first component of this sequence, Engineering Methods, Tools, & Practice I (ENGR 110), is structurally analogous to the previously existing introductory course and is primarily focused on introduction to and practice with fundamental engineering skills. The second component, Engineering Methods, Tools, and Practice II (ENGR 111), is a makerspace-based course primarily focused on application and integration of the fundamentals learned in ENGR 110. Included amongst numerous skills institutionally-identified as “fundamental” was programming, hence all SSoE engineering students – regardless of discipline – are exposed to edification in the basics of programming.
Associated programming curriculum developed for this sequence was heavily influenced by a desire to reflect the varying nature of programming applications throughout industry and the engineering profession. In other words, it is virtually impossible to expose students to all of the possible programming “styles” and dozens of varying programming languages rampant in the modern work force. Accordingly, pedagogy throughout both ENGR 110 and 111 has been designed to expose students to multiple types of programming interfaces with a key focus on understanding programming fundamentals that remain essentially unchanged regardless of the methodology and/or language.
Programming instruction in ENGR 110 involves a five-week introduction to fundamental programming concepts through the Python language. This instruction utilizes the zyBooks online educational platform as an interactive e-text, while simultaneously employing team-based instruction through in-class collaborative activities. The ENGR 110 curriculum culminates in a comprehensive Vector Project, which, while involving other skills developed throughout the course, also requires students to develop useful programs in Python from realistic constraints.
ENGR 111 culminates in team-based Cornerstone projects that all students demonstrate and present at the end of the semester. Throughout the semester up to Cornerstone demonstrations, course instruction, activities, and deliverables have been designed in a dual-purpose manner, in that they augment student practice of essential engineering skills (such as introductory programming), while at the same time scaffolding progression towards Cornerstone Project completion. Scaffolded lesson plans related to programming have been designed to expose students to two primary means of programming interface and methodology. These respectively include 1) Arduino-based platforms focused on instruction of algorithm-based programming methodology, and 2) Programmable Logic Controllers (PLCs) focused on instruction in ladder-logic based programming methodology. The Cornerstone Project for current course iteration(s) involves the construction and design of a windmill system; which includes the integration of a windmill, student-built AC motors, DC motors, circuitry, and data acquisition systems. Included within the Cornerstone demonstration assessment is a component dedicated to student-programmed windmill parameter display. By means of integrated circuitry and programming executed via both the Arduinos and PLCs, Cornerstone demonstration(s) related to the programming aspect involves the inclusion of an LCD screen that displays five different, real-time windmill system parameters upon toggling of a pushbutton. The displayed parameters are (1) windmill speed (listed in revolutions per minute), (2) windmill system power output, (3) windmill blade efficiency, (4) windmill motor efficiency, and (5) windmill system efficiency.
In the Spring 2019 iteration of ENGR 111, students were provided with several quantitative and qualitative survey questions on their programming experience throughout the sequence, including perceptions related to comparison and preference of types, confidence level in basic programming, and the perceived usefulness of ENGR 110 curriculum in preparation for the ENGR 111 programming experience. Approximately two-thirds of the 443 students surveyed expressed preference of Arduino-based programming over PLC-based, while more than half of the students expressed appreciation that they were exposed to both interfaces. Expressed levels of confidence were evenly distributed across the spectrum (“extremely confident” to “not confident at all”), and the majority of surveyed students suggested that ENGR 110 pedagogy could be improved to further prepare students for programming in ENGR 111.
The full paper will be available to logged in and registered conference attendees once the conference starts on
June 22, 2020, and to all visitors after the conference ends on June 26, 2021
Are you a researcher? Would you like to cite this paper?
Visit the ASEE document repository at
for more tools and easy citations.