Computer Engineering is the driving force of the information revolution and its transformation of society. Over the course of their careers, computer engineers will be called upon to meet a number of challenges, most of which cannot be imagined today. Some current specialties include: computer architecture, digital electronics, digital circuits, very large-scale integrated circuit (VLSI) design, layout and testing, digital circuit testing and reliability, software design, software engineering, digital communication and computer networks.
The Curriculum
Computer engineering is a four-year, accredited program, which leads to eligibility for membership in the Ordre des Ingénieurs du Québec. The program consists of the Engineering Core, taken by all engineering students, the program core and elective courses. The computer engineering core provides a thorough grounding in all aspects of computer hardware and software. The "system hardware option" develops a high level of proficiency in the design of digital circuitry and VLSI. The "system software option" provides expertise in real-time system design and in embedded systems. Technical electives allow students to acquire further knowledge in various aspects of hardware or software. In their final year, students will complete a design project giving them the opportunity to apply the knowledge they have acquired to the design and testing of a working prototype.
Practical Experience Through Projects and Laboratories
Throughout the program, projects are assigned to enable the student to apply the theories learned and to gain practical experience. Frequently, students undertake projects on their own initiative. Recent efforts include:
Hardware/software co-design of ROTOS accelerator on soft CPU
Intelligent building using wireless transmission
Wireless communication for data acquisition system
Video processing and transmission over IP for video surveillance
Centralized authentication service
Design and Implementation of a reliable data diode service
--------------------------------------------------------------------------------
Computer Engineering Program
4-Year or 8-Term Program (120 Credits)
Engineering Core Credits
--------------------------------------------------------------------------------
EMAT 213 Ordinary Differential Equations 3.00
EMAT 233 Advanced Calculus 3.00
ENCS 282 Technical Writing and Communication 3.00
ENGR 201 Professional Pratice and Responsibility 1.50
ENGR 202 Sustainable Development and Environmental Stewardship 1.50
ENGR 273 Basic Circuit Analysis 3.75
ENGR 301 Engineering Management Principles and Economics 3.00
ENGR 371 Probability and Statistics in Engineering 3.00
ENGR 391 Numerical Methods in Engineering 3.00
ENGR 492 Impact of Tecnology on Society 3.00
General Education elective 3.00
_____
30.75
Computer Engineering Core Credits
--------------------------------------------------------------------------------
COEN 231 Introduction to Discrete Mathematics 3.00
COEN 243 Programming Methodology I 3.00
COEN 244 Programming Methodology II 3.00
COEN 311 Computer Organization and Software 3.75
COEN 312 Digital Systems Design I 3.75
COEN 352 Data Structures and Algorithms 3.00
COEN 417 Microprocessor Systems 4.50
COEN 445 Communications Networks and Protocols 4.00
COEN 490 Computer Engineering Project 4.00
COMP 346 Operating Systems 4.00
ELEC 261 Complex Variables for Electrical and Computer Engineers 3.00
ELEC 311 Electronics I 4.50
ELEC 321 Introduction to Semiconductor Materials and Devices 3.50
ELEC 353 Transmission Line Circuits and Electromagnetics Waves 3.00
ELEC 361 Signals and Systems 3.00
ELEC 370 Modelling and Analysis of Physical Systems 3.75
ELEC 372 Fundamentals of Control Systems 3.75
SOEN 341 Software Process 3.00
_____
63.50
Students must declare either the Systems Hardware Option or Systems Software option at the end of their first year of study:
System Hardware Option Credits
--------------------------------------------------------------------------------
COEN 313 Digital Systems Design II 3.75
COEN 315 Digital Electronics 3.75
COEN 316 Computer Architecture and Design 3.00
COEN 451 VLSI Design I 4.00
ELEC 461 Fundamentals of Telecommunications Systems 3.75
Elective credits chosen from the lists below 7.50
_____
25.75
System Software Option Credits
--------------------------------------------------------------------------------
COEN 320 Introduction to Real-Time Systems 3.00
COEN 345 Software Testing and Validation 4.00
COEN 421 Embedded Systems and Software Design 4.50
SOEN 342 Requirements and Specifications 3.00
SOEN 343 Software Design 3.00
Electives chosen from the lists below 8.25
_____
25.75
Electives for Both Options Credits
--------------------------------------------------------------------------------
COEN 498 Topics in Computer Engineering 3.00
COMP 353 Databases 4.00
COMP 471 Computer Graphics 4.00
COMP 472 Artificial Intelligence 4.00
COMP 474 Introduction to Expert Systems 4.00
ELEC 442 Introduction to Digital Signal Processing 3.75
ELEC 465 Network Security and Management 3.75
ELEC 481 Linear Systems 3.75
ENCS 245 Mechanical Analysis 3.00
ENCS 472 Robot Manipulators 3.75
SOEN 344 Software Architecture 3.00
ENGR 411 Special Technical Report 1.00
Electives for System Hardware Option Credits
--------------------------------------------------------------------------------
COEN 320 Introduction to Real-Time Systems 3.00
COEN 345 Software Testing and Validation 4.00
COEN 421 Embedded Systems and Software Design 4.50
ELEC 312 Electronics II 4.50
ELEC 462 Digital Transmission Systems 3.75
SOEN 342 Software Requirements and Specifications 3.00
SOEN 343 Software Design 3.00
Electives for System Software Option Credits
--------------------------------------------------------------------------------
COEN 313 Digital Systems Design II 3.75
COEN 315 Digital Electronics 3.75
COEN 316 Computer Architecture and Design 3.00
COMP 335 Introduction to Theoretical Computer Science 3.00
COMP 442 Compiler Design 4.00
COMP 451 Database Design 4.00
COMP 465 Design and Analysis of Algorithms 3.00
ELEC 461 Fundamentals of Telecommunications Systems 3.75
SOEN 357 User Interface Design 3.00
SOEN 431 Formal Methods 3.00
SOEN 448 Management of Evolving Systems 3.00
SOEN 449 Component Engineering 3.00
SOEN 475 Imaging and Visualization 3.00
--------------------------------------------------------------------------------
COMPUTER ENGINEERING CO-OP PROGRAM
For students interested in applying to the Co-operative Option, the following is a basic summary of the types of activities performed during the work terms:
First Work Term
For most students this work term represents their first experience in an engineering or related work environment and as such represents the first opportunity to evaluate their choice of pursuing an engineering education. Since COEN students are concerned with the design and use of computing devices and systems for the processing, retrieval and storage of information students begin by testing software pieces designed and implemented by engineers. Students can be involved in documentation reviews and code inspections. They can also design, update and maintain firewall intrusions. Students can participate in designing and building of fault tolerant client servers in speech recognition systems, which automate access to information and services over the phone. Students can also develop and maintain databases in charge of support programs like Radarsat data or design and implement web pages. They have acquired skills in C++, Java, Windows NT and UNIX.
Second Work Term
Students can now work in E-commerce interface check and proceed in fraud analysis and RLP programming. They can web program (server application) with Java as well as test, debug and produce documentation. Students can design and develop implementation of Java 2 Enterprise Edition compliant Telecom Grade Application Server (J2AS). Further, they can develop an XML parser to parse through the J2-AS configuration description files. They can also customize an Open Source IBM Java Install Tool kit in order to meet the needs of a J2AS build/packaging release.
Third Work Term
At this level, students can participate in any low level software project. They design, develop and test utilities for high capacity router as well as verify APIs already developed to provide supporting documentation. By now they have participated in the implementation of high performance computing architectures and systems for conducting research into how to best apply these architectures SIGNT problems and for the development of new SW solutions. Assigned tasks may include producing formal project proposals and reports, specifications and plans. Students are now participating in the design, implementation and testing of software products for special projects.