Recently Instructed Courses

  • COSC 5P07 | Software Performance Engineering
    Fall 2022, Winter 2021

    The study of concepts, techniques, and metrics in software performance engineering before, during, and after software development. This covers performance practices throughout the software development life cycle, performance and scalability testing and principles of performance evaluation including instrumentation, profiling, measurement, and benchmarking.

  • COSC 4P01 | Software Engineering 1
    Fall 2023, Fall 2022, Fall 2021, Fall 2020

    Theory of software engineering. Topics include plan-driven development, Agile development, software requirements elicitation, software design and analysis, design patterns, software testing, software maintenance, software observability, software robustness, safety and security. AI in Software Engineering, And introduction to tools such as Git, GitHub, Azure DevOps, and GitHub AI CoPilot.

  • COSC 4P02 | Software Engineering 2
    Winter 2023, Winter 2022, Winter 2021

    Application of software engineering. The development of a large-scale software engineering project in a competitive team setting, including creation of complete documentation for a working system.

  • COSC 3P95 | Software Analysis and Testing
    Winter 2023

    Principles of software development besides programming, such as static and dynamic analysis, debugging, diagnosing bugs, and testing.

  • COSC 3P32 | Introduction to Database System
    Winter 2022, Spring 2022

    Fundamental database concepts: specification, design and applications; various models including the relational model; normal forms, efficiency considerations, queries using SQL, database administration and security. Practical experience (normally ORACLE) in a group project.

  • COSC 2P13 | Computer Systems
    Winter 2020

    Operating systems and networking. Resource sharing including file, processor, I/O and memory management. Concurrency including: context switching, interprocess communication, and synchronization. Protection and security including encryption. Distributed systems and networking including: ISO model and packet routing.