Abstract

In the wake of the so-called fourth industrial revolution, computer programming has become a foundational competency across engineering disciplines. Yet engineering students often resist the notion that computer programming is a skill relevant to their future profession. Here are presented two activities aimed at supporting the early development of engineering students’ attitudes and abilities regarding programming in a first-year engineering course. Both activities offer students insights into the way programs are constructed, which have been identified as a source of confusion that may negatively affect acceptance. In the first activity, a structured, language-independent way to approach programming problems through guided questions was introduced, which has previously been used successfully in introductory computer science courses. The team hypothesized that guiding students through a structured reflection on how they construct programs for their class assignments might help reveal an understandable structure to them. Results showed that students in the intervention group scored nearly a full letter grade higher on the unit’s final programming assessment than those in the control condition. The second activity aimed to help students recognize how their experience with MATLAB might help them interpret code in other programming languages. In the intervention group, students were asked to review and provide comments for code written in a variety of programming languages. A qualitative analysis of their reflections examined what skills students reported they used and, specifically, how prior MATLAB experience may have aided their ability to read and comment on the unfamiliar code. Overall, the ability to understand and recognize syntactic constructs was an essential skill in making sense of code written in unfamiliar programming languages. Syntactic constructs, lexical elements, and patterns were all recognized as essential landmarks used by students interpreting code they did not write, especially in new languages. Developing an understanding of the static structure and dynamic flow required of programs was also an essential skill which helped the students. Together, the results from the first activity and the insights gained from the second activity suggest that guided questions to build skills in reading code may help mitigate confusion about program construction, thereby better preparing engineering students for computing-intensive careers.

Highlights

  • T HE FUNDAMENTAL shift toward automation of industrial processes, placing computer technology at the heart of engineering disciplines, has been termed a “fourth industrial revolution” [1]

  • No differences were observed on unit conversion, F (1, 140) = 1.52, — p = 0.22, and η2—p = 0.01 or on the algorithm worksheet, F(1, 140) = 4.49, —p = 0.036, and η2—p = 0.03. These results indicate that performance differences were driven primarily by higher scores on the programming task for those in the intervention condition

  • Activity 1 demonstrated that guided questioning during preprogramming algorithm development improves programming skills

Read more

Summary

INTRODUCTION

T HE FUNDAMENTAL shift toward automation of industrial processes, placing computer technology at the heart of engineering disciplines, has been termed a “fourth industrial revolution” [1]. Activity 1: Students practice a high-level, structured problem-solving process, used in the introductory CS course at the team’s institution, that steers them away from exclusive focus on programming language details Students were asked to interpret the code through comments and reflect on their experience doing so This activity was intended to foster engineering students’ perception of beginning programming skills in one language as translatable to other languages, increasing their sense of the usefulness of learning programming as engineers. Qualitative data from the results of Activity 2 give insights into how students navigate the structure of a new programming language Together, these contributions provide guidance to engineering instructors for how to allay confusion, bolster skills, and cultivate programming as a facet of students’ engineering identity

BACKGROUND
INSTRUCTIONAL CONTEXT
OVERALL STUDY DESIGN
Demographic Context
Methods
Procedure
Results
Discussion
ACTIVITY 2
Analysis
Positionality Statement
CONCLUSION
Findings
Accessed
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call