Brian Brady, a program coordinator and faculty member of mechanical engineering technology at Ferris State, champions a practical, hands-on approach to programming in his Computer Applications II course. Unlike traditional mechanical engineering courses that emphasize theory, this course focuses on programming using Python, incorporating numerical calculus concepts with libraries like NumPy and Matplotlib, and programming microcontrollers.
Designing for Practical Application and Confidence
The primary learning goals for Computer Applications II include developing a comfort level with programming, specifically Python, and the ability to understand and potentially modify code they might encounter in their engineering careers. Brian aims for students to recognize coding patterns, enabling them to troubleshoot or communicate effectively about code-related issues.
The course also seeks to build students' confidence in using coding for tasks like data analysis and automation in their senior projects. Assessments in the course use a blend of math and engineering-related problems, including tasks like plotting data and analyzing forces. These assignments are designed to show students the practical applications of coding in other engineering disciplines
Leveraging CodeGrade for Streamlined Feedback and Focused Learning
Previously, Brian Brady faced challenges in providing timely feedback to students on their coding assignments. The grading process was often delayed, hindering students' ability to learn from their mistakes and apply those learnings to subsequent assignments. Brian had used self-written autograders, but the feedback was not immediate.
CodeGrade has helped improve Brian's workflow and student learning. Students now understand precisely what is required to earn their points, and he notes that many students are now interested in maximizing their points. Regardless of whether they agree with how the autograder is set up or the specific elements Brian looks for, they are aware of the criteria. Once the initial setup is complete, “the rest of the semester rolls by!”.
CodeGrade allows for flexibility in adapting grading rules based on unexpected but valid student approaches, facilitating continuous improvement of the assessment process. Brian described this flexibility, noting that students often discover alternative valid solutions beyond his initial expectations, which allows him to adjust grading rules as needed to accommodate their expanded approaches. When students encounter issues they cannot resolve, their questions are "more focused, referencing specific errors from the autograder".