Required Qualifications:
The successful candidate will have:
• Successfully completed this course, or one similar
• Successfully completed a course in Data Structures and Algorithms with grade of at least B
• Successfully completed a course in Algorithms and Complexity analysis with grade of at least B
• Excellent interpersonal, communication, and organizational skills
• An enthusiastic and professional attitude towards teaching
• Demonstrated competence in software development in at least one of C/C++, Java, or Python
• Demonstrated competence in revision control using Git
Preferred Qualifications:
Candidates meeting the required qualifications will be evaluated on the following criteria:
• Subject matter expertise, including Object-Oriented (OO) design methodologies, software modelling in UML or other formal/informal techniques
• Interpersonal, communication, and organizational skills
• Teaching experience
• Teaching effectiveness, especially with online systems for delivery of course content and assessments as well as for grading and providing feedback on student work.
• Software development experience in industry or contributions to open source projects