For the past several years, a novel introductory C programming course has been offered to electrical engineering students. This course included partner-based programming assignments emphasizing computer-controlled hardware-driven projects and a final multi-week group project utilizing Raspberry Pi (RPi) computers. Mixed research methods were used to evaluate the impact of this course on student beliefs about programming, the electrical engineering profession, and their own abilities. Preliminary findings suggested that students in the novel course had greater self-efficacy and identity gains, particularly regarding their qualifications as engineers, as compared to students in a traditional C programming course.
This paper will detail a new introductory programming course, which was specifically developed and delivered to pre-service teachers and motivated by the need for a larger STEM+C workforce. Although similar to previous efforts, this course purposely takes into account the limited programming experience with the Python Programming language of the pre-service teachers. The course has two 50-minute lectures with up to 30 students that introduce Python structure, syntax and keywords, standard and custom modules, best programming practices, etc. PowerPoint lectures are interspersed with active learning assignments. In the first class, for example, students download the Python compiler to their laptops and run a simple program in IDLE. In subsequent classes they run and slightly modify codes that demonstrate the concepts just presented in the lecture.
There is also one three-hour laboratory every week, with a maximum of 10 students per section. Each lab begins with a brief presentation of the engineering topics that are relevant for that week. For example, during the first lab, students are introduced to the RPi, watch a video of an RPi being assembled, and then assemble their own RPi. Each student is issued an RPi kit that they can take with them to use at home. Subsequent lectures discuss circuit concepts, sensor operation, communication protocols, etc. Except for the first lab, all labs are performed in groups and follow the PDL approach. During the final third of the semester, students work in somewhat larger groups on a final project. Students “take on the role” of the engineer and solicit STEM-based learning activities from in-service teachers. The students then design an RPi-based project to realize the learning activity, develop the software and hardware needed for the activity, then build, test, and evaluate their project.
In this paper, the details of this novel course are described, and the results from the first offering of the course are presented, which include survey summaries of the opinions, observations, and impressions of the pre-service teachers. Survey results from students from the College of Education who have not taken the course regarding the possible value and likelihood of taking a PDL programming course, along with potential obstacles, and what knowledge, skills, and abilities they expect they would gain from the course will also be summarized.
Are you a researcher? Would you like to cite this paper?
Visit the ASEE document repository at
for more tools and easy citations.