About U of O
Prospective Students
Students
Services
Academics
Research
News & Events
Alumni & Friends
onmouseout="MM_swapImgRestore()" onblur="MM_swapImgRestore()" onblur="MM_swapImgRestore()" onmouseover="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)" onfocus="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)" onfocus="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)">Fran?sLibrariesMapsKeyword Search and DirectoriesCoursesuOttawa Home
Calendars > Courses > COMPUTER SCIENCE
COMPUTER SCIENCE
COMPUTER SCIENCE
1306 1308 1390 1706 1708 1790 2101 2110 2111 2120
2132 2167 2172 2308 2372 2501 2510 2520 2532 2567
2572 2708 2772 2901 2911 3103 3104 3105 3120 3125
3130 3131 3140 3150 3310 3317 3503 3504 3505 3520
3525 3530 3531 3540 3550 3710 3717 3901 3902 4101
4102 4103 4104 4105 4106 4107 4108 4109 4110 4115
4118 4124 4125 4126 4128 4130 4133 4134 4139 4140
4141 4150 4501 4502 4503 4504 4505 4506 4507 4508
4509 4510 4515 4518 4524 4525 4526 4528 4530 4533
4534 4539 4540 4541 4550 4900 4901 4902    
 
CSI1306 Computing Concepts for Business (3,0,2) 3 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 ITI1120, CSI1306, CSI1308, CSI1390 cannot be combined for credits.
  Top
 
CSI1308 Introduction to Computing Concepts (3,0,2) 3 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: Advanced Functions and Introductory Calculus 4U and Geometry and Discrete Mathematics 4U. The courses ITI1120, CSI1306, CSI1308, CSI1390 cannot be combined for credits
  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 ITI1220, CSI1221, CSI1301, CSI1303, CSI1390 cannot be combined for credits.
  Top
 
CSI1706 �l�ments de programmation pour la gestion (3,0,2) 3 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 ITI1520, CSI1706, CSI1708, CSI1790 sont mutuellement exclusifs.
  Top
 
CSI1708 Introduction aux concepts de l'informatique (3,0,2) 3 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�alables: Fonctions avanc�es et introduction au Calcul diff�rentiel 4U et G�om�trie et math�matiques discr�tes 4U. Les cours ITI1520, CSI1706, CSI1708 et CSI1790 sont mutuellement exclusifs.
  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 ITI1620, ITI1621, CSI1701, CSI1703, CSI1790 sont mutuellement exclusifs.
  Top
 
CSI2101 Discrete Structures (3,1.5,0) 3 cr.
Discrete structures as they apply to computer science, algorithm analysis and design. Predicate logic. Review of proof techniques; application of induction to computing problems. Graph theory applications in information technology. Program correctness, preconditions, postconditions and invariants. Analysis of recursive programs using recurrence relations. Properties of integers and basic cryptographical applications.
Prerequisite: MAT1348
  Top
 
CSI2110 Data Structures and Algorithms (3,1.5,1.5) 3 cr.
The concept of abstract data types. Simple methods of complexity analysis. Trees. The search problem: balanced trees, binary-trees, hashing. Sorting. Graphs and simple graph algorithms: traversal, minimum spanning tree. Strings and pattern matching.
Prerequisites: ITI1121, MAT1348
  Top
 
CSI2111 Computer Architecture (3,0,1.5) 3 cr.
Review of basic digital design. Organization of a digital computer: CPU structures and components, main memory, input-output module, and data/contral paths. Typical instruction sets of some standard CPU types. Instruction types. Addressing formats. Microarchitecture of control unti. Serial/parallel interfaces.
Prerequisites: CSI1101 or (CSI1102 and GNG1102) This course cannot be combined for credits with CEG2131.
  Top
 
CSI2120 Programming Paradigms (3,1.5,1.5) 3 cr.
Presentation of the major programming paradigms: object-oriented, imperative, logic, functional. Related programming languages, their essential properties and typical applications. Programming in imperative, logic and functional languages. Influence of programming paradigms on problem solving and program design strategies. An overview of other paradigms, such as constraint-based, rule-based and event-driven programming.
Prerequisite: CSI2110.
  Top
 
CSI2132 Databases I (3,1.5,1.5) 3 cr.
Fundamental database concepts. Entity-Relationship modeling. Relational algebra and relational calculus. Relational databases. Database definition and manipulation using SQL. Embedded SQL. Functional dependencies and normalization. Introduction to physical database design. Design and implementation of a database application in a team project.
Prerequisite: CSI2110.
  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.
  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.
  Top
 
CSI2308 Computing Concepts for Genomics (3,0,2) 3 cr.
Basic concepts of algorithm design and modern programming languages, including object-oriented and scripting languages, with special reference to genomic databases. Laboratory exercises will include designing programs for gene recognition, measuring genetic linkage, and protein sequence analysis.
Prerequisite: BIO2123. This course cannot be combined for credits with ITI1120, CSI1306.
  Top
 
CSI2372 Advanced Programming Concepts with C++ (3,1.5,1.5) 3 cr.
Differences between C++ and Java programming. C++ data types. Pointers and memory management. Object oriented programming in C++. File and stream I/O. Preprocessor macros. Templates and the Standard Template Library. Numerical computation in C++. Interfacing with hardware. Engineering applications.
Prerequisites: ITI1121, ITI1100.
  Top
 
CSI2501 Structures discr�tes (3,1.5,0) 3 cr.
Structures discr�tes utilis�es en informatique. Analyse et conception des algorithmes. Logique des pr�dicats. R�vision des techniques de preuves. Application de l'induction aux probl�mes en informatique. Th�orie des graphes. Applications en technologie de l'information. Justesse des programmes correction. Pr�, post conditions et invariants. Analyse des programmes r�cursifs � l'aide des relations de r�currence. Propri�t�s des entiers et application de base et en cryptographie.
Pr�alable : MAT1748
  Top
 
CSI2510 Structures de donn�es et algorithmes (3,1.5,1.5) 3 cr.
Types abstraits de donn�es. M�thodes simples d analyse de complexit�. Arbres. Recherche : arbres binaires, arbres �quilibr�s et hachage. Tris. Graphes et algorithmes simples pour graphes : parcours, arbre minimal recouvrant. Cha�nes, patrons et filtrage.
Pr�alables : ITI1521, MAT1748
  Top
 
CSI2520 Paradigmes de programmation (3,1.5,1.5) 3 cr.
Pr�sentation des principaux paradigmes de programmation: orient� objet, imp�ratif, logique, fonctionnel. Langages de programmation correspondants, leurs propri�t�s essentielles et leurs applications typiques. Programmation avec langages imp�ratifs, logiques et fonctionnels. Influence des paradigmes de programmation sur la r�solution de probl�mes et les strat�gies de conception de programmes. Survol d autres paradigmes tels que les programmations orient�es contraintes, � base de r�gles, et �v�nementielle.
Pr�alable : CSI2510.
  Top
 
CSI2532 Bases de donn�es I (3,1.5,1.5) 3 cr.
Concepts fondamentaux des bases de donn�es. Mod�le entit� relation. Alg�bre et calcul relationnels. Bases de donn�es relationnelles. D�finition de bases de donn�es et manipulation � l aide de SQL embarqu�. D�pendances fonctionnelles et normalisation. Introduction � la conception physique des bases de donn�es. Conception et implantation d une application avec base de donn�es (projet d �quipe)
Pr�alable : CSI2510.
  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.
  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.
  Top
 
CSI2708 Concepts de programmation pour la g�nomique (3,0,2) 3 cr.
Concepts de base de conception d'algorithmes et des languages de programmation modernes, orient�e objet et scriptage, avec des r�f�rences particuli�res aux bases de donn�es g�nomiques. Parmi les exercices en laboratoire, il y aura des exemples de programmes pour la recherche de g�nes, l'analyse de liaisons g�n�tiques, et l'analyse des s�quences prot�iques.
Pr�alable : BIO2533. Ce cours ne peut �tre combin� pour fins de cr�dits avec ITI1520.
  Top
 
CSI2772 Concepts avanc�s de programmation en C++ (3,0,1.5) 3 cr.
Diff�rences entre la programmation Java et la programmation C++. Pointeurs et gestion de la m�moire. Programmation orient�e objet en C++. Entr�e-sortie des fichiers et flux de donn�es. Macros du pr�processeur. Classes g�n�riques et bilbioth�que STL. Calcul num�rique en C++. Interfa�age avec le mat�riel. Applications d'ing�nierie.
Pr�alables : ITI1521, ITI1500
  Top
 
CSI2901 Rapport de stage coop I / Co-op Work Term Report I 3 cr.
 
  Top
 
CSI2911 Pratique professionnelle de l'informatique / Professionnal Practice in Computing (3,0,0) 3 cr.
Professionalism in Computer Science. Ethical practice. Intellectual property rights. Social impact of computing. Provacy and legal issues.
  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 or MAT2377 or CVG3170.
  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).
  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: CSI2110, MAT1361, MAT2343 or (for honours mathematics students only: CSI2114, MAT2141 or MAT2143).
  Top
 
CSI3120 Programming Language Concepts (3,1.5,1.5) 3 cr.
Design and evaluation criteria for programming languages. Introduction to syntactic and semantic description of programming languages. Basics of programming language implementation. Scripting languages. A comparison of design choices across programming paradigms: data objects, data types, control structures, sub-programs. Basics of concurrency.
Prerequisites: CSI2101, CSI2120,
  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.
Prerequisites: CSI2114, two programming language labs selected among CSI2165, (CSI2171 or CSI2172 or CSI2173) and CSI2174. Cannot be combined for credits with CSI2115.
  Top
 
CSI3130 Databases II (3,1.5,1.5) 3 cr.
Advanced physical database design. Access right, privacy and security. Query processing and optimization. Transaction processing, concurrency control and recovery. Object-oriented databases. Distributed and multi-databases. Data warehousing. Data integration. Design and implementation of a database component in a team project.
Prerequisite: CSI2132
  Top
 
CSI3131 Operating Systems (3,1.5,1.5) 3 cr.
Principles of operating systems. Operating systems design issues. Process management, process scheduling, concurrency issues. CPU scheduling. Memory management. Virtual memory. Mass storage systems. Input/Output system. File system. Security and protection. Examples of operating systems.
Prerequisites: CEG2136, CSI2110.
  Top
 
CSI3140 WWW Structures, Techniques and Standards (3,1.5,1.5) 3 cr.
Basic infrastructure of the Web. Servers and browsers. Examples of protocols. Internet and viruses. Search engine architecture. WWW Contents and presentation. Web pages, their structuring and interpretation. HTML, XML and their derivatives. Web interfaces to software and databases. Cookies and privacy issues. Semantic Web and o ntologies. Web services.
Prerequisites: CSI2110, CSI2132.
  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.
  Top
 
CSI3310 Operating System Principles (3,0,1.5) 3 cr.
Review of computer architecture. Processes and threads. Processor scheduling. Concurrency, mutual exclusion, and synchronization. Deadlock and starvation. Memory management and virtual memory. File management and I/O management.
Prerequisite: CSI2121 or CEG3131.
  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.
  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'o rdinateurs. Vue d'ensemble des hi�rarchies de protocoles � couches. Co uche physique, couches liaison de donn�es et r�seaux. Le contr�le des erreurs, le contr�le du d�bit des donn�es et les algorithmes de routag e. Commutation par paquets et r�seaux locaux.
Pr�alable : MAT2775 ou MAT2777 ou CVG3570.
  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).
  Top
 
CSI3505 Conception et analyse des algorithmes I (3,0,0) 3 cr.
Analyse des cas moyens et du pire cas. Analyse de la complexit�. Notations asymptotiques et classes de complexit� de base. Techniques de conception d'algorithmes: exhaustive, diviser pour r�gner, programmation dynamique glouton, retour arri�re. Complexit� computationnelle de probl�mes: arguments de borne inf�rieure. Classes P, NP, et NP complet; traitement des probl�mes NP complet.
Pr�alables: CSI2514, MAT1761, MAT2743, (pour les �tudiants en sp�cialisation math�matiques seulement: CSI2514, MAT2541 ou MAT2543).
  Top
 
CSI3520 Concepts des langages de programmation (3,1.5,1.5) 3 cr.
Crit�res de conception et d �valuation pour langages de programmation. Introduction � leur description syntaxique et s�mantique. Principes d implantation. Langages de script. Comparaison de choix de conception selon le paradigme de programmation: objets, types, structures de contr�le, sous-programmes. �l�ments de concurrence.
Pr�alables: CSI2501, CSI2520
  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�alables : 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.
  Top
 
CSI3530 Bases de donn�es II (3,1.5,1.5) 3 cr.
Conception avanc�e de bases de donn�es physiques. Droits d acc�s, protection et s�curit�. Traitement et optimisation des requ�tes. Traitement des transactions, contr�le du parall�lisme et reprise. Bases de donn�es orient�es objets, base de donn�es distribu�es et multi-bases de donn�es. Entrep�ts de donn�es. Int�gration des donn�es. Conception et implantation d un composant de base de donn�es (projet de groupe).
Pr�alable: CSI2532
  Top
 
CSI3531 Syst�mes d'exploitation (3,1.5,1.5) 3 cr.
Principes et conception des syst�mes d exploitation. Gestion des processus, ordonnancement des processus et concurrence. Ordonnancement du processeur. Gestion de la m�moire. M�moire virtuelle. M�moire de masse. Entr�es/sorties. Syst�me de fichiers. S�curit� et protection. Exemples de syst�mes d exploitation.
Pr�alables: CEG2536, CSI2510.
  Top
 
CSI3540 Structures, techniques et normes du Web (3,1.5,1.5) 3 cr.
Infrastructure de base du Web. Serveurs et navigateurs. Exemples de protocoles. Internet et virus. Architecture de moteur de recherche. Contenu et pr�sentation Web. Pages Web, leur structure et leur interpr�tation. HTML, XML et leurs d�riv�s. Interfaces Web vers les logiciels et bases de donn�es. T�moins et droit � la vie priv�. Web s�mantique et ontologies. Services Web.
Pr�alables : CSI2510, CSI 2532.
  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.
  Top
 
CSI3710 �l�ments de syst�mes d'exploitation (3,0,1.5) 3 cr.
Revue des architectures d'ordinateur. Processus et fils. Ordonnancement du processeur. Parallelisme, exclusion mutuelle et synchronisation. Impasse et famine. Gestion de la m�moire et m�moire virtuelle. Gestion des fichiers et gestion des unit�s d'E/S.
Pr�alable : CSI2521 ou CEG3531.
  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.
  Top
 
CSI3901 Rapport de stage coop II / Co-op Work Term Report II 3 cr.
 
  Top
 
CSI3902 Rapport de stage coop III / Co-op Work Term Report III 3 cr.
 
  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.
  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
  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.
  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.
  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.
  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.
  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), (CSI3125 or CSI2115 or SEG2101).
  Top
 
CSI4108 Cryptography (3,0,0) 3 cr.
The notion of secure communication. Building secure cryptosystems based on the assumption of computational hardness. Cryptographic one-way functions, trap-door functions, pseudorandom generators, and public/private-key encryption schemes. Computational indistinguishability and unpredictability. Digital signature and message authentication. Zero-knowledge/interactive proof systems. Application to e-commerce and e-trade.
Prerequisites: CSI3105, MAT2371.
  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, SEG3105.
  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.
  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), (CSI3125 or CSI2115 or SEG2101).
  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
  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), MAT2375.
  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.
  Top
 
CSI4126 Algorithms in bioinformatics (3,0,0) 3 cr.
DNA assembly, gene finding methods, exact string matching, pairwise alignment, grammatical frameworks, higher order structures. Recent developments, including DNA and protein chips.
Prerequisite: CSI3105.
  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.
  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.
  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.
  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.
  Top
 
CSI4139 Design of Secure Computer Systems (3,1.5,3b) 3 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.
Prerequisite: CEG3185 or SEG3155. Also offered as CEG4399.
  Top
 
CSI4140 Introduction to Parallel Computing (3,0,0) 3 cr.
Models of parallel computation. Architecture of parallel computers. Interconnection networks. Communication primitives. MPI, OpenMP. Principles of parallel algorithm design. Partitioning strategies. Load balancing. Analytical modeling of parallel programs. Parallel linear algebra. Parallel sorting. Parallel graph algorithms. Parallel searching.
Prerequisite: CSI3105.
  Top
 
CSI4141 Real-Time Systems Design (3,1.5,3) 3 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.
Prerequisite: CSI3131. Also offered as CEG4166.
  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.
  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.
  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, MAT2777, CSI3504, CSI3505.
  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.
  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.
  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.
  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 or CSI2515 ou SEG2501), MAT1761.
  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), (CSI3525 ou CSI2515 ou SEG2501).
  Top
 
CSI4508 Cryptographie (3,0,0) 3 cr.
La notion de communication s�re. Construction de cryptosyst�mes s�rs fond�e sur l'hypoth�se de la complexit� calculatoire. Fonctions cryptographiques unidirectionnelles, fonctions � portes de d�routement, g�n�rateurs pseudo-al�atoires, et sch�mas de chiffrement � cl� publique/priv�e. Incapacit� de distinction et impr�visibilit� calculatoires. Signature num�rique et authentification de messages. Syst�mes de preuves interactifs/� divulgation nulle. Application au commerce �lectronique et au courtage �lectronique.
Pr�alables : CSI3505, MAT2771.
  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, SEG3505.
  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
  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), (CSI3525 ou CSI2515 ou SEG2501).
  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
  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), MAT2775.
  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.
  Top
 
CSI4526 Algorithmes en bioinformatique (3,0,0) 3 cr.
Assemblage de l'ADN, recherche de g�nes, comparaison de cha�nes, alignement de s�quences, structures grammaticales, structures secondaires et tertiaires. Les r�cents d�veloppements, tels que les puces d'ADN et de prot�ines.
Pr�alable : CSI3505.
  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.
  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.
  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.
  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�alable : CSI3550 ou MAT2731.
  Top
 
CSI4539 Conception de syst�mes informatiques s�curitaires (3,1.5,3) 3 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 : CEG3585 ou SEG3555. Aussi offert sous la cot� CEG4799.
  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.
  Top
 
CSI4541 Conception de syst�mes en temps r�el (3,1.5,3) 3 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�alable : CSI3531. Aussi offert sous la cote CEG4566.
  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.
  Top
 
CSI4900 Projets de recherche / Honours Project (0,0,6) 3 cr.
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.
  Top
 
CSI4901 Rapport de stage coop IV / Co-op Work Term Report IV 3 cr.
 
  Top
 
CSI4902 Rapport de stage coop V / Co-op Work Term Report V 3 cr.
 
  Top