Assessment of Programming Prerequisites and Interventions for Student Success in an Aerospace Curriculum (2020)

Abstract Complex aerospace systems increasingly rely on integrated software to function, resulting in an industry demand for software savvy aerospace engineering graduates. To respond to this demand, a significant number of MATLAB programming assignments have been incorporated across the aerospace engineering curriculum at a large United States research-oriented university. Lab and homework assignments require students to write a significant amount of MATLAB code starting the first semester of sophomore year in the statics and computational methods courses. MATLAB programming assignments continue throughout second semester sophomore year in dynamics, and become increasingly difficult in the junior year courses. The focus on programming culminates in a year-long senior design course where students must design, build, and validate an aerospace system, with at least 30% of the design work being software centric. Anecdotal evidence from discussions with students and faculty suggest that MATLAB proficiency may be a critical barrier to success in the sophomore and junior years, possibly resulting in student attrition from the program. To prepare for the computer programming demands in the curriculum, students are required to take a computer science course their freshmen year. However, between transfer and non-transfer students, a wide variety of computer science courses focusing on a number of programming languages are approved for this pre-requisite. This, combined with the vast range of student programming experiences in high school results in an incoming sophomore class with a wide spectrum of baseline MATLAB ability. To improve student performance in the MATLAB heavy curriculum, this year XX department offered all incoming sophomores online MATLAB tutorials that could be taken at their leisure over the summer. Tutorial participation was optional, free to students, took roughly 40 hours to complete, and students could reference these tutorials through November. To determine how to improve foundational programming skills in students in this department, this paper will examine: 1) Does the specific freshmen programming course a student takes have a high impact on their performance in sophomore programming assignments? 2) Does the grade in a student’s freshmen programming course have a high impact on their performance in sophomore programming assignments? 3) Is there a difference in sophomore programming assignment performance based off of under-represented minority, transfer, and/or socioeconomic status? 4) How is tutorial completion impacted by student grades in freshmen programming courses, overall GPA at the end of freshmen year, and under-represented minority status? In statistical analysis examining the impact of tutorials on student performance in sophomore programming assignments, care will be taken to account for a student’s baseline programming ability. A student’s baseline programming ability will be determined by their performance in freshmen computing courses and survey data indicating a student’s computing experiences outside of college courses. By performing this assessment, XX department strives to understand if these MATLAB tutorials were successful in improving student baseline coding ability, and if further intervention, different pre-requisite requirements, or possibly an entirely new freshman computing course is necessary.