expand search

Computing & Information Systems

A blue globe with dots surrounding it

Computing & Information Systems

Course Listing

Please visit the Academic Timetable to see which courses are presently being offered and in which location(s). Not all courses listed below run every term or in all locations. For specific details about program requirements and degree regulations, please refer to the Academic Calendar.

Course Code Description Cross Listed With
COIS-1010H Digital World Digital systems have redefined how we work, communicate, and play-just think about the World Wide Web, mobile camera phones, video games, and e-business. Core topics examine the underlying technologies of both computing and information systems and how they have become an integral and indispensable part of our daily lives.
COIS-1010H Digital World Digital systems have redefined how we work, communicate, and play-just think about the World Wide Web, mobile camera phones, video games, and e-business. Core topics examine the underlying technologies of both computing and information systems and how they have become an integral and indispensable part of our daily lives.
COIS-1010H Digital World Digital systems have redefined how we work, communicate, and play-just think about the World Wide Web, mobile camera phones, video games, and e-business. Core topics examine the underlying technologies of both computing and information systems and how they have become an integral and indispensable part of our daily lives.
COIS-1020H Programming for Computing Systems Programming for computing systems requires a solid foundation in the software development process, including algorithmic design, abstraction, implementation, testing, and documentation. Core topics include sequencing, selection, iteration, simple data types, expressions, and arrays, as well as the object-oriented notions of classes, methods, inheritance, and polymorphism. Prerequisite: COIS 1010H or PHYS 1001H or MATH 1110H (or 1100Y). COIS 1010H is recommended if MATH 1110H is used to meet the prerequisite.
COIS-1020H Programming for Computing Systems Programming for computing systems requires a solid foundation in the software development process, including algorithmic design, abstraction, implementation, testing, and documentation. Core topics include sequencing, selection, iteration, simple data types, expressions, and arrays, as well as the object-oriented notions of classes, methods, inheritance, and polymorphism. Prerequisite: COIS 1010H or PHYS 1001H or MATH 1110H (or 1100Y). COIS 1010H is recommended if MATH 1110H is used to meet the prerequisite.
COIS-1520H Programming for Information Systems Programming for information systems requires a solid foundation in the basic programming constructs and how programs interact with databases, networks, and human users. Core topics include sequencing, selection, iteration, simple data types, expressions, and arrays, as well as graphical user interfaces, database connectivity, programming for the web, and file management. Recommended: COIS 1010H.
COIS-1520H Programming for Information Systems Programming for information systems requires a solid foundation in the basic programming constructs and how programs interact with databases, networks, and human users. Core topics include sequencing, selection, iteration, simple data types, expressions, and arrays, as well as graphical user interfaces, database connectivity, programming for the web, and file management. Recommended: COIS 1010H.
COIS-1620H Intro to Information Systems Wherever and whenever information is required, an information system is also required. Core topics include the use of information systems for strategic advantage, their basic underlying technologies, the types of information systems and how they are constructed, managed, and replaced, as well as their ethical and legal use. Prerequisite: COIS 1010H. ADMN-1620H
COIS-1620H Intro to Information Systems Wherever and whenever information is required, an information system is also required. Core topics include the use of information systems for strategic advantage, their basic underlying technologies, the types of information systems and how they are constructed, managed, and replaced, as well as their ethical and legal use. Prerequisite: COIS 1010H. ADMN-1620H
COIS-1620H Intro to Information Systems Wherever and whenever information is required, an information system is also required. Core topics include the use of information systems for strategic advantage, their basic underlying technologies, the types of information systems and how they are constructed, managed, and replaced, as well as their ethical and legal use. Prerequisite: COIS 1010H. ADMN-1620H
Course Code Description Cross Listed With
COIS-2020H Data Structures & Algorithms Data structures define how data are represented, whereas algorithms define how the data structures are manipulated. Core topics include the concepts of encapsulation, information hiding, inheritance, and time complexity, as well as dynamic arrays, linked lists, binary heaps, hash tables, binary search trees, balanced trees, adjacency lists/matrices, and sorting. Prerequisite: COIS 1020H. Recommended: MATH 1350H.
COIS-2020H Data Structures & Algorithms Data structures define how data are represented, whereas algorithms define how the data structures are manipulated. Core topics include the concepts of encapsulation, information hiding, inheritance, and time complexity, as well as dynamic arrays, linked lists, binary heaps, hash tables, binary search trees, balanced trees, adjacency lists/matrices, and sorting. Prerequisite: COIS 1020H. Recommended: MATH 1350H.
COIS-2240H Software Design & Modelling Good software design and modelling is a necessary prerequisite for the production of software which is correct, robust, and maintainable. Using the standard Unified Modeling Language (UML) to specify design, core topics include use cases; classes and class membership; aggregation, composition, and inheritance; virtual functions and polymorphism; state diagrams; and design patterns. Prerequisite: COIS 1020H or both COIS 1520H and COIS-ADMN 2620H.
COIS-2300H Computer Organization Computer organization is the level of abstraction between the digital logic and the operating system. At this level, computing subsystems refer to hardware pieces built from lower-level building blocks. Core topics include the central processing unit, memory hierarchy, and input/output organization. Topics are supplemented with assembly language programming. Prerequisite: COIS 1020H or 1520H.
COIS-2300H Computer Organization Computer organization is the level of abstraction between the digital logic and the operating system. At this level, computing subsystems refer to hardware pieces built from lower-level building blocks. Core topics include the central processing unit, memory hierarchy, and input/output organization. Topics are supplemented with assembly language programming. Prerequisite: COIS 1020H or 1520H.
COIS-2310H Computational Physics Use of computational methods to solve a range of problems in physics that are not accessible to analytical treatment. Typical topics include the motion of real projectiles, planetary motion and chaos, electric fields, waves, and random systems. Prerequisite: 60% or higher in PHYS 1002H (or 1000Y) and in MATH 1120H (or 1100Y or 1101Y), or permission of the department. PHYS-2310H
COIS-2320H Digital Logic Digital logic describes how computer hardware actually works at the logic gate and circuit level. Core topics include Boolean algebra, Karnaugh maps, the minimization of Boolean functions and the design of combinational and sequential circuits, including adders, decoders, multiplexers, flip-flops, and memory circuits. Prerequisite: COIS 1020H or 1520H.
COIS-2410H Symbolic Logic An introductory study of formal logical systems, together with their use in the analysis of various types of arguments. Prerequisite: 4.0 university credits or permission of department chair. PHIL-2410H
COIS-2410H Symbolic Logic An introductory study of formal logical systems, together with their use in the analysis of various types of arguments. Prerequisite: 4.0 university credits or permission of department chair. PHIL-2410H
COIS-2600H Discrete Structures Mathematics related to computer science, including sets and relations, counting techniques and recursive relations, trees and networks. Applications to analysis of algorithms, data structure, and optimization problems. Prerequisite: MATH 1350H and 1120H (or 1100Y or 1101Y); or COIS 1020H, MATH 1005H, and 1350H. MATH-2600H
COIS-2600H Discrete Structures Mathematics related to computer science, including sets and relations, counting techniques and recursive relations, trees and networks. Applications to analysis of algorithms, data structure, and optimization problems. Prerequisite: MATH 1350H and 1120H (or 1100Y or 1101Y); or COIS 1020H, MATH 1005H, and 1350H. MATH-2600H
COIS-2620H Systems Analysis & Design Systems analysis and design identifies the informational needs/resources of an organization and specifies appropriate information systems to meet the needs and exploit the resources for strategic advantage. Core topics include the current methodologies, techniques, and tools used for both the analysis and design. Managerial and organizational issues are also discussed. Prerequisite: COIS-ADMN 1620H. ADMN-2620H
COIS-2620H Systems Analysis & Design Systems analysis and design identifies the informational needs/resources of an organization and specifies appropriate information systems to meet the needs and exploit the resources for strategic advantage. Core topics include the current methodologies, techniques, and tools used for both the analysis and design. Managerial and organizational issues are also discussed. Prerequisite: COIS-ADMN 1620H. ADMN-2620H
COIS-2700P Co-Op Work Term
COIS-2750H Computer Crime & Forensics Computer crime is the fastest-growing area of illegal activity in the world. Users beware After some background information (how computers work, number systems, information-hiding algorithms), we examine the schemes and techniques used by computer criminals, the forensic techniques used to catch the criminals, and ways to prevent victimization. Recommended prerequisite: COIS 1010H. FRSC-2750H
COIS-2800H Digital Culture Interactive digital technology and the convergence of computing, communications, public media, and entertainment have had profound cultural implications. Core topics address current concerns such as the World Wide Web, multimedia design, virtual spaces, social domains, and the blogosphere. Recommended prerequisite: COIS 1010H. This course cannot be counted as a science credit.
COIS-2800H Digital Culture Interactive digital technology and the convergence of computing, communications, public media, and entertainment have had profound cultural implications. Core topics address current concerns such as the World Wide Web, multimedia design, virtual spaces, social domains, and the blogosphere. Recommended prerequisite: COIS 1010H. This course cannot be counted as a science credit.
COIS-2830H Multimedia & Design Multimedia concepts such as photo and video editing, visual effects, 3D assets, and even writing style serve as tools to explore concepts and challenges in modern user experience design, with a focus on web pages, game design, and user interfaces. Principles of design covers core concepts such as the discoverability of features, understanding diverse human users, complexity of feedback, and how computer systems interpret and react to human actions. Recommended prerequisite: COIS 1010H.
COIS-2830H Multimedia & Design Multimedia concepts such as photo and video editing, visual effects, 3D assets, and even writing style serve as tools to explore concepts and challenges in modern user experience design, with a focus on web pages, game design, and user interfaces. Principles of design covers core concepts such as the discoverability of features, understanding diverse human users, complexity of feedback, and how computer systems interpret and react to human actions. Recommended prerequisite: COIS 1010H.
Course Code Description Cross Listed With
COIS-3020H Data Structures & Algorithms II A continuation of COIS 2020H, this course introduces more complex data structures for specific applications and extends the techniques for algorithmic design and analysis. Core topics include data structures for spell checkers, memory management, and graphs as well as the fundamental, divide-and-conquer algorithms for sorting and order statistics. Prerequisite: COIS 2020H.
COIS-3030H Software Specification and Development The development of large software systems relies on sound methodologies and techniques to manage the inherent complexity and to produce quality software which satisfies the client or customer. Core topics include various software development paradigms and their usage, as well as the importance of feasibility studies, requirements analysis, and specification. Prerequisite: COIS 2240H.
COIS-3040H Software Architecture & Design Software architecture is concerned with the highlevel design, interface, and relationships among the components that make up a software system. Testing ensures that these components work properly on their own and within an integrated system. Core topics include architecture description languages, as well as maintenance strategies and various testing methodologies. Prerequisite: COIS 2020H and 3030H.
COIS-3050H Formal Languages & Automata Formal languages and automata are the underlying theoretical foundations of computer science. Core topics include regular languages and finite automata, context-free languages and pushdown automata, the Turing machine and its languages. Real world applications, unsolvable problems, and their relevance to the semantics of programming are also discussed. Prerequisite: COIS 1020H. Recommended: COIS-MATH 2600H.
COIS-3200Y Electricity & Magnetism Electrostatics, magnetostatics, electric and magnetic properties of matter, Maxwell's equations, electromagnetic wave propagation. Prerequisite: 60% or higher in PHYS 1002H or permission of the department; PHYS-MATH 2150H, MATH 2110H, and 2120H. PHYS-3200Y
COIS-3210H Mathematical Cryptography Public vs. private key cryptosystems: cyphertexts, plaintexts, and Kerkhoff's principle. Shannon's theory of perfect secrecy. Modular arithmetic: Chinese reminder theorem, Fermat/Euler theorems. RSA cryptosystem: definition and vulnerabilities. El-Gamal cryptosystem. Rabin cryptosystem. Quadratic residue theory. Probabilistic primality tests and factoring algorithms. Optional: discrete logarithm algorithms and elliptic curve cryptosystems. Prerequisite: MATH 2200H. Recommended: MATH-COIS 2600H or both MATH 155H and COIS 2020H. MATH-3210H
COIS-3320H Fundamentals of Operating Systems An operating system is the software component of a computing system which is responsible for the management and accessibility of the hardware resources. Core topics include process management, synchronization, processor allocation, primary and secondary storage management, file management, security, and user interfaces. Topics are illustrated using contemporary operating systems. Prerequisite: COIS 2020H and 2300H.
COIS-3350H Linear Programming An introduction to the concepts, techniques, and applications of linear programming and discrete optimization. Topics include the simplex method, duality, game theory, and integer programming. Prerequisite: MATH 1350H. MATH-3350H
COIS-3370H Cyberethics Enables students to develop their own positions about the most important social and moral problems raised by computer use and technologies, including the fragmentation of society into computer "haves" and "have-nots," Internet censorship, pornography, intellectual property rights, and software piracy. Prerequisite: 7.0 university credits or permission of department chair. PHIL-3370H
COIS-3380H Systems Programming Systems programming produces software which provides services to the computer hardware. Using systems programming techniques in a Unix-style environment and using machine-oriented programming languages such as C/C, core topics include procedural programming, shell programming, pipes, file processing, system calls, signals, and basic network programming. Prerequisite: COIS 2300H. Recommended: COIS 2020H.
COIS-3380H Systems Programming Systems programming produces software which provides services to the computer hardware. Using systems programming techniques in a Unix-style environment and using machine-oriented programming languages such as C/C, core topics include procedural programming, shell programming, pipes, file processing, system calls, signals, and basic network programming. Prerequisite: COIS 2300H. Recommended: COIS 2020H.
COIS-3400H Database Management Systems A database is a structured collection of data, whereas a database management system facilitates the creation, querying, and maintenance of databases. Core topics include the relational model, entity-relationship diagrams, relational algebra, SQL, database application development, storage and indexing, and normalization. Topics are illustrated using a relational DBMS. Prerequisite: COIS 1020H or both COIS 1520H and COIS-ADMN 2620H.
COIS-3400H Database Management Systems A database is a structured collection of data, whereas a database management system facilitates the creation, querying, and maintenance of databases. Core topics include the relational model, entity-relationship diagrams, relational algebra, SQL, database application development, storage and indexing, and normalization. Topics are illustrated using a relational DBMS. Prerequisite: COIS 1020H or both COIS 1520H and COIS-ADMN 2620H.
COIS-3420H Web Application Development The development of web applications is an integral component of software development in an Internetbased world. Core topics include front-end design, client-side scripting, server-side programming, database connectivity, data persistence, security, extensible mark-up, usability, and accessibility. Prerequisite: COIS 2240H. Recommended: COIS 3400H.
COIS-3510H Data Visualization Data visualization is a main step in the analysis of data in a wide range of scientific research areas as well as business applications. We discuss general approaches, tools, and techniques for the visualization of various types of data, including spatial data, graph data, and time series data. Prerequisite: 10.0 university credits or permission of instructor. Recommended: COIS 1020H or 1520H.
COIS-3533H Game Studies An introduction to game studies that explores the implications of games and play. What can games tell us about what we value, how we think, and who we are? Prerequisite: 4.0 university credits. CUST-3533H
COIS-3533H Game Studies An introduction to game studies that explores the implications of games and play. What can games tell us about what we value, how we think, and who we are? Prerequisite: 4.0 university credits. CUST-3533H
COIS-3560H Human Computer Interaction The study of human-computer interaction incorporates ideas from computer science, behavioural science, and design to improve interaction between people and computers. Core topics include multidisciplinary, intuitive design, computer-supported co-operative education/work, ubiquitous computing, prototyping, collaboration, social interaction, augmented reality, haptics, heuristics, interfaces, workstation independence. Prerequisite: 5.0 university credits. Excludes COIS 3950H: Human Computer Interaction.
COIS-3745H Virtual Worlds: the Anthropology of Online Communities Focuses on worlds creating in playable media (games), including both massively multiple online games (MMOGs) and tabletop role-playing games. "Virtual" society is now an increasingly taken-for-granted aspect of everyday sociality. This course develops tools and theories for the study of virtual worlds, online and offline. Prerequisite: 4.0 university credits. ANTH-3745H
COIS-3750H Principles of Online Marketing Businesses today must effectively leverage the Internet and develop an online strategy which complements their traditional business practices. Core topics include website best practices, online marketing and customer relationships, positioning businesses online, and social networking for small and large enterprises. Topics are consolidated with a professional business proposal. Prerequisite: COIS-ADMN 1620H or ADMN 1000H or permission of instructor. ADMN-3750H
COIS-3820H History & Impact of Computing The history of digital computation is relatively recent, but all around us. By introducing the key people whose insight, inventiveness, and industry have defined the digital world, a framework is developed within which all students can appreciate the fundamental milestones of computing and their impact on the world. Prerequisite: 5.0 university credits.
COIS-3850H Fundamentals of Project Management Good project management focuses on the practical realities of getting things done with limited time and resources according to specifications determined by others-with successful outcomes. This course prepares students to write the professional certification exams offered by the Project Management Institute and the Project Management Association of Canada.Prerequisite: 10.0 university credits or COIS 2240H or COIS-ADMN 2620H or permission of instructor. ADMN-3850H
COIS-3850H Fundamentals of Project Management Good project management focuses on the practical realities of getting things done with limited time and resources according to specifications determined by others-with successful outcomes. This course prepares students to write the professional certification exams offered by the Project Management Institute and the Project Management Association of Canada.Prerequisite: 10.0 university credits or COIS 2240H or COIS-ADMN 2620H or permission of instructor. ADMN-3850H
COIS-3860H Internship Project Students work at a site external to the department for 80-120 hours. In recognition of the scope of possible projects, this work can either be performed during 2-3 one-week (not necessarily consecutive) sessions, or during 10-15 full-day sessions in consecutive weeks. Students meet on a regular basis with their faculty mentor. Prerequisite: A minimum 75% cumulative average and 10.0 university credits including 5.0 COIS credits.
Course Code Description Cross Listed With
COIS-4000Y Software Engineering Project The software engineering project is a capstone course and provides students with the practical experience in the analysis, design, implementation, testing, and documentation of a real-world software product. Working as a team with clients, the project draws substantially on the theoretical knowledge gained in all previous COIS courses. Prerequisite: COIS 3040H. Pre- or co-requisite: COIS-ADMN 3850H. Recommended: COIS 3400H and 3420H. Excludes COIS 4850H.
COIS-4050H Advanced Algorithms Algorithmic techniques provide generalized approaches to solving a wide variety of problems, whereas algorithmic analysis provides the basis of comparison among different solutions. Core topics include the algorithmic techniques of divide-and-conquer, dynamic programming, and greedy algorithms, as well as the analytical techniques of problem classification, asymptotic analysis, and recurrene relations. Prerequisite: COIS 2020H and COIS-MATH 2600H.
COIS-4100H Comparative Programming Languages Evaluating and selecting the most appropriate programming language for an application is a critical step in software development. Core topics include the types of programming languages as well as the principal design and implementation issues for control structures, data types, subprograms, exception handling, and concurrency. Prerequisite: COIS 2020H and 1.0 COIS cresit at the 3000 or 4000 level.
COIS-4310H Computer Networks A computer network links together two or more computers to enable the transfer of data. Core topics include data communication, network hardware and software, network architecture and protocols, local area and wide area networks, end-to-end routing protocols, wireless networks, Quality of Service, multimedia support, and network management. Prerequisite: COIS 3320H.
COIS-4350H High Performance Computing High performance computing is the use of advanced computer architectures to solve problems which require significant processing power, memory access, or storage. Core topics include advanced computer architectures, programming for shared and distributed memory machines, networking issues, caching, performance evaluation, and parallel algorithms. Topics are supplemented with case studies. Prerequisite: COIS 3320H.
COIS-4400H Data Mining Data mining is the extraction of previously unknown and potentially useful patterns from large data sets. Core topics include the statistical foundations of data mining, sampling mechanisms, missing data, clustering, classification, and outlier detection. Case studies cover a wide variety of applications such as astronomy and marketing. Prerequisite: 1.0 COIS credit at the 3000 or 4000 level and one of COIS 2020H or COIS-ADMN 2620H.
COIS-4470H Modelling & Simulation Modelling and simulation enables us to construct mathematical or computer-based representations of real-world phenomena. Three steps are typically followed: modelling the key parameters, implementing a program to simulate behaviour, and analyzing the results. Core topics include pseudo-random number generation, discrete-event and next-event simulation, output analysis, and queuing thoery. Prerequisite: MATH 1550H and COIS 2020H.
COIS-4480H Computer Graphics Computer graphics are everywhere, from computeranimated movies and games to virtual reality and telepresence. This course introduces the fundamental mathematical and computational concepts of computer graphics. Topics include hardware, the OpenGL suite, line drawing, two-dimensional transformations, two-dimensional clipping algorithms, three-dimensional representations, three-dimensional clipping, line removal techniques, splines, and ray tracing. Prerequisite: COIS 2020H, COIS 2830H, and MATH 1350H.
COIS-4550H Artificial Intelligence Artificial intelligence is the study of those techniques which create perceptions of "machine intelligence" and "intelligent agents." Topics may include but are not limited to expert systems, various evolutionary learning systems such as genetic algorithms, genetic programming, and neural networks. The impact and ethics of artificial intelligence are also examined. Prerequisite: 10.0 university credits including one of COIS 1020H, 1520H, or 1620H.
COIS-4902H Advanced Reading Course Students are required to submit a course proposal and have it approved by the departmental curriculum committee before enrolling.