University of Waterloo

  • Instructor/Coordinator

    Requisition ID
    Job Category
    2950 - School of Computer Science
    Job Status
    Temporary Appointment (Contract)
    Hiring Range
    $72,724 - $90,905
  • Overview

    Term: 20 months


    The Instructor/Coordinator is a key resource for undergraduate students in all Computer Science (CS) degree programs. The incumbent provides course instruction, instructional support and administrative support to a large range of CS courses. As a senior member of the Instructional Support Group (ISG), the incumbent works with the Undergraduate Studies Manager to provide leadership to the group. The Instructional Support Group manages support staff, technology and administrative aspects of running a course and provides continuity and consistency from term to term.


    Course Instruction

    • Teach undergraduate CS courses as a course instructor; typically 3 courses per year
    • Develop and maintain course content, e.g. CS on-line courses, to align with curriculum approved by the CS Undergraduate Academic Plans Committee (UAPC)
    • Participate in School of Computer Science committees as assigned, such as UAPC
    • Deliver course content using appropriate and creative teaching techniques, student assignment tools and technology to enhance learning and support student success
    • Provide consulting hours and on-line communication to enhance students’ learning experience for course-related materials
    • Design and create assignment and exam specifications, solutions and marking schemes
    • Assess student performance (e.g. assignments and exams) and determine final grades
    • Apply and enforce academic regulations



    • Provide instructional support for primarily upper year CS courses
    • Provide advice to course instructors regarding course specific practice and university/faculty policies and procedures
    • Handle and report academic discipline problems such as cheating cases
    • Arrange and conduct weekly course team meetings
    • Manage computing resources and associated permission requests
    • Maintain course accounts and web pages
    • Organize exams such as proctoring and marking
    • Manage the grade appeal/revision process
    • Provide leadership in ISG administration and training activities such as improving the process and/or materials, participating in new initiatives
    • Identify and document ISG across-course support procedures


    Team Management

    • Select/hire Instructional Apprentices (IAs)
    • Assign duties to Senior Instructional Support Assistants (SISAs), IAs and Teaching Assistants (TAs)
    • Provide day-to-day support and supervision for SISAs, IAs and TAs
    • Provide course specific and service training
    • Evaluate performance of SISAs, IAs and TAs
    • Participate in IA/TA budgeting


    Academic Service to Students

    • Consult with students regarding course administration
    • Handle/report requests for exception (e.g. illness, death in family)
    • Resolve/report midterm and final exam conflicts; arrange exam seats
    • Manage exams and scheduling for students writing exams with AccessAbility Services


    Technical Support

    • Provide support for course assignment submission/marking software application systems such as setup and instructions for instructors, TAs and students
    • Liaising with Computer Science Computing Facilities (CSCF) for hardware and software problems associated with course content and course administration
    • Identify new technology and software applications to improve CS teaching practice and instructional support process, and coordinate/participate in piloting new systems
    • Collaborate with CSCF and coordinate resources and projects for teaching related software application development, testing and maintenance


    • Master’s Degree in Computer Science, Software Engineering or related discipline
    • University level teaching experience, combined with knowledge of various hardware systems and software applications used in support of teaching. Supervisory experience
    • Demonstrated ability to teach a variety of Computer Science courses
    • Proven interpersonal skills to deal effectively with a wide range of individuals, occasionally in contentious situations
    • Demonstrated ability to work independently with minimal direction and as a team member in a busy and varied environment with deadlines, changing priorities and large volumes
    • Knowledge of current computer hardware and software applications used in an undergraduate computer science or engineering environment. Some examples include:
      • Operating Systems: Mac, Windows, Linux
      • Programming Languages: Racket, Python, C/C++
      • Applications Software: MS Office, FileMaker Pro, Adobe Acroba
    • Travel occasionally required for professional development
    • Role may involve some evening/weekend work


    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed