ENCMP 100 is a course for first-year students that teaches introductory programming using MATLAB. The course is mandatory for all engineering students at the University of Alberta, meaning it involves a very large cohort of students. In 2014, Dr. Joseph, one of the instructors, received funding from The MathWorks to develop an extracurricular programming contest.
The contest, which is optional and not for credit, tasks students with creating an original MATLAB program and an accompanying video presentation. Students may work alone or in pairs. The only technical requirement we stipulate is that staff and students can test the program on their own MATLAB installation (latest release) without requiring any toolboxes.
Contest entries are divided into two categories:
Games & Puzzles: For entries that concern games and puzzles, including solvers.
Applications: For entries that do not, in any way, concern games and puzzles.
In either category, students may elect to limit their entry to the scope of MATLAB programming as defined by the course. A limited or unlimited scope each enjoys an opportunity to demonstrate creativity and competency.
Entries are assessed, according to the University of Alberta's grading system, via a rubric with two axes:
Deliverables: Originality and quality of the code and video.
Process: Reflections on the software development process.
In each category, Excellent, Good, and Satisfactory entries receive recognitions, e.g., LinkedIn Kudos.