WesternScope

Courses

Showing 73 courses.

Year
COMPSCI 1020A/B0.50 credit

FOUNDATIONS OF COMPUTER SCIENCE

This introductory computer science course covers core concepts such as logic, proofs, number systems, and probability theory, linking theory to practical applications. It highlights various Computer Science streams and their real-world uses, preparing students for second-year courses and guiding their future academic and career paths.

1 review100% liked
COMPSCI 1025A/B0.50 credit

COMPUTER SCIENCE FUNDAMENTALS I

The nature of Computer Science as a discipline; the design and analysis of algorithms and their implementation as modular, reliable, well-documented programs written in a modern programming language. Intended for students with significant programming experience in at least one high-level block-structured or object-oriented language.

1 review100% liked
COMPSCI 1026A/B0.50 credit

COMPUTER SCIENCE FUNDAMENTALS I

The nature of Computer Science as a discipline; the design and analysis of algorithms and their implementation as modular, reliable, well-documented programs written in a modern programming language. Intended for students with little or no background in programming.

No reviews
COMPSCI 1027A/B0.50 credit

COMPUTER SCIENCE FUNDAMENTALS II

A continuation for both Computer Science 1025A/B and Computer Science 1026A/B . Data organization and manipulation; abstract data types and their implementations in a modern programming language; lists, stacks, queues, trees; recursion; file handling and storage.

No reviews
COMPSCI 1032A/B0.50 credit

INFORMATION SYSTEMS AND DESIGN

Techniques used for determining technological needs of businesses; building and managing systems to meet those needs; development roles of individuals and organizations; planning and management of concepts, personnel and processes; related software tools (spreadsheets, databases). Intended primarily for Management and Organizational Studies students.

No reviews
COMPSCI 1033A/B0.50 credit

MULTIMEDIA AND COMMUNICATION I

This course explores the use of different types of media (e.g., text, images, sound, animation) to convey ideas and facilitate interaction. Topics include the design and use of a range of software tools for media creation and editing, covering image, sound, animation and video. This knowledge will be applied to authoring web sites.

No reviews
COMPSCI 1037A/B0.50 credit

COMPUTER SCIENCE FUNDAMENTALS II

A continuation for Engineering Science 1036A/B . Data organization and manipulation; abstract data types and their implementations in the C programming language; lists, stacks, queues, trees; pointers; recursion; file handling and storage. Intended for students in the Faculty of Engineering.

No reviews
COMPSCI 1046A/B0.50 credit

APPROACHABLE APPS: AN INTRODUCTION TO PROGRAMMING USING JAVASCRIPT

Foundations of app development for the web and mobile devices. An introduction to basic programming and scripting concepts, and technologies such as JavaScript, HTML, and CSS, which will be used to create a variety of apps and games. This course is intended for students with no prior programming or computing background.

No reviews
COMPSCI 2033A/B0.50 credit

MULTIMEDIA AND COMMUNICATION II

This course continues the exploration of popular media and Internet technologies. Topics include advanced photo editing techniques; website development with HTML, CSS, and JavaScript; making websites more interactive; form validation; Bootstrap websites; and the significance of CMS's and e-commerce platforms.

No reviews
COMPSCI 2034A/B0.50 credit

DATA ANALYTICS: PRINCIPLES AND TOOLS

A comprehensive and interdisciplinary introduction to data analytics using modern computing systems, with equal attention to fundamentals and practical aspects. Topics include sources of data, data formats and transformation, usage of spreadsheets and databases, statistical analysis, pattern recognition, data mining, big data, and methods for data presentation and visualization.

No reviews
COMPSCI 2035A/B0.50 credit

DEALING WITH DATA: ANALYSIS AND VISUALIZATION

Essential skills and computational tools for working with data from a number of disciplines. Uses MATLAB for data analysis and visualization through basic statistics, numerical computing, and programming, with interdisciplinary applications ranging from image processing to financial computing, and more. Suitable for both Computer Science and non-Computer Science students.

No reviews
COMPSCI 2120A/B0.50 credit

MODERN SURVIVAL SKILLS I: CODING ESSENTIALS

Essential information processing and coding skills for students. Includes core concepts of algorithms and data structures; creating programs and scripts to address problems that arise in applied research; examples of data sets and analyses drawn from a variety of disciplines. No previous programming background assumed.

No reviews
COMPSCI 2121A/B0.50 credit

MODERN SURVIVAL SKILLS II: PROBLEM SOLVING THROUGH PROGRAMMING

An overview of core data structures and algorithms in computing, with a focus on applications to informatics and analytics in a variety of disciplines. Includes lists, stacks, queues, trees, graphs, and their associated algorithms; sorting, searching, and hashing techniques. Restricted to non-Computer Science students.

No reviews
COMPSCI 2208A/B0.50 credit

INTRODUCTION TO COMPUTER ORGANIZATION AND ARCHITECTURE

This course gives an understanding of what a modern computer can do. It covers the internal representation of various data types and focuses on the architectural components of computers (how these components are interconnected and the nature of the information flow between them). Assembly language is used to reinforce these issues.

No reviews
COMPSCI 2209A/B0.50 credit

APPLIED LOGIC FOR COMPUTER SCIENCE

Propositional and predicate logic; representing static and dynamic properties of real-world systems; logic as a tool for representation, reasoning and calculation; logic and programming.

No reviews
COMPSCI 2210A/B0.50 credit

DATA STRUCTURES AND ALGORITHMS

Lists, stacks, queues, priority queues, trees, graphs, and their associated algorithms; file structures; sorting, searching, and hashing techniques; time and space complexity.

No reviews
COMPSCI 2211A/B0.50 credit

SOFTWARE TOOLS AND SYSTEMS PROGRAMMING

An introduction to software tools and systems programming. Topics include: understanding how programs execute (compilation, linking and loading); an introduction to a complex operating system (UNIX); scripting languages; the C programming language; system calls; memory management; libraries; multi-component program organization and builds; version control; debuggers and profilers.

No reviews
COMPSCI 2212A/B0.50 credit

/Y INTRODUCTION TO SOFTWARE ENGINEERING

A team project course that provides practical experience in the software engineering field. Introduction to the structure and unique characteristics of large software systems, and concepts and techniques in the design, management and implementation of large software systems.

No reviews
COMPSCI 2214A/B0.50 credit

DISCRETE STRUCTURES FOR COMPUTING

This course presents an introduction to the mathematical foundations of computer science, with an emphasis on mathematical reasoning, combinatorial analysis, discrete structures, applications and modeling, and algorithmic thinking. Topics include sets, functions, relations, algorithms, number theory, matrices, mathematical reasoning, counting, graphs and trees.

No reviews
COMPSCI 3120A/B0.50 credit

DATABASES FOR INFORMATICS AND ANALYTICS

A study of relational databases. Theoretical concepts will be covered, including relational algebra and relational calculus. Commercially available database systems will be used to demonstrate concepts such as Structured-Query-Language (SQL), writing code to connect and query a database, query optimization, Atomicity-Consistency-Isolation-Durability (ACID) concepts, and database design.

No reviews
COMPSCI 3121A/B0.50 credit

ARTIFICIAL INTELLIGENCE FOR INFORMATICS AND ANALYTICS

An introduction to artificial intelligence, focused on its application to informatics and analytics. Topics include knowledge representation; logic and reasoning; searching; inferencing; expert systems. Suitable for non Computer Science students.

No reviews
COMPSCI 3305A/B0.50 credit

OPERATING SYSTEMS

Survey of major operating systems; interprocess communication; multi-tasking; scheduling; memory management; performance and measurement issues; trade-offs in operating system design; concurrency and deadlock.

No reviews
COMPSCI 3307A/B0.50 credit

/Y OBJECT-ORIENTED DESIGN AND ANALYSIS

Software design and analysis techniques with particular emphasis on object-oriented design and analysis; a team project will be developed using an object-oriented language such as Java, C++ or Smalltalk.

No reviews
COMPSCI 3319A/B0.50 credit

DATABASES I

A study of relational databases. Theoretical concepts will be covered, including relational algebra and relational calculus. Commercially available database systems will be used to demonstrate concepts such as Structured-Query-Language (SQL), writing code to connect and query a database, query optimization, Atomicity-Consistency-Isolation-Durability (ACID) concepts, and database design.

No reviews
COMPSCI 3331A/B0.50 credit

THEORY OF COMPUTING

Languages as sets of strings over an alphabet; operations on languages; finite automata, regular expressions; language hierarchy; Turing machines; models of computation.

No reviews
COMPSCI 3333A/B0.50 credit

SELECTED TOPICS

Special topics on the frontiers of Computer Science. The topic may vary each year.

No reviews
COMPSCI 3335A/B0.50 credit

/Y SELECTED TOPICS

Special topics on the frontiers of Computer Science. The topic may vary each year.

No reviews
COMPSCI 3336A/B0.50 credit

/Y SELECTED TOPICS

Special topics on the frontiers of Computer Science. The topic may vary each year.

No reviews
COMPSCI 3340A/B0.50 credit

ANALYSIS OF ALGORITHMS I

Upper and lower time and space bounds; levels of intractability; graph algorithms; greedy algorithms; dynamic algorithms; exhaustive search techniques; parallel algorithms.

No reviews
COMPSCI 3342A/B0.50 credit

ORGANIZATION OF PROGRAMMING LANGUAGES

Specification and analysis of programming languages; data types and structures; bindings and access structures; run-time behavior of programs; compilation vs. interpretation. Comparative presentation of at least three programming languages addressing the above concepts.

No reviews
COMPSCI 3346A/B0.50 credit

INTRODUCTION TO ARTIFICIAL INTELLIGENCE

Introduction to Artificial Intelligence; logic programming; heuristic search; knowledge representation; expert systems.

No reviews
COMPSCI 3350A/B0.50 credit

COMPUTER ORGANIZATION

Topics include: semiconductor technologies, gates and circuits, buses, semiconductor memories, peripheral interfaces, I/O techniques, A/D conversion, standards, RISC.

No reviews
COMPSCI 3357A/B0.50 credit

COMPUTER NETWORKS I

Common network protocols; inter-networking; gateways; routers; bridges; survey of commercial architectures; standards.

No reviews
COMPSCI 3377A/B0.50 credit

SOFTWARE PROJECT MANAGEMENT

The software development life cycle; resourcing, scheduling and estimating techniques for software project management; project management organizational concerns, including project economic analysis, human resources, proposal development, risk management, software implementation, and technology-strategic alignment.

No reviews
COMPSCI 3380F/G0.50 credit

/Z PROJECT

A supervised study involving a research paper, the design of or development of a software project.

No reviews
COMPSCI 3388A/B0.50 credit

COMPUTER GRAPHICS I

The viewing pipeline; clipping and visibility problems. The graphical kernel system; picture generation and user interfaces.

No reviews
COMPSCI 4402A/B0.50 credit

PARALLEL AND DISTRIBUTED COMPUTING

This course studies the fundamental aspects of parallel and distributed systems, providing an integrated view of the various facets of software development on such systems: hardware architectures, programming languages, computational models, software development tools and design patterns, performance modelling and analysis, experimenting and measuring, application to scientific computing.

No reviews
COMPSCI 4411A/B0.50 credit

DATABASES II

Advanced database topics such as: query optimization and execution; advanced concurrency control and recovery concepts; distributed databases; XML databases; database security and privacy; databases in the cloud; information retrieval.

No reviews
COMPSCI 4413A/B0.50 credit

CRYPTOGRAPHY AND SECURITY

Survey of the principles and practice of cryptography and network security: classical cryptography, public-key cryptography and cryptographic protocols, network and system security.

No reviews
COMPSCI 4416A/B0.50 credit

DATA SCIENCE II

Students will learn to develop and extend data science methods in order to solve new problems. Approaches covered will include convex loss/regularization, graphical models, and neural networks.

No reviews
COMPSCI 4417A/B0.50 credit

UNSTRUCTURED DATA

Management and analysis of unstructured data, with a focus on text data, for example transaction logs, news text, article abstracts, and microblogs. Overview of unstructured image, audio, and video data. Hands-on experience with modern distributed data management and analysis infrastructure.

No reviews
COMPSCI 4418A/B0.50 credit

INTRODUCTION TO VISUAL ANALYTICS

Students will learn how to conceptualize and design systems that integrate data visualization, interactive machine learning, and human-data interaction to support complex data-driven analytical tasks and activities which humans encounter in different fields. Visual analytics concepts and components will be studied in the context of human-centred computing.

No reviews
COMPSCI 4433A/B0.50 credit

/Y SELECTED TOPICS

Advanced Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4434A/B0.50 credit

/Y SELECTED TOPICS

Advanced Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4435A/B0.50 credit

/Y SELECTED TOPICS

Advanced Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4436A/B0.50 credit

/Y SELECTED TOPICS

Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4437A/B0.50 credit

/Y SELECTED TOPICS

Advanced Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4438A/B0.50 credit

/Y SELECTED TOPICS

Advanced Computer Science topics, reflecting current research interests within the Department. The particular topics will be available from the Department prior to registration.

No reviews
COMPSCI 4445A/B0.50 credit

ANALYSIS OF ALGORTIHMS II

Parallel, distributed, probabilistic, and geometric algorithms; design and analysis; computational geometry; fractals and graphtals.

No reviews
COMPSCI 4446A/B0.50 credit

INTERNET ALGORITHMICS

This course focuses on the study of algorithms for solving problems that arise from the design and use of large networks, like the Internet. Topics include: Computer networks and internets, distributed algorithms, peer-to-peer systems, the Web graph and searching for information in the Web, caching, and Game Theory.

No reviews
COMPSCI 4447A/B0.50 credit

COMPILER THEORY

Syntax-directed translation; LR(k), LL(k), attribute grammars; code generation; optimization; compiler compilers; code generator generators.

No reviews
COMPSCI 4451A/B0.50 credit

FOUNDATIONS OF MACHINE LEARNING

This course offers a general and comprehensive introduction to fundamental modern topics in machine learning while providing the mathematical basis and conceptual tools needed for understanding machine learning algorithms. It also describes several key aspects of the application of these algorithms.

No reviews
COMPSCI 4452A/B0.50 credit

DEEP LEARNING IN COMPUTER VISION

This course explores Deep Learning and its applications in Computer Vision, focusing on theory and practical skills. Designed for students with basic machine learning knowledge, it empowers them to solve real-world vision-related problems and provides a robust foundation in this rapidly evolving field.

No reviews
COMPSCI 4453A/B0.50 credit

INTRODUCTION TO REINFORCEMENT LEARNING

This course explores fundamental concepts, algorithms, and applications in reinforcement learning, bridging AI and machine learning. Through lectures and practical exercises, students study Markov Decision Processes, Bellman equations, and key algorithms such as Q-learning, and DQN. They discover Reinforcement Learning’s road applicability in robotics, gaming, finance, and healthcare domains.

No reviews
COMPSCI 4457A/B0.50 credit

/Y COMPUTER NETWORKS II

Network layering, performance, management, modelling and simulation; faults and failures.

No reviews
COMPSCI 4458A/B0.50 credit

NETWORK SECURITY

This course will aim at providing a comprehensive understanding of various security issues in an end-to-end network. The list of these topics includes message/user authentication, cryptographic key management, web security, TLS, wireless/5G security, e-mail security, DNS security, IPSec, VPN security, Malware, Firewall, network intrusion detection/prediction/prevention, DoS/DDoS, Cloud and IoT Security.

No reviews
COMPSCI 4459A/B0.50 credit

SELECTED TOPICS ON SCALABLE AND ROBUST DISTRIBUTED SYSTEMS

This course presents fundamental concepts related to the design and implementation of distributed systems. The course teaches the abstractions, design and algorithms that enable the development of scalable and robust distributed systems. Topics include interprocess communication, clocks, replication, data consistency models, consistent hashing, and failure handling.

No reviews
COMPSCI 4460Z0.50 credit

BIOINFORMATICS THESIS

A project or research paper in an area related to bioinformatics, completed under faculty supervision. An oral presentation plus a written submission will be required.

No reviews
COMPSCI 4461A/B0.50 credit

BIOINFORMATICS TOOLS AND APPLICATIONS

Introduction to popular bioinformatics software tools and their applications in solving complex biological problems; analysis of the algorithms behind bioinformatics tools.

No reviews
COMPSCI 4463A/B0.50 credit

COMPUTATIONAL BIOLOGY

Bioinformatics studies biological problems using biological, computational, and mathematical methods. Computational biology studies computational techniques that can solve biological problems efficiently. This course emphasizes the design, analysis and implementation of algorithms for problems motivated from molecular biology research.

No reviews
COMPSCI 4470Y0.50 credit

SOFTWARE MAINTENANCE AND CONFIGURATION MANAGMENT

An examination of industrial-style software development issues related to managing and maintaining large-scale software systems; in a group project, students will examine software maintenance and configuration management concepts, tools, techniques, risks and benefits; case studies.

No reviews
COMPSCI 4471A/B0.50 credit

SOFTWARE ARCHITECTURE

Introduction to: advanced system structuring concepts, system qualities, achieving qualities through tactics and architecture patterns, the role of architecturally significant requirements, and documenting and evaluating architectures.

No reviews
COMPSCI 4472A/B0.50 credit

SPECIFICATION TESTING AND QUALITY

Concepts and state of the art techniques in software specification and quality assessment for software engineering; quality attributes; formal specification and analysis; verification and validation.

No reviews
COMPSCI 4473A/B0.50 credit

REQUIREMENTS ENGINEERING

Introduction to system requirements, requirements properties, functionality and quality, requirements engineering processes, including elicitation, analysis, modelling, verification, validation, prioritisation, specification (SRS), change, management, notations, documentation, tools, business context and requirements, and advanced topics.

No reviews
COMPSCI 4474A/B0.50 credit

HUMAN-COMPUTER INTERACTION

Exposure to topics in human-computer interaction, including: frameworks for human-computer interaction; requirements gathering; rapid prototyping; user interface systems and tool kits.

No reviews
COMPSCI 4475A/B0.50 credit

OPEN SOURCE SOFTWARE PROJECT

An examination of large-scale software development in the context of a distributed, multi-university open source software project organized by the Undergraduate Capstone Open Source Projects (UCOSP) initiative (see http://ucosp.ca for details). Students will receive practical hands-on experience in working in software development, as well as valuable soft skills and team experience.

No reviews
COMPSCI 4476A/B0.50 credit

/Y SUMMER OF CODE

An examination of open source software development through Google's annual Summer of Code program. Students are exposed to real-world software development scenarios in mentored projects from a number of open source projects, gaining valuable and practical skills and experience in open source software development and maintenance.

No reviews
COMPSCI 4478A/B0.50 credit

/Y IBM Z XPLORE

The mainframe remains a critical piece of infrastructure for enterprise computing, with experts highly sought after by industry. This course studies mainframe technology through the IBM Z Xplore program. Students are exposed to real-world development through hands-on projects, gaining valuable experience and skills for working with modern mainframe systems.

No reviews
COMPSCI 4480Y0.50 credit

GAME DEVELOPMENT PROJECT

Industrial-style development issues related to the creation of games of commercial scale and quality, both for entertainment and serious game applications; in a group project, students will examine concepts, theories, tools, technologies, and techniques for code and content generation for modern games.

No reviews
COMPSCI 4481A/B0.50 credit

IMAGE COMPRESSION

Dealing with digital pictures (images) requires far more computer memory and transmission time than is needed for plain text. This course provides students with a solid understanding of the fundamentals and the principles of various digital still-image compression schemes.

No reviews
COMPSCI 4482A/B0.50 credit

GAME PROGRAMMING

Core concepts and techniques of game programming, including the development and usage of game engines for the creation of games. Topics from: game engine architecture; real-time 2D and 3D rendering; character animation; shaders; real-time physics simulation, artificial intelligence, and networking; procedural methods; player input and controls; platform considerations; tools development.

No reviews
COMPSCI 4483A/B0.50 credit

GAME DESIGN

Concepts and issues that arise in the development of games for entertainment and serious game applications, focusing on providing players with more engaging, immersive, and rewarding gameplay experiences. Group project normally required.

No reviews
COMPSCI 4490Z0.50 credit

THESIS

A project or research paper completed with minimal faculty supervision. An oral presentation plus a written submission will be required.

No reviews