À propos de nous
Programmes d'études Supérieures
Formulaires d'admission
Étudiants internationaux
Domaines de recherche
Cours gradués
Horaire des cours d'Automne
Horaire des cours d'Hiver
Horaire des cours d'Été
Étudiants spéciaux

Cours offerts (Génie informatique et logiciel)

COMP5406 (CSI5105) Network Security and Cryptography (Carleton CRN: 18326)
Advanced methodologies selected from symmetric and public key cryptography, network security protocols and infrastructure, identification, secret-sharing, anonymity, intrusion detection, firewalls, defending network attacks and performance in communication networks.
ELG7186 (COMP5606P) Topics in Computers: Principles of Distributed Simulation (Carleton CRN: 18328)
Distributed simulation principles and practices. Synchronization protocols: Optimistic vs Conservative, Deadlock detection in conservative simulations, Time warp simulation. Distributed interactive simulation: Data distribution management, Interest management, High Level Architectures (HLA), Run Time Infrastructure (RTI). Distributed web-based simulation. Distributed agent-based simulation. Real time applications of distributed simulation. Distributed and collaborative virtual simulations.
ELG5191 (EACJ5203) Design of Distributed System Software (Carleton CRN: 37115)
Distributed systems design and programming issues; distributed computing. Basics of object oriented technology for distributed computing. Distributed objects technologies. Object oriented models for distributed programming. Distributed computing architecture design. Component based distributed software design. Scalability, interoperability, portability and distributed services. Distributed applications design. Prerequisites: an undergraduate degree in Computer Engineering, or Computer Science, or practical experience in system software design.
An undergraduate education in Computer Engineering, or Computer Science, or practical experience in system software design.
ELG5125 (EACJ5205) Quality of Service Management for Multimedia Applications (Carleton CRN: 37121)
Design principles: layering, protocols, interfaces; models for open distributed processing; real-time requirements; request-response and stream processing, real-time scheduling, design for performance and scalability; other quality of service issues; user perspective versus system performance parameters, cost/performance trade-offs, negotiations; adaptive and mobile applications; examples of multimedia applications and protocols.
ELG 5374 (EACJ5607) or SYSC5201 (ELG 6121) or the equivalent.
ELG5194 (EACJ5703) Design and Testing of Reliable Digital Systems (Carleton CRN: 17334)
Introduction. Test generation for combinatorial circuits. Fault detection in sequential circuits. Memory testing. LSI/VLSI circuit testing. Deterministic and random testing of digital circuits. Design for testability. Self-checking circuits. Design of fault-tolerant systems. Case studies.
ELG 5195 or the equivalent.
ELG7186 (EACJ5807) Topics in Computers I: Optical Computing and Switching (Carleton CRN: 17233)
Optical Computing and Switching : Basic concepts in optics. Fourier optics. Optically addressable spatial light modulators. Optical interconnections. Optical memory. Optical logic. Optical arithmetic computation. Optical matrix computations. Optical sequential machines. Optical dataflow computers. Optical cellular automata. Optical neural networks. Optical autoassociative and self organization networks.
ELG7186B (EACJ5807B) Topics in Computers I: Hardware/Software Codesign of Embedded Systems (Carleton CRN: 17151)
ELG7186X (EACJ5807X) Topics in Computers: Software Engineering Project Management (Carleton CRN: 17233)
Management of software engineering projects. Software system engineering and organization methods; work breakdown structure; effort, duration and cost estimation; scheduling and planning. Monitoring and control; analysis of options; management of risks, change, and expectations. Process and product metrics, post-performance analysis, process maturity. Management of Agile Programming methodologies such as Extreme Programming; Case studies.
ELG7187A (EACJ5808A) Topics in Computers II: Mobile Software Agent (Carleton CRN: 35893)
Mobile Software Technologies for Telecommunications : The course will develop the emerging Software Agent technologies. The focus will be on mobile agent technologies and their applications to the area of telecommunications and Internet services. Existing distributed architectures will be contrasted with the mobile agent paradigm. Agent architecture, platforms, frameworks and applications will be described.
ELG7187C (EACJ5808C) Topics in Computers II: Formal Methods for the Development of Distributed Real-Time Applications (Carleton CRN: 18447)
Formal Methods for the Development of Distributed Real-Time Applications: Formal methods in software engineering, specifically for distributed systems; models of formal specifications: state machines, assertions, temporal logic, real-time constraints; specification languages: UML, SDL, Z; requirements; architectural design; deriving protocol specifications from requirements; deriving submodules from requirements; verification, validation; CASE tools; practical project using industrial-strength CASE tools.
ELG7187D (EAJC5808D) Topics in Computers: Computer Animation (Carleton CRN: 18448)
Various algorithms and techniques related to computer animation are covered and discussions and proposal of improvements are encouraged. The main topics are Principles of Animation, Human Modeling, Motion capture, Inverse kinematics, Motion Editing/retargeting, Flexible bodies, Facial animation, clothes animation, high-level behaviours and various applications.
SYSC5003 (ELG6103) Discrete Stochastic Models
Models for software, computer systems, and communications networks, with discrete states, instantaneous transitions and stochastic behaviour. Communicating finite state machines and Petri nets. Review of concepts of probability, and of Markov Chains with discrete and continuous parameters. Basic queueing theory. Numerical methods for Markov models.
SYSC5101 (ELG6111) Design of High Performance Software (Carleton CRN: 18306)
Designing software to demanding performance specifications. Design analysis using models of computation, workload, and performance. Principles to govern design improvement for sequential, concurrent and parallel execution, based on resource architecture and quantitative analysis.
Engineering SYSC5704 and a course in software engineering; or the equivalents.
SYSC5103 (ELG6113) Software Agents (Carleton CRN: 35903)
Agent-based programming; elements of distributed artificial intelligence; beliefs, desires and intentions; component based technology; languages for agent implementations; interface agents; information sharing and coordination; KIF; collaboration; communication; ontologies; KQML; autonomy; adaptability; security issues; mobility; standards; agent design issues and frameworks; applications in telecommunications.
SYSC5104 (ELG6114) Methodologies for Discrete-Event Modelling and Simulation (Carleton CRN: 35904)
Methodological aspects of simulation. Modelling discrete events systems. Modeling formalisms: FSA, FSM, Petri Nets, DEVS, others. Verification and Verification. Cellular models: Cellular Automata, Cell-DEVS. Continous and hybrid models. Parallel and Distributed simulation (PADS) techniques. PADS middleware: HLA, Parallel-DEVS, Time-Warp.
SYSC5105 (ELG6115) Software Quality Engineering and Management (Carleton CRN: 33924)
All aspects of software quality engineering. Software testing, at all stages of the software development and maintenance life cycle. Software reviews and inspections. Use of software measurement and quantitative modelling for the purpose of software quality control and improvement.
SYSC5300 (ELG6130) Health Care Engineering (Carleton CRN: 15909)
Overview of health care system participants; biophysical measurements for diagnosis/monitoring; biomedical sensors/technology; telemedicine and applications; safety considerations; managing medical technologies/funding models for clinical engineering departments; consideration for developing countries.
SYSC5701 (ELG6171) Operating System Methods for Real-Time Applications (Carleton CRN: 12878)
Principles and methods for operating system design with application to real-time, embedded systems. Concurrent programming: mechanisms and languages; design approaches and issues; run-time support (kernel). Methods for hard real-time applications. Methods for distributed systems. Programming assignments in a suitable programming language.
SYSC3303 or SYSC5704, or the equivalent courses and/or experience. Programming experience in high-level and assembly languages.
SYSC5703 (ELG6173) Integrated Database Systems (Carleton CRN: 18171)
Database definitions, applications, and architectures. Conceptual design based on the entity-relationship and object-oriented models. Relational data model: relational algebra and calculus, normal forms, data definition and manipulation languages. Database management systems: transaction management, recovery and concurrency control. Current trends: object-oriented, knowledge-based, multimedia and distributed databases.
SYSC5704 (ELG 6174) or the equivalent.
SYSC5704 (ELG6174) Elements of Computer Systems (Carleton CRN: 37102)
Concepts in basic computer architecture, assembly languages, high level languages including object orientation, compilers and operating system concepts (including concurrency mechanisms such as processes and threads and computer communication). Designed for graduate students without extensive undergraduate preparation in computer engineering (or the equivalent experience). Prerequisite: Programming experience in at least one high level language and permission of the Department;
Programming experience with at least one high-level language. Permission of the Department of Systems and Computer Engineering.
SYSC5708 (ELG6178) Development of Real-Time and Distributed Software with Reusable Components (Carleton CRN: 37103)
Advanced object-oriented design and programming of real-time and distributed systems using C++ and/or Java. Object-oriented features: inheritance, polymorphism, templates, exception handling. Concurrency issues. Design patterns and frameworks for distributed systems, with examples from communication applications. Design issues for reusable software. Prerequisite: Knowledge of C++ and/or Java, of operating system concepts and approval of the Department.
Knowledge of C++ and approval of the instructor.
SYSC5807W (ELG6187W) Advanced Topics in Computer Systems: Security and Privacy for E-Services (Carleton CRN: 35906)
The nature of e-services, including web services and associated protocols; the need for security and privacy; privacy legislation; traditional security systems including PKI, SSL, firewalls, PVNs; weaknesses of traditional security systems for e-services; new solutions and research areas, including XML Security, WS-Security, anonymity networks, onion routing, policy-based security management systems, privacy specification and negotiation, security enhancing agents, privacy enhancing agents.
SYSC 5207 (ELG 6127) or equivalent or permission of the instructor.
SYSC 5207 (ELG 6127) may be taken concurrently if offered.