Teaching Assistant Postings - FALL 2024
Fall 2024 - click here to apply!
Application Opens: Monday, June 24, 2024, at 9am
Application Closes: Monday, July 8, 2024, at 9am
Appointment start date: Wednesday, September 4, 2024
Appointment end date: Friday, December 27, 2024
All courses are scheduled for in-person delivery and TAs are expected to be available for in person student contact for the duration of the term.
Please refer to the 'Course Specific Requirements' below before applying.
Click here to apply!
Minimum Requirements:
General Requirements:
- Must submit current Curriculum Vitae and an “unofficial transcript” at time of applications through our online TA application system.
- Must have sufficient written and one-to-one oral communications skills in order to support students and instructors throughout the semester whether in-person or by email.
- Must have sufficient time management and organizational skills for courses with labs.
Education Requirements:
- Teachings Assistants must have an undergraduate degree in computer science or an equivalent post-secondary degree from a recognized institution or demonstrated industry experience specific to the course(s) applied for. Applicants must have sufficient knowledge of the individual course requirements in order to provide optimum TA support for students and course instructors.
- Or a senior undergraduate student who has a better than average overall CGPA and can demonstrate competence through courses taken. Applicants must have sufficient knowledge of the individual course requirements in order to provide optimum TA support for students and course instructors.
Teaching will be conducted in person. Application for and acceptance of TA contracts acknowledges that you will be available in-person for all duties related to and for the entire duration of the appointment.
Please ensure that you review the course calendar, course outline, and course schedule for details about each course.
Click here to see TA resources.
Course Specific Requirements:
Burnaby Campus
Subject | Course # | Title | TA Minimum Requirements |
CMPT | 105W | Soc. Issues & Cmns. Strategies | These courses are Technical English Writing courses and TAs will be expected to do the following: • Mark tests and written assignments for grammar, punctuation, sentences structure, etc • Assess essays for style, word choice, evidence and logic, audience expectation, as well as voice and tone • Assess paraphrasing, summarizing and quotations • Assist students to think critically, as well as apply rhetorical patterns to the appropriate situation • Understand the fundamental of informative and persuasive communication • Attend course meetings and respond to emails and messages in a timely manner • Attend lectures and tutorials (when requested by the instructor) • Communicate with the instructor with regards to student issues, etc. allowing the instructor to respond in a timely manner • Enter grades into Canvas (Speedgrader and Gradebook) • Hold office hours (when requested by the instructor) and communicate with students about their assignments and grades • Monitor online discussion forums • Meet assignment and exam marking deadlines. Student assignments are accumulative, meaning they require feedback in order to write/complete their next assignment. For example, students are required to write an outline, draft and a final for their essay assignment • Utilize time management skills as marking deadlines for the major assignments and exams can be close • Use assigned marking/grading rubrics and provide sufficient written feedback • Proctor tests and final exam (when requested by instructor) and report any suspected academic integrity issues to the course instructor • Familiar with the course materials and assignments and have experience with Canvas |
CMPT | 120 | Intro.Cmpt.Sci/Programming I | • Sufficient knowledge of basic Python programming • Good communication skills; be able to assist students, particularly those with no programming experience |
CMPT | 125 | Intro.Cmpt.Sci/Programming II | • Availability for in person instruction of all Lab sections for CMPT 125 • Strong knowledge of C and C++ • Experience with programming in C and C++ on a LINUX system using VScode • Experience with Linux or Unix operating systems • Knowledge of standard data structures and ADTs • Ability to write automated scripts for marking programming assignments |
CMPT | 201 | Systems Programming | • Strong knowledge in C • Extensive experience in low-level systems programming on Linux (file system interface, threads, processes, sockets, memory allocation, etc.) • Extensive experience in scripting on Linux (shell, python, etc.) • Extensive experience in build systems such as make and cmake • Extensive experience in debugging with debuggers such as GDB • Experience in Linux system administration |
CMPT | 210 | Probability and Computing | • Knowledge of Discrete Mathematics including Combinatorics (such as MACM 201 or equivalent) • Should have completed an undergraduate probability course (such as CMPT 210/STAT 270 or equivalent). Undergraduate statistics/ML course (such as STAT 271/CMPT 726 or equivalent) is a plus. • Basic knowledge of tail inequalities like Chernoff, Hoeffding • Familiarity with basic algorithms, should completed a design and analysis of algorithms course (such as CMPT 405/ 705 or equivalent) |
CMPT | 225 | Data Structures/Programming | • Experience with programming in C++, including object oriented programming • Know all ADTs and data structures mentioned in the Course Outline, including AVL trees and B-Trees • Should have completed a course in analysis of algorithms (such as CMPT 705, 307, or equivalent) • Comfortable with the Linux command line |
CMPT | 263 | Intro to Human-Centered Comp. | • Preference will be given to students who have demonstrated good standing in User Interface Design, Graphics, HCI, Visualization, Vision, and Multimedia (such as CMPT 363, 863, 985, or equivalent course at the undergraduate or graduate HCI level) • Hands-on experience in applying principles of human-computer interaction, user-centered design, usability engineering, and/or interaction design • Must have a research and/industry portfolio that demonstrates user interface designs and/or results from user studies • Must have familiarity with modern UI prototyping tools, such as Balsamiq and Figma |
CMPT | 272 | Web Development I | • Web development: knowledge of HTML, CSS, Javascript, Typescript • Experience with the Angular or React framework and using web APIs • Basic knowledge of HTTP. Experience with some server side development will be an asset |
CMPT | 276 | Intro Software Engineering | • Great programming skills • Practical and theoretical knowledge of different stages of software development, namely, requirements, design, construction, testing, refactoring, debugging, etc • Java, JUnit, Git, Maven • Good communication skills, proactive, and eager to assist students |
CMPT | 295 | Intro. to Computer Systems | • Should have completed introductory courses to Computer Systems and Operating Systems (such as CMPT 295, 300, or equivalent) • Previous experience with RISC-V, MIPS or any CISC (x86-64) • Proficiency and thorough knowledge of Linux or Unix operating systems • Proficiency and thorough knowledge of computer architecture • Well versed in Computer Systems and assembly languages (RISC and CISC) • Software development experience in C |
CMPT | 307 | Data Structures | • Experience with introduction and mathematical preliminaries, asymptotic notation, models of computation and basic probability theory and mathematical maturity • Experience with priority queues: Heaps • Experience with randomized algorithms, dynamic programming, etc. good familiarity with data structures, graphs, and graph algorithms (shortest paths, connected components, minimum spanning trees) solid background in algorithm design and analysis • Knowledge of classical algorithms and standard algorithmic paradigms such as greedy heuristics, dynamic programming and linear programming |
CMPT | 310 | Intro Artificial Intelligence | • Experience in conducting research • Experience with at least two Artificial Intelligence areas of research and AI topics at an introductory level such as; Logic, Search, Planning, constraint satisfaction, Natural Language, Learning, reasoning under uncertainty, etc. |
CMPT | 318 | Special Topics Cmpt. Science | • Cyber intelligence and threat analysis • Situational awareness, anomaly detection, scoring methods • Discrete Markov process modelling • Time series analysis and forecasting with Hidden Markov models • Familiarity with statistical inference and machine learning • R language and software environment for statistical computing • Programming in Python with applications in stochastic modelling • Cybersecurity risk assessment and management • Foundations of blockchain technology |
CMPT | 340 | Biomedical Computing | • Analog and digital signals (digitization, sampling, quantization) • Linear systems (impulse response, convolution, Fourier transform, time/space-frequency, duality) • Time- and frequency-domain signal filtering • Multi-variate statistics (histogram, correlation, covariance matrix, PCA) • Vector/matrix algebra (vectors, matrices, eigen-decomposition) • 1D, 2D, 3D, point clouds, and graphs/networks • Terminology of biosignals/bioimages (ECG, MRI, microscopy) • Probabilities (probability distributions, Bayes’ theorem • Classification (thresholding, ROC, AUC, ANN/CNN, Fisher LDA,) • MATLAB |
CMPT | 353 | Computational Data Science | • Working knowledge of Python data manipulation tools: NumPy, Pandas • Basic concepts of inferential statistics and machine learning • Strong experience with Spark; experience analyzing with scientific data sets |
CMPT | 354 | Database Systems I | • Knowledge of the relational model and the entity/relationship (E/R) model • Knowledge of relational algebra and calculus • Working knowledge and good programming skills with SQL • Experience with SQL Lite and Jupyter Notebook is an asset • Knowledge of relational design theory, in particular normalization, BCNF, 3NF • Knowledge of other topics in the course outline, such as transactions, constraints and triggers, indexes, database applications development |
CMPT | 354 | Database Systems I | • Knowledge of the relational model and the entity/relationship (E/R) model • Knowledge of relational algebra and calculus • Working knowledge and good programming skills with SQL • Experience with MS SQL Server is an asset • Knowledge of relational design theory, in particular normalization • Knowledge of other topics in the course outline, such as transactions, constraints and triggers, indexes, database applications development |
CMPT | 361 | Intro to Visual Computing | • Background in image processing and computer vision • Experience in MATLAB OR • Experience with OpenGL and WebGL programming • Completed Computer Graphics courses before |
CMPT | 362 | Mobile App Programming | • Strong programming experience with Android, Kotlin is preferred but JAVA is ok • Confident with design architectures (such as MVVM) • Experienced with OOD |
CMPT | 363 | User Interface Dsgn | • Preference will be given to students who have demonstrated good standing in User Interface Design, Graphics, HCI, Visualization, Vision, and Multimedia (such as CMPT 363, 888, 985, o requivalent course at the undergraduate or graduate HCI level) • Hands-on experience in applying principles of human-computer interaction, user-centered design, usability engineering, and/or interaction design • Must have a research and/industry portfolio that demonstrates user interface designs and/ or results from user studies • Must have familiarity with modern UI prototyping tools, such as Balsamiq and Figma |
CMPT | 365 | Multimedia Systems | • Good understanding of multimedia systems design, especially knowledge of some multimedia library in both C++ and in Java (examples include open file dialog, create canvas, plot pixels/lines, read and display audio/image files) • Working knowledge of multimedia hardware and software • Good understanding of representing, compressing, processing and transmitting multimedia data such as soud, image and video (examples include FLAC, JPEG, MPEG, H.264/265) |
CMPT | 371 | Data Communications/Networking | • Be familiar with network layers and protocols, in particular, TCP/IP protocol stack • Have experience with socket programming, Python • Have good communication skills and the ability to clearly explain networking concepts and the functioning of networks and protocols to students in response to student questions • Promptly communicate with the instructor with regards to issues with student work including common misunderstandings of course material and subspected academic dishonesty • Meet assignment marking deadlines. Student assignments and quizzes are scaffolded, feedback from one activity is often needed to understand later activities or be ready for assessment activities. • Use assigned marking/grading rubrics and provide sufficient written feedback • Hold office hours and monitor online discussion forums as assigned by the instructor |
CMPT | 376W | Prof. Resp. & Tech. Writing | This course is a Technical English Writing course covering ethics, writing and oral communication across computing research, startup and industrial software development contexts. TAs will be expected to do the following: • Mark tests and written assignments for grammar, punctuation, sentence structure, etc • Mark oral presentations and videos • Assess papers for style, word choice, evidence and logic, audience expectation, as well as voice and tone • Assess paraphrasing, summarizing and quotations • Assist students to think critically, as well as apply rhetorical patterns to the appropriate situation • Understand the fundamental of informative and persuasive communication • Attend course meetings and respond to emails and messages in a timely manner • Attend lectures and tutorials (when requested by the instructor) • Communicate with the instructor with regards to student issues, etc. allowing the instructor to respond in a timely manner • Enter grades into Canvas and/or TurnItIn (Speedgrader and Gradebook) • Hold office hours (when requested by the instructor) and communicate with students about their assignments and grades • Monitor online discussion forums • Meet assignment marking deadlines • Utilize time management skills as marking deadlines for the major assignments and exams are close • Use assigned marking/grading rubrics and provide sufficient written feedback • Proctor tests and final exam (when requested by instructor) and Report any suspected academic integrity issues to the course instructor *********KEEP READING******** REQUIREMENTS: • Excellent command of spoken and written English • Experience in writing and critiquing research papers RECOMMENDED: • Experience in industry or a degree in the humanities or business • Familiarity with the course materials and Canvas |
CMPT | 383 | Programming Langs. | • Good understanding of a variety of programming languages • Experience with Haskell and functional programming • Some familiarity with operational semantics • Some familiarity with type theory • Some familiarity with lambda calculus • Good programming skills • Good communication skills; happy to assist students |
CMPT | 405 | Cmpt. Algorithms | • Solid background in algorithm design and analysis • Good knowledge of classical algorithms and standard algorithmic paradigms such as greedy, divided and conquer, dynamic programming, network flow, linear programming • Good knowledge of NP-completeness, polynomial-time reductions, approximation and randomized algorithms • Should have completed a Design and Analysis of Computing Algorithms course (such as CMPT 405, 705 or equivalent) |
CMPT | 409 | Spec.Topics/Theoretical Cmpt | • Knowledge of machine learning, should have completed a graduate machine learning course (such as CMPT 726 or equivalent) • Knowledge of numerical (continuous) optimization (should have completed at least an undergraduate course) • Strong knowledge of linear algebra and multivariable calculus (such as MATH 240 and MATH 251) |
CMPT | 410 | Machine Learning | • Strong background in linear algebra and probability • Familiarity with NumPy and PyTorch • Should have completed a machine learning course (such as 726 or equivalent) • Stable internet connection for remote instruction of tutorials |
CMPT | 412 | Computer Vision | • Strong background in linear algebra, data structures, coding, and basic computer vision and image processing concepts (e.g., convolution, image filtering, stereo, segmentation, and recognition) • Knowledge of Python and Matlab programming • Transforms, BRDF, object recognition, optical flow, etc |
CMPT | 413 | Computational Linguistics | • Strong background in machine learning and deep learning • Knowledgeable about NLP concepts and models (word embeddings, language models, seq2seq models, parsing). Preferably have completed a NLP course (such as CMPT 413/713 or equivalent) • Proficiency with Python and Pytorch programming. Experience with Huggingface transformers library is a plus. • Experience with modern NLP datasets like GLUE, WMT, SQUaD, CoNLL • Experience with large language models like BERT, GPT2, GPT3 • Good communication skills, proactive, and eager to assist students |
CMPT | 417 | Intelligent Systems | • Must have knowledge in python programming • Should have completed a course in algorithm analysis or computational complexity |
CMPT | 431 | Distributed Systems | • Should have completed a course in operating systems (such as CMPT 300 ) and distributed systems and/or parallel computing (such as CMPT 431) or equivalents • Must be proficient with at least two of the following: C++11 threads, POSIX threads, CilkPlus, OpenMP, MPI • Must be proficient with modern C++ programming (threads, processes, atomics, ...) and Linux problem solving (command line, packages, configuration, ...) • Experience with scalable parallel software development is highly desirable • Experience with Distributed Computing Systems (such as CMPT 479 Prof. Vora’s offering or equivalent) is highly desirable |
CMPT | 441 | Computational Biology | • Experience with algorithmic aspects of bioinformatics, particularly genome and protein sequence processing • Working knowledge of Dynamic Programming, Evolutionary Algorithms, Simulated Annealing, Hidden Markov Models, and structural bioinformatics • Experience with algorithm design, analysis and refinement • Previous experience with CMPT 441/711 preferred (either as student or TA) • Solid teaching and interpersonal skills, excellent communication skills in English, excellent rapport with students • Responsible, showing initiative, responsive, and punctual • Excellent time management, meeting deadlines • Providing detailed constructive feedback on students work • Must be enthusiastic about assisting a group of students with diverse academic backgrounds • Must have a stable internet connection, web camera and microphone • Must be familiar with Zoom, Blackboard Ultra Collaborate, and SFU Canvas |
CMPT | 450 | Computer Architecture | • Must have deep understanding of computer architecture concepts including speculative execution, memory hierarchy, parallel architectures, and the impact of technology on architecture • Solid working experience with computer architecture simulators (gem5 experience is strongly preferred) • Substantial programming experience in modern C++ programming and python • Must be proficient and has thorough knowledge of the Linux OS • Experience with scalable software development is highly desirable |
CMPT | 454 | Database Systems II | • Knowledge of database theory and SQL • Familiar with query optimization and transaction processing in relational databases |
CMPT | 459 | Special Topics Database Systs | • Should have completed a data mining course (such as CMPT 459, 741, or equivalent) • Must be proficient with Python • Must be proficient with pandas and scikit-learn • Good oral and written communication skills • Familiarity with machine learning is an asset |
CMPT | 464 | Geometric Modelling in CG | • Extensive research experience in geometric modeling and processing, and in computer graphics, preferably someone who has had past publications in the related areas • Strong knowledge and programming experience with deep learning tools for geometry and shape processing |
CMPT | 466 | Animation | • Experience with Python, C++ • Experience with Maya (or similar packages such as Blender) • Experience with WebGL/OpenGL programming • Experience with Deep Learning and Deep Reinforcement Learning • Strong in past Math and Physics courses (calculus, linear algebra, differential equations) • Experience with Unity/Unreal |
CMPT | 469 | Spec.Topics/Computer Graphics | • Strong command of HCI research methods and how they are applied to design and study-oriented projects • Hands-on experience in applying principles of HCI, user-centered design, usability engineering, and/or interaction design • Must be proficient in user interface design principles and low-fidelity to high-fidelity prototyping techniques • Must have a portfolio that demonstrates results from HCI research, design of user interface prototypes and/ or results from user studies • Demonstrated good standing in a graduate level HCI course (e.g., CMPT 888/985 special topics in HCI or equivalent) or an equivalent undergraduate course (e.g., CMPT 363) • Must have good command of the English language and HCI research literature in order to mark written reports • Preference will be given to students who have research and/or industry experience in HCI-oriented projects • Must have good command of the English language to mark written reports |
CMPT | 475 | Requirements Engineering | • Experience with the software development process, project planning and project management • Experience with software implementation, testing and data normalization processes • Provide constructive written feedback on written requirements/discussion questions/exams (including feedback on structure, ambiguity/clarity, and grammar ) • Ability to understand assigned readings, and to listen to and understand recordings of oral requirements gathering sessions • Ability to grade and comment on written work, and to respond to student questions in person and via email |
CMPT | 477 | Intro to Formal Verification | • Good understanding of propositional logic • Good understanding of first-order logic • Some familiarity of first-order theories, such as theory of equality, integer linear arithmetic • Some familiarity of program verification techniques, such as Hoare Logic • Experience with constraint solvers or verification tools • Good communication skills; happy to assist students |
CMPT | 479 | Spec.Topics/Computing Systems | • Preferably a graduate student in software and systems • Familiarity with research on analysis, comprehension, debugging, and testing in software engineering • Familiarity with research on the web/JavaScript • Great analytical skills, ability to read academic papers, review, and discuss them • Good programming skills (related to web— JavaScript, HTML, CSS, etc.), ability to understand and grade code, and help students with their projects • Good communication skills, proactive, and eager to assist students |
CMPT | 489 | Spec.Top. in Programming Lang. | • Good understanding of programming language foundations, such as grammar, semantics • Good understanding of object-oriented programming • Good understanding of the visitor design pattern • Some familiarity of compiler techniques • Experience with constraint solvers • Good communication skills; happy to assist students |
CMPT | 705 | Design/Analysis Algorithms | • Solid background in algorithm design and analysis • Good knowledge of classical algorithms and standard algorithmic paradigms such as greedy, divided and conquer, dynamic programming, network flow, linear programming • Good knowledge of NP-completeness, polynomial-time reductions, approximation and randomized algorithms • Should have completed a Design and Analysis of Computing Algorithms course (such as CMPT 405, 705 or equivalent) |
CMPT | 711 | Bioinformatics Algorithms | • Experience with algorithmic aspects of bioinformatics, particularly genome and protein sequence processing • Working knowledge of Dynamic Programming, Evolutionary Algorithms, Simulated Annealing, Hidden Markov Models, and structural bioinformatics • Experience with algorithm design, analysis and refinement • Previous experience with CMPT 441/711 preferred (either as student or TA) • Solid teaching and interpersonal skills, excellent communication skills in English, excellent rapport with students • Responsible, showing initiative, responsive, and punctual • Excellent time management, meeting deadlines • Providing detailed constructive feedback on students work • Must be enthusiastic about assisting a group of students with diverse academic backgrounds • Must have a stable internet connection, web camera and microphone • Must be familiar with Zoom, Blackboard Ultra Collaborate, and SFU Canvas |
CMPT | 713 | NLP | • Strong background in machine learning and deep learning • Knowledgeable about NLP concepts and models (word embeddings, language models, seq2seq models, parsing). Preferably have completed a NLP course (such as CMPT 413/713 or equivalent) • Proficiency with Python and Pytorch programming. Experience with Huggingface transformers library is a plus • Experience with modern NLP datasets like GLUE, WMT, SQUaD, CoNLL • Experience with large language models like BERT, GPT2, GPT3 • Good communication skills, proactive, and eager to assist students |
CMPT | 726 | Machine Learning | • Strong background in linear algebra and probability • Familiarity with NumPy and PyTorch • Should have completed a machine learning course (such as 726 or equivalent) • Stable internet connection for remote instruction of tutorials |
CMPT | 729 | Reinforcement Learning | • Should have completed an artificial intelligence course (such as CMPT 310 or equivalent) and a machine learning course (such as CMPT 419, 726, or equivalent) • Strong background in machine learning and deep learning • Experience with reinforcement learning algorithms • Proficiency with Python and Pytorch programming • Good communication skills, proactive, and eager to assist students |
CMPT | 732 | Big Data Lab I | • Previous course experience with Programming for Big Data |
CMPT | 740 | Database Systems | • Must have experience and working knowledge in Operating Systems I, Database Systems I and Database Systems II (CMPT 300, CMPT 354 and CMPT 454 or equivalent of the three courses) • Understanding and working knowledge of core relational database systems topics, including transaction processing, storage systems, query execution and optimization, volatile and persistent index structures. • Must have experience and proficiency with parallel programming using C++11 or newer C++ standards • Must be proficient in using debugging (GDB, Valgrand) and performance evaluation (perf, gperftools) • Research experience in at least one of the core relational database systems topics mentioned above, or a related systems research area (e.g., OS, parallel programming, concurrency) |
CMPT | 741 | Data Mining | • Must have good knowledge of data mining tasks and algorithms • Must have finished one data mining research project in depth (e.g., publishing a top-tier data mining conference paper), or be a member in the data mining group at SFU • Must be proficient in Python and in libraries such as scikit-learn and pandas • Proficiency in Java/R is an asset • Data mining project experience is highly desirable |
CMPT | 742 | Visual Computing Lab I | • TA must be knowledgeable in Computer Vision, Computer Graphics, and Geometric Modelling; specially topics like image inpainting, 3D reconstruction, and mesh processing • Previous experience with Matlab, Unity, and Python is a must |
CMPT | 750 | Computer Architecture | • Must have deep understanding of computer architecture concepts including speculative execution, memory hierarchy, parallel architectures, and the impact of technology on architecture • Solid working experience with computer architecture simulators (gem5 experience is strongly preferred) • Substantial programming experience in modern C++ programming and python • Must be proficient and has thorough knowledge of the Linux OS • Experience with scalable software development is highly desirable |
CMPT | 762 | Computer Vision | • Strong background in linear algebra, data structures, coding, and basic computer vision and image processing concepts (e.g., convolution, image filtering, stereo, segmentation, and recognition) • Knowledge of Python and Matlab programming • Transforms, BRDF, object recognition, optical flow, etc |
CMPT | 764 | Geometric Modelling in CG | • Extensive research experience in geometric modeling and processing, and in computer graphics, preferably someone who has had past publications in the related areas • Strong knowledge and programming experience with deep learning tools for geometry and shape processing |
CMPT | 766 | Computer Animation | • Experience with Python, C++ • Experience with Maya (or similar packages such as Blender) • Experience with WebGL/OpenGL programming • Experience with Deep Learning and Deep Reinforcement Learning • Strong in past Math and Physics courses (calculus, linear algebra, differential equations) • Experience with Unity/Unreal |
CMPT | 771 | Computer Networks | • Strong background in computer networking, and the Internet in particular (have taken related undergraduate and graduate courses) • Research experience in related fields |
CMPT | 777 | Formal Verification | • Good understanding of propositional logic • Good understanding of first-order logic • Some familiarity of first-order theories, such as theory of equality, integer linear arithmetic • Some familiarity of program verification techniques, such as Hoare Logic • Experience with constraint solvers or verification tools • Good communication skills; happy to assist students |
CMPT | 782 | Cybersecurity Lab I | • Sufficient knowledge with computer security topics such as network security, OS security, web security and cloud security • Experience with penetration testing tools such as Kali Linux, Burp Suite, Nmap, Nessus, and Metasploit • Good communication skill to have interactive sessions with students and entutiastics in helping them with their hands-on assignments |
CMPT | 786 | Cloud and Network Security | • Working knowledge of networks, distributed systems, and cloud basics • Experienced with networking and TCP/IP Protocol Stack, including TCP, QUIC, BGP, TLS, DNS, DNSSEC • Experienced with at least one public cloud environment, preferably GC and/or AWS • Working Knowledge of Network Operational Security, including firewalls, intrusion detection, segmentation, etc. |
CMPT | 789 | Applied Cryptography | • Familiar with modern cryptographic and cryptoanalytics techniques as the course emphasizes how such mechanisms can be effectively used within larger security systems, and finding their vulnerabilities • Good background in mathematics, basics of probability • Good background in cryptography, CMPT404 or equivalent • Some familiarity with crypto libraries and primitives |
CMPT | 827 | Intelligent Systems | • Must have knowledge in python programming • Should have completed a course in algorithm analysis or computational complexity |
CMPT | 863 | Human-Computer Interaction | • Strong command of HCI research methods and how they are applied to design and study-oriented projects • Hands-on experience in applying principles of HCI, user-centered design, usability engineering, and/or interaction design • Must be proficient in user interface design principles and low-fidelity to high-fidelity prototyping techniques • Must have a portfolio that demonstrates results from HCI research, design of user interface prototypes and/ or results from user studies • Demonstrated good standing in a graduate level HCI course (e.g., CMPT 888/985 special topics in HCI or equivalent) or an equivalent undergraduate course (e.g., CMPT 363) • Must have good command of the English language and HCI research literature in order to mark written reports • Preference will be given to students who have research and/or industry experience in HCI-oriented projects • Must have good command of the English language to mark written reports |
CMPT | 980 | Special Topics Computing Sci | • Good understanding of programming language foundations, such as grammar, semantics • Good understanding of object-oriented programming • Good understanding of the visitor design pattern • Some familiarity of compiler techniques • Experience with constraint solvers • Good communication skills; happy to assist students |
CMPT | 981 | Spec. Top. Theoretical Cmpt | • Knowledge of machine learning, should have completed a graduate machine learning course (such as CMPT 726 or equivalent) • Knowledge of numerical (continuous) optimization (should have completed at least an undergraduate course) • Strong knowledge of linear algebra and multivariable calculus (such as MATH 240 and MATH 251) |
CMPT | 982 | Spec. Top. in Network-Systems | • Preferably a graduate student in software and systems • Familiarity with research on analysis, comprehension, debugging, and testing in software engineering • Familiarity with research on the web/JavaScript • Great analytical skills, ability to read academic papers, review, and discuss them • Good programming skills (related to web— JavaScript, HTML, CSS, etc.), ability to understand and grade code, and help students with their projects • Good communication skills, proactive, and eager to assist students |
CMPT | 983 | Spec. Top. in Art Intelligence | • Should have completed an Introduction to Computer Graphics course (such as CMPT 361 or equivalent) • Background in computer graphics, 3D computer vision, and machine learning • Experience reading, writing, and reviewing research papers • Established experience (e.g. >1yr) in neural rendering (NeRF and 3DGS) |
CMPT | 985 | Graphics-HCI-Vis-Multimedia | • An understanding of either (but preferably both) Visualization and Human-Centered Technology development. |
MACM | 101 | Discrete Math I | • Solid background in Discrete Mathematics including counting (combinatorics), propositional and predicate logic, deductive logic, set theory and basics of computational complexity, number theory, functions, relations, and different proof principles • Solid teaching and interpersonal skills as needed in the tutorials, excellent communication skills in English, excellent rapport with students • Responsible, showing initiative, responsive, and punctual • Excellent time management, meeting deadlines • Must be enthusiastic about assisting a group of students with diverse academic backgrounds • Must be familiar with zoom, Blackboard Ultra Collaborate, SFU Canvas and Skype • Previous experience being a TA for MACM 101 preferred |
Surrey Campus
Subject | Course # | Title | TA Minimum Requirements |
CMPT | 105W | Soc. Issues & Cmns. Strategies | These courses are Technical English Writing courses and TAs will be expected to do the following: • Mark tests and written assignments for grammar, punctuation, sentences structure, etc • Assess essays for style, word choice, evidence and logic, audience expectation, as well as voice and tone • Assess paraphrasing, summarizing and quotations • Assist students to think critically, as well as apply rhetorical patterns to the appropriate situation • Understand the fundamental of informative and persuasive communication • Attend course meetings and respond to emails and messages in a timely manner • Attend lectures and tutorials (when requested by the instructor) • Communicate with the instructor with regards to student issues, etc. allowing the instructor to respond in a timely manner • Enter grades into Canvas (Speedgrader and Gradebook) • Hold office hours (when requested by the instructor) and communicate with students about their assignments and grades • Monitor online discussion forums • Meet assignment and exam marking deadlines. Student assignments are accumulative, meaning they require feedback in order to write/complete their next assignment. For example, students are required to write an outline, draft and a final for their essay assignment • Utilize time management skills as marking deadlines for the major assignments and exams can be close • Use assigned marking/grading rubrics and provide sufficient written feedback • Proctor tests and final exam (when requested by instructor) and report any suspected academic integrity issues to the course instructor • Familiar with the course materials and assignments and have experience with Canvas |
CMPT | 120 | Intro.Cmpt.Sci/Programming I | • Sufficient knowledge of basic Python programming • Good communication skills; be able to assist students, particularly those with no programming experience |
CMPT | 130 | Intro to Computer Prog I | • Ability to explain basic programming concepts and errors • Knowledge of basic C++ (variables, loops, functions, arrays, etc) |
CMPT | 201 | Systems Programming | • Strong knowledge in C • Extensive experience in low-level systems programming on Linux (file system interface, threads, processes, sockets, memory allocation, etc.) • Extensive experience in scripting on Linux (shell, python, etc.) • Extensive experience in build systems such as make and cmake • Extensive experience in debugging with debuggers such as GDB • Experience in Linux system administration |
CMPT | 213 | Object Oriented Design in Java | • Strong experience with Java • Confident with design patterns (such as MVC and observer) • Experienced with OOD • Experience with Java Spring Boot is an advantage |
CMPT | 225 | Data Structures/Programming | • Experience with programming in C++, including object oriented programming • Know all ADTs and data structures mentioned in the Course Outline, including AVL trees and B-Trees • Should have completed a course in analysis of algorithms (such as CMPT 705, 307, or equivalent) • Comfortable with the Linux command line |
CMPT | 276 | Intro Software Engineering | • Great programming skills • Practical and theoretical knowledge of different stages of software development, namely, requirements, design, construction, testing, refactoring, debugging, etc • Java, JUnit, Git, Maven • Good communication skills, proactive, and eager to assist students |
CMPT | 354 | Database Systems I | • Knowledge of the relational model and the entity/relationship (E/R) model • Knowledge of relational algebra and calculus • Working knowledge and good programming skills with SQL • Experience with SQL Lite and Jupyter Notebook is an asset • Knowledge of relational design theory, in particular normalization, BCNF, 3NF • Knowledge of other topics in the course outline, such as transactions, constraints and triggers, indexes, database applications development |
CMPT | 363 | User Interface Dsgn | • Preference will be given to students who have demonstrated good standing in User Interface Design, Graphics, HCI, Visualization, Vision, and Multimedia (such as CMPT 363, 888, 985, o requivalent course at the undergraduate or graduate HCI level) • Hands-on experience in applying principles of human-computer interaction, user-centered design, usability engineering, and/or interaction design • Must have a research and/industry portfolio that demonstrates user interface designs and/ or results from user studies • Must have familiarity with modern UI prototyping tools, such as Balsamiq and Figma |
CMPT | 373 | Software Development Methods | • Should have strong experience and skill with modern C++ or Rust • Must have strong experience software development and design • Must be able to evaluate the trade offs among design decisions and nonfunctional requirements • Proficiency with modern developer tools (Git, IDEs, build tools, unit testing frameworks) |
CMPT | 379 | Principles of Compiler Design | • Knowledge of formal languages, regular expressions, context-free grammars • Familiarity with general compiler architecture • Strong experience with java |
CMPT | 454 | Database Systems II | • Knowledge of database theory and SQL • Familiar with query optimization and transaction processing in relational databases |
CMPT | 473 | Software Testing, Reliab & Sec | • Proficiency in programming with Python, Java, and C++ • Proficiency in applying and evaluating test adequacy criteria (model based branch, path, mutation, MC/DC, ...) • Proficiency in applying tools for dynamic and static code analysis • Experience with test automation frameworks (for unit testing, UI testing, ...) • Experience with continuous testing techniques (fuzzing, chaos engineering, ...) and how to use them in the development process. |
MACM | 101 | Discrete Math I | • Solid background in Discrete Mathematics including counting (combinatorics), propositional and predicate logic, deductive logic, set theory and basics of computational complexity, number theory, functions, relations, and different proof principles • Solid teaching and interpersonal skills as needed in the tutorials, excellent communication skills in English, excellent rapport with students • Responsible, showing initiative, responsive, and punctual • Excellent time management, meeting deadlines • Must be enthusiastic about assisting a group of students with diverse academic backgrounds • Must be familiar with zoom, Blackboard Ultra Collaborate, SFU Canvas and Skype • Previous experience being a TA for MACM 101 preferred |
Base Units and Pay Rate
Base units (BUs) listed below are only an estimate and are subject to change based on actual enrollment.
Burnaby Campus
Subject | Course # | Section | Estimated # of TAs | Estimated BUs/TA |
CMPT | 105W | E100 | 2-5 TAs | 2-5 BUs/TA |
CMPT | 120 | D100 | 2-6 TAs | 2-5 BUs/TA |
CMPT | 120 | D300 | 2-5 TAs | 2-4 BUs/TA |
CMPT | 125 | E100 | 2-5 TAs | 2-4 BUs/TA |
CMPT | 201 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 210 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 210 | D200 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 225 | D100 | 2-5 TAs | 2-4 BUs/TA |
CMPT | 263 | D100 | 1 TA | 2-5 BUs/TA |
CMPT | 272 | E100 | 2-5 TAs | 2-4 BUs/TA |
CMPT | 276 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 276 | D300 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 295 | D100 | 2-5 TAs | 2-4 BUs/TA |
CMPT | 307 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 307 | D200 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 310 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 318 | D100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 340 | OL01 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 353 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 354 | D200 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 354 | E100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 361 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 362 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 363 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 365 | E100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 371 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 376W | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 383 | D100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 405/705 | D100/G100 | 1 TA | 2-5 BUs/TA |
CMPT | 409/981 | D100/G100 | 1 TA | 2-3 BUs/TA |
CMPT | 410/726 | D100/G100 | 2-4 TAs | 2-5 BUs/TA |
CMPT | 412/762 | D100/G100 | 1-3 TAs | 2-5 BUs/TA |
CMPT | 413/713 | D100/G100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 417/827 | D100/G100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 431 | D100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 441/711 | D100/G100 | 1 TA | 2-5 BUs/TA |
CMPT | 450/750 | D100/G100 | 1 TA | 2-3 BUs/TA |
CMPT | 454 | E100 | 1-3 TAs | 2-4 BUs/TA |
CMPT | 459 | D100 | 1 TA | 2-5 BUs/TA |
CMPT | 464/764 | D100/G100 | 1 TA | 2-3 BUs/TA |
CMPT | 466 | D100 | 1 TA | 2-3 BUs/TA |
CMPT | 469/863 | D100/G100 | 1 TA | 2 BUs/TA |
CMPT | 475 | E100 | 1-3 TAs | 2-4 BUs/TA |
CMPT | 477/777 | D100/G100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 479/982 | D100/G100 | 1 TA | 2-3 BUs/TA |
CMPT | 489/980 | D100/G100 | 1 TA | 2-3 BUs/TA |
CMPT | 729 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 732 | G100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 740 | G100 | 1 TA | 2-3 BUs/TA |
CMPT | 741 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 742 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 766 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 771 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 782 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 786 | G100 | 1 TA | 2 BUs/TA |
CMPT | 789 | G100 | 1 TA | 2-4 BUs/TA |
CMPT | 983 | G100 | 1 TA | 2 BUs/TA |
CMPT | 985 | G100 | 1 TA | 2 BUs/TA |
MACM | 101 | D100 | 2-5 TAs | 2-4 BUs/TA |
MACM | 101 | D200 | 2-4 TAs | 2-5 BUs/TA |
Surrey Campus
Subject | Course # | Section | Estimated # of TAs | Estimated BUs/TA |
CMPT | 105W | D100 | 2-5 TAs | 2-5 BUs/TA |
CMPT | 120 | D400 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 130 | D100 | 2-4 TAs | 2-5 BUs/TA |
CMPT | 201 | D200 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 213 | D100 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 225 | D200 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 276 | D200 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 354 | D300 | 1-2 TAs | 2-4 BUs/TA |
CMPT | 363 | D200 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 373 | D100 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 379 | D100 | 1 TA | 2-5 BUs/TA |
CMPT | 454 | E200 | 1-2 TAs | 2-5 BUs/TA |
CMPT | 473 | D100 | 1-2 TAs | 2-5 BUs/TA |
MACM | 101 | E100 | 1-3 TAs | 2-5 BUs/TA |
Base units (BUs) listed above are only an estimate and are subject to change based on actual enrollment.
Pay rate is per 2022-2024 TSSU Wage Schedule.