Licensed Professional Engineer (P.Eng.) in Ontario, or eligibility for licensure with Professional Engineers Ontario.
Prior Teaching Experience:
Successful teaching related to field at college or university level
Experience teaching within a CEAB-accredited engineering program.
Required competence, capability, skill and ability related to course content:
Professional software development experience in C or C++ in an industrial setting. Minimum of a completed Master's degree (M.A.Sc. or M.Sc.) in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or a closely related discipline, from a recognized university. Alternatively, a completed Master's degree in another field, will satisfy this requirement where the applicant also holds a bachelor's degree in engineering, computer science, or a closely related discipline from a recognized university, and has a minimum of five (5) years of professional software development experience that includes substantial work in C or C++. Applicants relying on this route must document the duration, scope, and technical content of that experience in their application. Applicants whose graduate degree (Master level) is not complete as of the application deadline will not be considered.
Required Expertise and Experience:
Expert-level proficiency in the C programming language, covering the full course content: structure of computers, software development and debugging, data representation and manipulation, functions and program modularization, complex data types, pointers and dynamic memory, strings, recursion, file I/O, and simple data structures. Proficiency must be evidenced in the application by at least one of the following: one or more semesters of university-level instruction in C; a minimum of two (2) years of professional software development in C or C++; or course or laboratory materials in C authored by the applicant and submitted with the application.
Demonstrated ability to author and grade programming assignments and team mini-projects that assess problem solving rather than syntax recall, together with the associated test cases and grading rubrics. Applicants must submit one programming assignment they authored, with its test cases and grading rubric.
Demonstrated ability to supervise a three-hour weekly programming laboratory and to coordinate multiple Graduate Teaching Assistants across parallel laboratory sections. Applicants must state the number of laboratory sections and the number of Graduate Teaching Assistants they have supervised and identify the courses concerned.
Working knowledge of a Linux and GCC toolchain, a standard development environment, version control, and automated or semi-automated grading tools. Applicants must name the specific tools they have used and the courses in which they used them.
Demonstrated capacity to uphold academic integrity in programming courses. Applicants must name the code-similarity detection tools they have used and describe the expectations they have set for the use of generative AI tools in a first-year course.
Demonstrated ability to teach a large first-year engineering class with a wide range of prior programming experience. Applicants must state the largest class enrolment they have taught as instructor of record.
Proficiency with CourseLink (D2L) or an equivalent learning management system. Applicants must name the system and the functions they have administered.
Excellent spoken and written English, with demonstrated ability to explain computational concepts clearly to students new to programming.
Availability to teach in person on the Guelph campus at the scheduled lecture and laboratory times. Applicants must confirm this availability explicitly in the cover letter.