This Work in Progress paper summarizes preliminary results following a connected course approach to teaching problem solving to first-year engineering students. Using computer coding as a vehicle, the goal of the course was to enhance students’ ability to solve real-world problems which fall outside of the realm of their prior experience. The course taught design-thinking, opportunity recognition, and customer discovery in collaboration with the Innovation and Entrepreneurship Institute, housed in the College of Business. Students identified a problem, empathized with actual customers through interviews, defined a specific problem that could be solved with software, brainstormed solutions, created prototype smart phone apps, and tested them on intended customers.
The course format utilized a single, large section which met in a lecture hall. Enrollment during the pilot year involved 140 students during the first semester, 240 during the second. In an effort to scale individual attention, students were placed in groups during the first week and assigned an Undergraduate TA mentor. These mentors attended class, sat with their groups, monitored the individual students’ progress, provided feedback and support. Each student group was tasked with defining a semester project, which they presented in a “pitch competition” during the final week of the course.
Class time was divided between concept-level lectures, guest talks, and team-building activities. Concepts discussed in class involved computer programming topics such as variables, data types, console I/O, functions, debugging, operators, conditional code, flow control, loops, and objects. Guest talks brought local industry representatives to give the students real-world problems and present various engineering career options that first-year students could aspire to. Students solved problems in class with their groups.
Outside of class, students interacted with an elaborate open-source tutorial platform. They worked through modules which taught them to code in JavaScript, Python, Java, and Swift. These interactive modules fed into an assignment system that enabled students to solve problems and receive feedback in real time. The students were supported by an Undergraduate TA team of 40 3rd and 4th year students who offered walk-in support during regular business hours and online interactions after hours seven days a week. The course content was largely produced by students, for students, and iterated on to maximize its effectiveness.
The typical student entering this course had little to no coding experience. By the end of the course, every team demonstrated a working desktop or mobile app which they had conceived, learned to code, designed user interfaces, and tested on potential customers. In addition, students learned college success skills such as time management, self-paced learning, seeking information outside of their experience, teamwork, and persistence.
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.