About U of O
Prospective Students
Students
Services
Academics
Research
News & Events
Alumni & Friends
FrançaisLibrariesMapsKeyword Search and DirectoriesCoursesU of O Home


Current calendars

Faculty calendars

Arts
Education
Engineering
Health Sciences
Law (Civil Law)
Law (Common Law)
Management
Medicine
Social Sciences
Science

Programs
Courses

Archived Calendars

See List

Contact Information

Infoservice
Tabaret Hall
75 Laurier Av. E.
Ottawa, ON, Canada
K1N 6N5

Tel: 613-562-5630
Toll-free phone:
1-877-868-8292
Fax:613-562-5323

[email protected]

InfoAdmission
Tel: 613-562-5315
Toll-free phone:
1-877-868-8292 (#5315)

[email protected]
 
 

CSI - Informatique / Computer science




1100110111021301130313901500150115021701
1703179021112114211521212131216521672171
2172217321742511251425152521253125652567
2571257225732574290129103103310431053125
3150331033173503350435053525355037103717
3901390241014102410341044105410641074109
4110411541184124412541284130413141334134
4138414041504501450245034504450545064507
4509451045154518452445254528453045314533
4534453845404550490049014902


Course descriptions


CSI1100 Introduction to Computer Science I (3,0,2) 4 cr.
Problem solving and algorithm design. Fundamental programming constructs: decisions, loops, modules, recursion. Fundamental data structures: arrays, records. Basic principles of software engineering: stepwise refinement, modular programming, documentation, testing. (Lab work will be done in the Java programming language). The courses CSI1102,CSI1301,CSI1303,OR CSI1390 Cannot be combined for credits.

BACK TO TOP


CSI1101 Introduction to Computer Science II (3,0,2) 4 cr.
Introduction to object-oriented programming. Abstraction principles: information hiding and encapsulation. Linked lists, stacks, and queues. Iterative and recursive processing of data structures. Basic concepts of computer organization: introduction to logic circuits, machine language, representation of data, and assembly language. Virtual machines, interpretation, compilation. (Lab work will be done in the Java programming language). Prerequisite: CSI1100

BACK TO TOP


CSI1102 Fundamentals of Software Design (3,0,3) 4 cr.
Software design and pseudocode. Introduction to object-oriented programming. Abstraction principles: virtual machines, information hiding and encapsulation. Simple data structures. Linked lists, stacks, and queues, and their applications. Iterative and recursive processing of data structures. (Lab work will be done in the Java programming language). Prerequisite: GNG1101 or CSI1100

BACK TO TOP


CSI1301 Computing Concepts for Business (3,0,2) 4 cr.
This course provides an introduction to computer-based problem solving from the perspective of the business world. Design of algorithms and algorithm description. Introduction to 4th generation languages and methodologies. Structured program development and program testing. Modular programming. Searching, sorting and file processing. Application generators of business oriented software products such as spreadsheets and database packages. The courses CSI1100,CSI1102,CSI1301,CSI1303,CSI1390 cannot be combined for credits.

BACK TO TOP


CSI1303 Introduction to Computing Concepts (3,0,2) 4 cr.
Introduction to computer based problem solving for scientific applications. Design of algorithms and algorithms descriptions. 4th generation languages. Software packages. Structured program development. Modular and object-oriented programming. Program testing. Prerequisite: OAC Calculus and Algebra and Geometry. The courses CSI1100,CSI1102,CSI1301,CSI1303,CSI1390 cannot be combined for credits.

BACK TO TOP


CSI1390 Introduction to Computers (2,0,2) 3 cr.
Computing and computers. Problem solving and algorithm development. Introduction to programming. Use of application, communication, and database software. The courses CSI1100,CSI1101,CSI1102,CSI1301 or CSI1303 cannot be combined for credits.

BACK TO TOP


CSI1500 Introduction � l'informatique I (3,0,2) 4 cr.
R�solution des probl�mes et conception des algorithmes. Structures algorithmiques de base: branchement, boucles, modules, r�currence. Structures de donn�es: tableaux, enregistrements. Introduction au g�nie des logiciels: m�thodes de d�compositions successives, programmation modulaires, documentation, tests. (Les �tudiants utiliseront le langage Java pour les travaux pratiques). Les cours CSI1502,CSI1701,CSI1703,CSI1790 sont mutuellement exclusifs.

BACK TO TOP


CSI1501 Introduction � l'informatique II (3,0,2) 4 cr.
Introduction � la programmation orient�e objet. Abstraction: machines virtuelles, encapsulation et masquage d'information. Listes, piles et files d'attente. Structures de donn�es �l�mentaires et leur traitement it�ratif et r�cursif. Introduction � l'organisation des ordinateurs: circuits logiques, langage machine, repr�sentation des donn�es et assembleur. Les machines virtuelles, interpr�tation et compilation. (Les �tudiants utiliseront le langage Java pour les travaux pratiques). Pr�alable: CSI1500

BACK TO TOP


CSI1502 Principes fondamentaux en conception de logiciels (3,0,3) 4 cr.
Conception des logiciels et pseudocode. Introduction � la programmation orient�e objet. Abstaction: machines virtuelles, encapsulation et masquage d'information. Structures de donn�es �l�mentaires. Listes, piles, files d'attente et leurs applications. Traitement it�ratif et r�cursif des structures de donn�es. (Les �tudiants utiliseront le langage Java pour les travaux pratiques.) Pr�alable: GNG1501 ou CSI1500

BACK TO TOP


CSI1701 �l�ments de programmation pour la gestion (3,0,2) 4 cr.
Introduction aux m�thodes de r�solution informatis�es dans le cadre du monde des affaires. Conception et description des algorithmes. Introduction aux m�thodes et langages de 4e g�n�ration. Programmation modulaire. Recherches, tris et traitement de fichiers. Logiciels applicables au monde des affaires tels que tableurs et banques de donn�es. Les cours CSI1500,CSI1502,CSI1701,CSI1703,CSI1790 sont mutuellement exclusifs.

BACK TO TOP


CSI1703 Introduction aux concepts de l'informatique (3,0,2) 4 cr.
Introduction aux m�thodes de r�solution de probl�mes par ordinateur dans le cadre des applications scientifiques. Conception et description des algorithmes. Langages de 4e g�n�ration. Logiciels. D�veloppement de programmes modulaires, structur�s et orient�s objet. Tests de programmes. Pr�alable: CPO Calcul infinit�simal et Alg�bre et G�om�trie. Les cours CSI1500,CSI1502,CSI1701,CSI1703,CSI1790 sont mutuellement exclusifs.

BACK TO TOP


CSI1790 Introduction aux ordinateurs (2,0,2) 3 cr.
Le traitement de l'information et les ordinateurs. La r�solution de probl�mes. D�veloppement des algorithmes. Introduction aux concepts de la programmation. Utilisation de logiciels d'application, de communication et de bases de donn�es. Les cours CSI1500,CSI1502,CSI1701,CSI1703,CSI1790 sont mutuellement exclusifs.

BACK TO TOP


CSI2111 Computer Architecture I (3,0,0) 3 cr.
Switching algebra. Combinatorial circuits. ROM, PLA, PAL. Synchronous and asynchronous sequential circuits. Latches, flipflops, counters. CPU structure: busses, registers, ALU, main memory. Instruction types. Addressing formats. Typical instruction sets of some standard CPU types. Prerequisite: CSI1101 or (CSI1102 and GNG1102)

BACK TO TOP


CSI2114 Data Structures (3,0,1.5) 3 cr.
Introduction to abstract data types. Trees, binary search trees, balanced trees. Searching. Sorting. Simple examples of complexity analysis. Graphs, simple graph algorithms: depth-first and breadth-first search, minimum spanning tree, shortest path. (Lab work will be done in the Java programming language). Prerequisite: CSI1101 or CSI1102

BACK TO TOP


CSI2115 Concepts in Programming Languages (3,0,0) 3 cr.
Structure and design of block-structured programming languages. Methods of description of programming languages. Variables, references. Control structures. Data structures and data types. Procedures, scoping, principles of implementation of block structure. Principles of data abstraction. Basic concepts in concurrency. Prerequisite: CSI2114 Corequisite: CSI216X or CSI217X. Cannot be combined for credits with CSI3125.

BACK TO TOP


CSI2121 Computer Architecture II (3,0,1.5) 3 cr.
Data representations. Assembly language concepts. Programming a typical microprocessor, e.g. 386. Basic input/output devices. Programming input/output operations; interrupts, e.g. disk controllers. Prerequisite: CSI2111

BACK TO TOP


CSI2131 File Management (3,0,1.5) 3 cr.
Characteristics of computer files and mass storage media. Operations on files. File organization and access methods: sequential, indexed- sequential, direct, extendible hashing, B-trees. Design of file management systems. Includes exercises in COBOL or fourth-generation languages. Prerequisite: CSI2114

BACK TO TOP


CSI2165 Prolog Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of the Prolog language. Prerequisite: CSI1101 or CSI1102

BACK TO TOP


CSI2167 C Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of the C language. Prerequisite: CSI1101 or CSI1102 Cannot be combined for credits with CSI2172 or CSI2173.

BACK TO TOP


CSI2171 Smalltalk Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of the Smalltalk language. Prerequisite: CSI1101 or CSI1102 Cannot be combined for credits with CSI2172 or CSI2173.

BACK TO TOP


CSI2172 C++ Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of the C++ language. Prerequisite: CSI1101 or CSI1102 Cannot be combined for credits with CSI2167,CSI2171 or CSI2173.

BACK TO TOP


CSI2173 Java Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of the Java language. Prerequisite: CSI1101 or CSI1102 Cannot be combined for credits with CSI2167,CSI2171 or CSI2172.

BACK TO TOP


CSI2174 Functional Programming Concepts Laboratory (0,0,4) 2 cr.
Practice in the use of a functional programming language. Prerequisite: CSI1101 or CSI1102

BACK TO TOP


CSI2511 Architecture des ordinateurs I (3,0,0) 3 cr.
Alg�bre de la commutation. Circuits combinatoires. ROM, PLA, PAL. Circuits s�quentiels synchrones et asynchrones. M�moires, bascules, compteurs. Structure de l'UC: bus, registre ULA, m�moire principale. Types d'instructions. Types d'adressage. Exemples de jeux d'instructions classiques. Pr�alables: CSI1501 ou (CSI1502 et GNG1502)

BACK TO TOP


CSI2514 Structure de donn�es (3,0,1.5) 3 cr.
Introduction aux types abstraits de donn�es. Arbres, arbres binaires et arbres �quilibr�s. Algorithmes de tris et de recherches. Exemples simples d'analyse de complexit�. Algorithmes simples de graphes: recherche en profondeur et recherche en largeur, arbre minimal recouvrant, algorithme du plus court chemin. (Les �tudiants utiliseront le langage Java pour les travaux pratiques). Pr�alable: CSI1501 ou CSI1502

BACK TO TOP


CSI2515 Concepts des langages de programmation (3,0,0) 3 cr.
Structures et concepts des langages structur�s en blocs. M�thodes de description des langages. Les variables, leurs r�f�rences. Structures de contr�le. Structure des donn�es et types de donn�es. Proc�dures, port�e, principes d'implantation des langages structur�s en blocs. Principes d'abstraction des donn�es. Concepts de base des syst�mes concurrents. Pr�alable: CSI2514 Concomitant: CSI256X ou CSI257X. Ne peut �tre combin� avec CSI3525 pour l'obtention de cr�dits.

BACK TO TOP


CSI2521 Architecture des ordinateurs II (3,0,1.5) 3 cr.
Repr�sentation des donn�es. Concept d'assemblage. Programmation d'un processeur typique, ex. 386. Unit�s d'entr�es/sorties, et leur programmation. Syst�mes d'interruption. Pr�alable: CSI2511

BACK TO TOP


CSI2531 Gestion de fichiers (3,0,1.5) 3 cr.
Caract�ristiques des fichiers et des m�moires de grande capacit�. Op�rations sur les fichiers. Organisation des fichiers et m�thodes d'acc�s : acc�s s�quentiel, s�quentiel index�, direct, adressage calcul�, arbres-B, conception de syst�mes de gestion de fichiers. Comporte des exercices en COBOL ou en langages de la quatri�me g�n�ration. Pr�alable: CSI2514

BACK TO TOP


CSI2565 Laboratoire Prolog (0,0,4) 2 cr.
Travaux pratiques en programmation Prolog. Pr�alable: CSI1501 ou CSI1502

BACK TO TOP


CSI2567 Laboratoire C (0,0,4) 2 cr.
Travaux pratiques en programmation C. Pr�alable: CSI1501 ou CSI1502 Ce cours et les cours CSI2572 ou CSI2573,pris individuellement, sont mutuellement exclusifs.

BACK TO TOP


CSI2571 Laboratoire Smalltalk (0,0,4) 2 cr.
Travaux pratiques en programmation Smalltalk. Pr�alable: CSI1501 ou CSI1502 Ce cours et les cours CSI2572 ou CSI2573,pris individuellement, sont mutuellement exclusifs.

BACK TO TOP


CSI2572 Laboratoire C++ (0,0,4) 2 cr.
Travaux pratiques en programmation C++. Pr�alable: CSI1501 ou CSI1502 Ce cours et les cours CSI2567,CSI2571 ou CSI2573,pris individuellement, sont mutuellement exclusifs.

BACK TO TOP


CSI2573 Laboratoire Java (0,0,4) 2 cr.
Travaux pratiques en programmation Java. Pr�alable: CSI1501 ou CSI1502 Ce cours et les cours CSI2567,CSI2571 ou CSI2572,pris individuellement, sont mutuellement exclusifs.

BACK TO TOP


CSI2574 Laboratoire de programmation fonctionnelle (0,0,4) 2 cr.
Travaux pratiques sur un langage de programmation fonctionnelle. Pr�alable: CSI1501 ou CSI1502

BACK TO TOP


CSI2901 Rapport de stage coop I 3 cr.
Co-op Work Term Report I

BACK TO TOP


CSI2910 Professional Practice in Computing / Pratique professionnelle de l'informatique (1,0,0) 1 cr.
Professionalism in Computer Science. Ethical practice. Intellectual property rights. Social impact of computing. Privacy and legal issues. // Professionalisme en informatique. Pratique �thique Propri�t� intellectuelle. R�percussions sociales de l'informatique. Confidentialit� et aspects l�gaux.

BACK TO TOP


CSI3103 Data Transmission and Computer Networks (3,0,0) 3 cr.
Fundamental concepts of data transmission and computer networks. Overview of layered protocol hierachies. The physical, link and network layers. Error control, flow control, routing algorithms. Packet switching and local area networks. Prerequisite: MAT2375

BACK TO TOP


CSI3104 Introduction to Formal Languages (3,0,0) 3 cr.
Regular languages, finite automata, transition graphs Kleene's theorem. Finite automata with output. Context-free languages, derivation trees, normal form grammars, pumping lemma, pushdown automata, determinism. Decidability. Recursively enumerable languages, Turing machines, the halting problem. Prerequisites: MAT1361,MAT2343 or MAT2143

BACK TO TOP


CSI3105 Design and Analysis of Algorithms I (3,0,0) 3 cr.
Asymptotic time and space complexity of algorithms. Introduction to average case analysis and lower bound theory. Analysis of selected algorithms. Algorithm design techniques, such as divide and conquer, the greedy method, balancing, dynamic programming. Algorithms on graphs. Introduction to NP-completeness. Prerequisites: CSI2114,MAT1361,MAT2343 or (for honours mathematics students only: CSI2114,MAT2141 or MAT2143)

BACK TO TOP


CSI3125 Concepts of Programming Languages (3,0,2) 4 cr.
Classification of programming languages. Syntactic description of programming languages. Imperative programming languages: data objects, data types, control structures, sub-programs, principles of implementation. Logic programming languages. Functional programming languages. Object-oriented programming languages. Modules. Prerequisite: CSI2114,two programming language labs selected among CSI2165,(CSI2171 or CSI2172 or CSI2173)and CSI2174.Cannot be combined for credits with CSI2115.

BACK TO TOP


CSI3150 Computational Methods for Numerical Problems (3,0,0) 3 cr.
Introductory course in the application of numerical methods using computer oriented algorithms such as finding roots, solving systems of equations differentiation, integration and optimization. Prerequisites: CSI1101 or CSI1102,MAT1322,MAT2341.Cannot be combined for credits with MAT3380.

BACK TO TOP


CSI3310 Operating System Principles (3,0,1.5) 3 cr.
Batch processing systems. Input/output systems. Interacting processes. Multi- programming systems. Storage management. Procedure and data sharing. Process and resource control. Deadlock prevention. Prerequisite: CSI2121 or CEG3131

BACK TO TOP


CSI3317 Database Management Systems (3,0,0) 3 cr.
Views of data at different levels. Entity-relationship modelling. The relational data model. Relational algebra and calculi. Relational database languages. Integrity constraints and normal forms. Transactions and concurrency. An introduction to logic-based and object-oriented data models. Prerequisite: CSI2131

BACK TO TOP


CSI3503 Transmission de donn�es et r�seaux informatiques (3,0,0) 3 cr.
Concepts fondamentaux de la transmission de donn�es et des r�seaux d'ordinateurs. Vue d'ensemble des hi�rarchies de protocoles � couches. Couche physique, couches liaison de donn�es et r�seaux. Le contr�le des erreurs, le contr�le de flot et les algorithmes de routage. �change de paquets et r�seaux locaux. Pr�alable: MAT2775

BACK TO TOP


CSI3504 Introduction aux langages formels (3,0,0) 3 cr.
Langages r�guliers, automates d'�tats finis, graphes de transition et th�or�me de Kleene. Automates d'�tats finis avec sortie. Langages non-contextuels, arbres de d�rivation, grammaires de forme normale, automates � pile, d�terminisme. D�cidabilit�. Langages recursivement d�nombrables, machines de Turing, le probl�me de terminaison. Pr�alables: MAT1761,MAT2743 ou MAT2543

BACK TO TOP


CSI3505 Conception et analyse des algorithmes I (3,0,0) 3 cr.
Complexit� des algorithmes (en fonction du temps, en fonction de l'espace). Introduction � l'analyse du cas moyen et � la th�orie de la borne inf�rieure. Analyse de certains algorithmes. Techniques de conception des algorithmes tels que "divise et conquiert", algorithme "glouton", balancement et programmation dynamique. Algorithmes de manipulation des graphes. Introduction aux probl�mes NP-complets. Pr�alable: CSI2514,MAT1761,MAT2743;(pour les �tudiants en sp�cialisation math�matiques seulement: CSI2514,MAT2541 ou MAT2543)

BACK TO TOP


CSI3525 Concepts des langages de programmation (3,0,2) 4 cr.
Classification de langages de programmation. Description syntaxique de langages de programmation. Langages de programmation imp�ratifs: objets de donn�es, types de donn�es, structures de contr�le, sous-programmes, principes d'implantation. Programmation logique. Programmation fonctionnelle. Programmation orient�e objet. Modules. Pr�alable: CSI2514,deux laboratoires de langage de programmation choisis parmi CSI2565,(CSI2571 ou CSI2572 ou CSI2573)et CSI2574.Ne peut �tre combin� avec CSI2515 pour l'obtention de cr�dits.

BACK TO TOP


CSI3550 M�thodes de calcul pour probl�mes num�riques (3,0,0) 3 cr.
Cours d'introduction qui permettra l'application des m�thodes num�riques algorithmiques telles que calcul de racines, solution de syst�mes d'�quations, diff�rentiation, int�gration et optimisation. Pr�alables: CSI1501 ou CSI1502,MAT1722,MAT2741 Ce cours et MAT3780 sont mutuellement exclusifs.

BACK TO TOP


CSI3710 �l�ments de syst�mes d'exploitation (3,0,1.5) 3 cr.
Syst�mes de traitement par lots. Interaction de processus. Syst�mes de multi- programmation. Gestion de la m�moire centrale. Partage de proc�dures et donn�es. Contr�le de processus et ressources. Probl�mes d'impasse. Pr�alable: CSI2521 ou CEG3531

BACK TO TOP


CSI3717 Syst�mes de gestion des bases de donn�es (3,0,0) 3 cr.
Les donn�es et leurs diff�rents niveaux d'interpr�tations. Mod�le entit�-relation. Mod�le de donn�es relationnel. Alg�bre et calcul relationnels. Contraintes d'int�grit� et formes normales. Transactions et concurrence. Introduction aux mod�les de donn�es fond�s sur la logique et orient�s objet. Pr�alable: CSI2531

BACK TO TOP


CSI3901 Rapport de stage coop II 3 cr.
Co-op Work Term Report II

BACK TO TOP


CSI3902 Rapport de stage coop III 3 cr.
Co-op Work Term Report III

BACK TO TOP


CSI4101 Theory of Computability (3,0,0) 3 cr.
Recursive functions, recursively enumerable sets, decision problems, Church-Turing thesis. S-M-N theorem, recursion theorem. Topics selected from: Lambda calculus, formal languages, logic complexity theory. Prerequisite: CSI3104

BACK TO TOP


CSI4102 DNA Computing and Quantum Computing (3,1.5,0) 3 cr.
A brief introduction to quantum mechanics and biochemistry. Biochemical and quantum-mechanical computing models of DNA computer and a quantum computer. DNA replication, protein synthesis, quantum teleportation, quantum cryptography. Computational complexity of DNA and quantum algorithms. Examples of applications: breaking a cryptography system, solving an NP-complete problem. Prerequisites: MAT2341,MAT2371,CSI3104,CSI3105

BACK TO TOP


CSI4103 Topics in Computer Science I (3,0,0) 3 cr.
Selected topics in areas not covered by regular courses. Prerequisite: Permission of the School.

BACK TO TOP


CSI4104 Topics in Computer Science II (3,0,0) 3 cr.
Selected topics in areas not covered by regular courses. Prerequisite: Permission of the School.

BACK TO TOP


CSI4105 Design and Analysis of Algorithms II (3,0,0) 3 cr.
Theory of NP-completeness, methods for dealing with NP-complete problems. Selected topics in such areas as combinatorial optimization, computational geometry, cryptography, parallel algorithms. Prerequisite: CSI3105

BACK TO TOP


CSI4106 Introduction to Artificial Intelligence (3,0,0) 3 cr.
Basic concepts and methods of Artificial Intelligence. Representation of knowledge. Natural language processing. Games and search strategies. Planning. Deduction and reasoning. Machine learning. Basic notions of expert systems. Prerequisites: (CSI3125 or CSI2115 or SEG2101)and MAT1361

BACK TO TOP


CSI4107 Information Retrieval and the Internet (3,0,0) 3 cr.
Basic principles of Information Retrieval. Indexing methods. Query processing. Linguistic aspects of Information Retrieval. Agents and artificial intelligence approaches to Information Retrieval. Relation of Information Retrieval to the World Wide Web. Search engines. Servers and clients. Browser and server side programming for Information Retrieval. Prerequisites: (CSI3103 or ELG3300)and (CSI3125 or CSI2115 or SEG2101)

BACK TO TOP


CSI4109 Introduction to Distributed Computing (3,1.5,0) 3 cr.
Computational models. Communication complexity. Design and analysis of distributed algorithms. Control algorithms. Asynchronous computations. Synchronous computations. Fault-tolerant algorithms. Manipulation of distributed data. Examples of applications in data and communication networks, mobile computing and systems of communicating agents. Prerequisites: CSI3103,CSI3105

BACK TO TOP


CSI4110 Systems Programming (3,0,0) 3 cr.
Structure of an operating system. Assembler, compiler, linkages, data management. Task management. Debugging. Job management. System generation and maintenance. Virtual machines. Prerequisites: CSI2121,CSI3310

BACK TO TOP


CSI4115 Introduction to Compilers (3,0,0) 3 cr.
Fundamental features of programming languages, functions of compilers, processors, preprocessors, and translators. Organization of compilers including compile-time and run- time symbol tables. Lexical and syntactic analysis. Object code generation. Error diagnostics. Prerequisites: (CSI2121 or CEG3131)and (CSI3125 or CSI2115 or SEG2101)

BACK TO TOP


CSI4118 Computer Networks and Protocols (3,0,0) 3 cr.
Communication services, protocols and software. Details of layered protocol hierarchies. The transport, session, presentation and application layers. Fundamental concepts of computer network design. Computer network and communication protocol architectures. Prerequisite: CSI3103

BACK TO TOP


CSI4124 Foundations of Modelling and Simulation (3,0,0) 3 cr.
Fundamental aspects of system modelling and the simulation process. Elements of continuous system simulation. Issues relating to the numerical solution of ordinary differential equations. Elements of discrete event simulation. Generation of random numbers and variates. Simulation validation and quality assurance. Introduction to simulation languages. Prerequisites: (CSI3150 or MAT2324 or MAT2331)and MAT2375

BACK TO TOP


CSI4125 Theory of Programming Languages (3,0,0) 3 cr.
The concept of formal semantics. Attribute grammars. Denotational semantics. Operational semantics. Axiomatic semantics. Lambda-calculus for programming language description. Resolution and the semantics of logic programming. Theory of abstract data types. Concurrent programming, process algebras, CCS, CSP. Prerequisites: CSI3104,CSI3125,CSI3310

BACK TO TOP


CSI4128 Introduction to Distributed Systems (3,0,0) 3 cr.
Architectural concepts of distributing an application over several platforms. Overview of Local Area Network and Wide Area Network technologies (throughput, delay and reliability characteristics). Characteristics of mainframe, mini- and microcomputers. Network configuration and topologies. Types of network interactions - distributed databases, client-server, transaction processing, messaging. Advantages and disadvantages of distributed systems, practical applications and state-of-the-art case studies. Prerequisites: (CSI2115 or CSI3125 or SEG2101), CSI3103

BACK TO TOP


CSI4130 Computer Graphics (2,0,2) 3 cr.
Graphics hardware. Raster algorithms and software. Graphics standards (core, GKS, PHIGS). Geometrical transformations. Viewing in three dimensions. Curves and splines. Picture generation using solid polyhedra. Illumination and color. Ray tracing. Display file compilers. Graphics data structures. Interactive graphics. Prerequisites: MAT1341,CSI3105

BACK TO TOP


CSI4131 Real-Time Systems Design (3,0,3b) 4 cr.
Definition of real-time systems; examples. Characteristics of real-time systems. Analysis frameworks and tools. Elements of real-time system structure. Reliability and fault tolerance. Exceptions and exception handling. Concurrency and concurrent programming in real- time systems. Synchronisation and communication, resource control, and scheduling in real-time systems. Real-time system design methodologies. Computer assisted design of real-time systems. Prerequisites: (CEG3131 or CSI2121), CSI3310 Also offered as CEG4161.

BACK TO TOP


CSI4133 Computer Methods in Picture Processing and Analysis (2,0,2) 3 cr.
Representation of digital pictures. Elements of visual perception. Imaging geometry. Image enhancement and image restoration. Image segmentation and feature identification. Contenet-based analysis of images. Images compression, compression standards and graphics file format. Prerequisite: CSI3105

BACK TO TOP


CSI4134 Pattern Recognition Techniques (3,0,0) 3 cr.
Review of mathematical aspects of pattern classification in the context of picture processing languages. Practical examples in pattern recognition. Prerequisite: CSI3150 or MAT2331

BACK TO TOP


CSI4138 Design of Secure Computer Systems (3,0,3b) 4 cr.
Security policies. Security mechanisms. Physical security. Security awareness. User authentication. Application security mechanisms. Encryption. External and internal firewalls. Security of operating systems and software. Security of e-commerce applications. Design of security system and components. Devices for security analysis; sniffers, attack detectors. Information warfare. Ethical issues in computer security. Prerequisites: CEG3182 or CSI3103 or SEG3150 Also offered as CEG4394.

BACK TO TOP


CSI4140 Introduction to Parallel Computing (3,0,0) 3 cr.
Models of parallel computation. Shared memory parallel machines. Interconnection networks and their topological properties. Systolic arrays. Hypercube architectures. Layout. Performance measures for parallel algorithms. Parallel searching and data structures. Parallel algebraic and geometric processing. Fault-tolerant computing. Parallel evaluation of expressions. Prerequisite: CSI3105

BACK TO TOP


CSI4150 Introduction to Numerical Optimization Methods (3,0,0) 3 cr.
Review of the linear programming problem. The quadratic programming problem and other problems with special structure. Gradient dependent and gradient independent methods for the general unconstrained function minimization problem. Solution methods for the linear search problem. Penalty function approaches to the constrained problem. Prerequisite: CSI3150 or MAT2331

BACK TO TOP


CSI4501 Th�orie de la calculabilit� (3,0,0) 3 cr.
Fonctions r�cursives, ensembles r�cursivement d�nombrables. D�cidabilit�. Th�se de Church-Turing. Th�or�mes S-M-N et de la r�cursion. Th�mes choisis parmi le calcul-Lambda, les langages formels, la logique et la th�orie de la complexit�. Pr�alable: CSI3504

BACK TO TOP


CSI4502 Informatique � base d'ADN et informatique quantique (3,1.5,0) 3 cr.
Introduction � la m�canique quantique et � la biochimie. Mod�les d'architectures bas�es sur l'ADN et les quantum. Replication d'ADN, synth�se de prot�ines. T�l�portation cryptographie quantiques et complexit� de leurs algorithmes. Exemples d'applications: casse d'un syst�me de cryptographie, r�solution d'un probl�me NP-complet. Pr�alables: MAT2741,MAT2771,CSI3504,CSI3505

BACK TO TOP


CSI4503 Sujets en informatique I (3,0,0) 3 cr.
Sujets choisis dans des domaines non couverts par les cours r�guliers. Pr�alable: Permission de l'�cole.

BACK TO TOP


CSI4504 Sujets en informatique II (3,0,0) 3 cr.
Sujets choisis dans des domaines non couverts par les cours r�guliers. Pr�alable: Permission de l'Ecole.

BACK TO TOP


CSI4505 Conception et analyse des algorithmes II (3,0,0) 3 cr.
Th�orie du NP-complet. M�thodes de traitement des probl�mes NP-complets. Sujets choisis parmi les domaines suivants: optimisation combinatoire, g�om�trie de calcul, cryptographie, algorithmes parall�les. Pr�alable: CSI3505

BACK TO TOP


CSI4506 Introduction � l'intelligence artificielle (3,0,0) 3 cr.
Concepts et m�thodes de base de l'intelligence artificielle. Repr�sentation des connaissances. Traitement du langage naturel. Strat�gies de jeux et de recherches. Planification. Raisonnement et d�duction. Apprentissage. Notions de base des syst�mes experts. Pr�alables: (CSI3525 ou CSI2515 ou SEG2501)et MAT1761

BACK TO TOP


CSI4507 Recherche d'information et l'Internet (3,0,0) 3 cr.
Principes de base de la recherche d'information. M�thodes d'indexage. Traitement des requ�tes. Aspects linguistiques de la recherche d'information. Agents et approches d'intelligence artificielle pour la recherche d'information. Relation entre la recherche d'information et le World Wide Web. Moteur de recherche. Serveurs et clients. Programmation du c�t� client et du c�t� serveur pour la recherche d'information. Pr�alables: (CSI3503 ou ELG3700)et (CSI3525 ou CSI2515 ou SEG2501)

BACK TO TOP


CSI4509 Introduction au calcul r�parti (3,1.5,0) 3 cr.
Mod�les de calcul. Complexit� de communication. Conception et analyse d'agorithmes r�partis. Algorithmes de contr�le. Calcul dans les syst�mes asynchrones. Calcul dans les syst�mes synchrones. Algorithmes tol�rants aux d�faillances. Manipulation de donn�es r�parties. Exemples d'applications dans les r�seaux de communication, r�seaux mobiles, et syst�mes d'agents communicants. Pr�alables: CSI3503,CSI3505

BACK TO TOP


CSI4510 Syst�mes d'exploitation (3,0,0) 3 cr.
Structure d'un syst�me d'exploitation. Assembleurs, compilateurs, �dition des liens, gestion des entr�es-sorties, gestion des t�ches. Mise au point, gestion des travaux, g�n�ration, maintenance, machines virtuelles. Pr�alables: CSI2521,CSI3710

BACK TO TOP


CSI4515 Introduction aux compilateurs (3,0,0) 3 cr.
Les caract�ristiques essentielles des langages de programmation. Les fonctions des compilateurs, processeurs, pr�processeurs, et traducteurs. Organisation d'un compilateur et g�n�ration de tables. Analyse lexicale et syntaxique. G�n�ration du code en langage objet. D�tection d'erreurs. Pr�alables: (CSI2521 ou CEG3531)et (CSI3525 ou CSI2515 ou SEG2501)

BACK TO TOP


CSI4518 R�seaux d'ordinateurs et protocoles (3,0,0) 3 cr.
Services de communication, protocoles et logiciels. D�tails des hierarchies de protocoles � couches. Les couches transport, session, pr�sentation et application. Concepts fondamentaux de la conception de r�seaux d'ordinateurs. Architectures de r�seaux d'ordinateurs et de protocoles de communication. Pr�alable: CSI3503

BACK TO TOP


CSI4524 Principes de base de mod�lisation et simulation (3,0,0) 3 cr.
Aspects de base de la mod�lisation de syst�mes et du processus de simulation. El�ments de la simulation de syst�mes continus. Questions concernant la solution d'�quations diff�rentielles ordinaires. El�ments de simulation d'�v�nements discrets. G�n�ration de nombres al�atoires et variables al�atoires. Validation de simulation et contr�le de la qualit�. Introduction � des langages de simulation. Pr�alables: (CSI3550 ou MAT2724 ou MAT2731)et MAT2775

BACK TO TOP


CSI4525 Th�orie de langages de programmation (3,0,0) 3 cr.
Le concept de s�mantique formelle. Grammaires d'attributs. S�mantique d�notationnelle. S�mantique op�rationnelle. S�mantique axiomatique. Le calcul Lambda pour la description des langages de programmation. Le principe de r�solution et la s�mantique des langages de programmation logique. Th�ories de types abstraits de donn�es. Programmation parall�le, alg�bres de processus, CCS, CSP. Pr�alables: CSI3504,CSI3525,CSI3710

BACK TO TOP


CSI4528 Introduction aux syst�mes distribu�s (3,0,0) 3 cr.
Concepts architecturaux relatifs � la distribution d'une application sur plusieurs configurations. Vue d'ensemble des technologies de r�seaux locaux et de r�seaux � grande distance (volume de transfert, d�lai de transmission, fiabilit�). Caract�ristiques des machines de grande taille, de petite taille, et des micro-ordinateurs. Configurations et topologie des r�seaux. Types d'interaction dans un r�seau: base de donn�es distribu�e; client-serveur; traitement de transactions; �change de messages. Avantages et d�savantages des syst�mes distribu�s; applications pratiques de pointe et �tudes de cas. Pr�alables: (CSI2515,CSI3525 ou SEG2501), CSI3503

BACK TO TOP


CSI4530 Graphiques interactifs (2,0,2) 3 cr.
Mat�riel graphique. Algorithmes et logiciels pour image num�rique. Standards graphiques (GKS, Core, PHIGS). Transformations g�om�triques. Visualisation en trois dimensions. Courbes et splines. Polyh�dre solide et g�n�ration d'images. Illumination et couleur. Lancer de rayon. Compilateur d'images. Graphique interactif. Structures de donn�es graphiques. Pr�alables: MAT1741,CSI3505

BACK TO TOP


CSI4531 Conception de syst�mes en temps r�el (3,0,3b) 4 cr.
D�finition de syst�mes en temps r�el; exemples. Caract�ristiques de syst�mes en temps r�el. Outils et techniques d'analyse. Structure de syst�mes en temps r�el. Fiabilit� et tol�rance de d�faillances. Prise en charge d'exceptions. Simultan�it� d'ex�cution et programmation simultan�e de syst�mes en temps r�el. Synchronisation et communication, contr�le et ordonnancement de ressources dans des syst�mes en temps r�el. M�thodologies de conception de syst�mes en temps r�el. Conception assist�e par ordinateur de syst�mes en temps r�el. Pr�alables: (CEG3531 ou CSI2521), CSI3710 Aussi offert sous la cote CEG4561.

BACK TO TOP


CSI4533 M�thodes informatis�es en traitement d'image (2,0,2) 3 cr.
Repr�sentation des images num�riques. �l�ments de perception visuelle. G�om�trie des syst�mes d'acquisition d'images. Am�lioration d'images et restauration d'images. Segmentation et identification de primitives. Analyse des images � partir de leur contenu. Compression d'images et standard de compression. Formats standards de fichiers graphiques. Pr�alable: CSI3505

BACK TO TOP


CSI4534 Techniques de reconnaissance des formes (3,0,0) 3 cr.
�tude des aspects math�matiques associ�s � la classification de mod�les dans le contexte des langages de traitement d'image. Exemples pratiques en concordance de mod�les. Pr�alables: CSI3550 ou MAT2731

BACK TO TOP


CSI4538 Conception de syst�mes informatiques s�curitaires (3,0,1.5) 4 cr.
Politiques de s�curit�. M�canismes de s�curit�. S�curit� physique. Conscience de la s�curit�. Authentification d'utilisateur. Application des m�canismes de s�curit�. Codage. "Firewalls" internes et externes. S�curit� des syst�mes d'op�ration et des logiciels. S�curit� des applications de commerce �lectronique. Design de syst�mes et composantes de s�curit�. Dispositifs pour l'analyse de la s�curit�, renifleurs, d�tecteurs d'attaque. Guerre de l'information. Aspects �thiques de la s�curit� informatique. Pr�alable: CEG3582 ou CSI3503 ou SEG3550.Aussi offert sous la cote CEG4794.

BACK TO TOP


CSI4540 Introduction au calcul parall�le (3,0,0) 3 cr.
Mod�les de calcul parall�le. Machines parall�les � m�moire partag�e. R�seaux d'interconnexion et leurs propri�t�s topologiques. Tableaux systoliques. Architectures hypercube. Configuration physique. Mesures de performance pour algorithmes parall�les. Recherche parall�le et structures de donn�es. Traitement alg�brique et g�om�trique parall�le. Calcul tol�rant les pannes. �valuation parall�le d'expressions. Pr�alable: CSI3505

BACK TO TOP


CSI4550 Introduction aux m�thodes d'optimisation num�riques (3,0,0) 3 cr.
R�vision du probl�me de la programmation lin�aire. La programmation quadratique et autres probl�mes � structures sp�ciales. M�thodes pour le probl�me g�n�ral de la minimisation des fonctions sans contraintes (m�thodes � gradient variable ou ind�pendant). Solution au probl�me de la recherche lin�aire. M�thodes des fonctions de p�nalit�s. Pr�alable: CSI3550 ou MAT2731

BACK TO TOP


CSI4900 Projets de recherche (0,0,6) 3 cr.
Un projet d'une dur�e d'un semestre, � faire seul ou en petit groupe, sous la supervision d'un professeur. Les projets sont affich�s et sont choisis durant le semestre pr�c�dent. Les �tudiants doivent participer aux pr�sentations des projets, c�dul�es � la fin du semestre. pr�alable: (pour les �tudiants du programme CSI) 18 cr�dits de cours CSI ou SEG de niveau 3000; ou (pour les �tudiants en option SIG) 12 cr�dits de cours CSI ou SEG de niveau 3000 et 6 cr�dits de cours ADM de niveau 2000 ou 3000. Honours Project A one-semester project, individual or for a small group, carried out under the supervision of a faculty member. Projects are posted and selected in the preceding semester. The students are required to participate in project presentations scheduled at the end of the semester. Prerequisite: (for CSI students) 18 credits of CSI or SEG courses at the 3000 level; or (for IMS students) 12 credits of CSI or SEG courses at the 3000 level and 6 credits of ADM courses at the 2000 or 3000 level. 2000 or 3000 level.

BACK TO TOP


CSI4901 Rapport de stage coop IV 3 cr.
Co-op Work Term Report IV

BACK TO TOP


CSI4902 Rapport de stage coop V 3 cr.
Co-op Work Term Report V

BACK TO TOP


     
 


 

About U of O | Prospective Students | Students | Services | Academics | Research | News and Events | Alumni and Friends



System requirements | Feedback | Privacy Policy | Accessibility

© University of Ottawa
If you are looking for additional information, please contact us.
Technical questions or comments about this site? Last updated: 2015.08.06