|
|
|
|
|
|
|
Computer Science
Southt-after skills
Computers today are indispensable in government, business and industry, in tasks ranging from simple word processing to advanced information management, decision-making and computer-assisted design. The Internet and the Web are prime applications of computing; others include banking, accounting, engineering, transportation, health services, arts, entertainment and practically every sphere of human activity.
While more and more people use computers, few know how to design, build and maintain software. Computer science is a discipline that concerns itself with all aspects of information processing, in particular with principles of software technology. Demand for computing services and for expertise in computer science and software technology increases faster than universities can educate highly skilled graduates. This is a great challenge.
We meet this challenge by offering academic instruction of high quality to future computing specialists. We provide a balanced basis for work in information technology and in innovative research. Our courses cover in breadth and in depth the theory and practice of all central areas of computer science and its applications. Comprehensive mathematical background and foundations of problem solving and programming prepare the student for advanced material in the higher years of the program. In particular, we teach object-oriented technology, databases and software engineering, which are all essential for professional software developers and analysts.
Computing facilities
Students have up-to-date computing facilities at their disposal. These facilities include a local area network comprised of more than 200 PCs with the latest processors, running Microsoft Windows, as well as Sun workstations running Unix or Linux and X-Windows. Numerous programming languages available to students include Java, C, C++, Prolog, Scheme, Smalltalk and Pascal. A variety of other software tools are available, including visual program development environments, scripting languages, database management systems and tools for work on the Internet.
Research
We work on the scientific foundations of computer technologies and on new frontiers in theory and applications of computing. Our research strengths include telecommunications: specification and testing of data communications protocols; software engineering: artificial intelligence including machine learning and data mining; electronic commerce; verification and theorem proving; distributed computing; combinatorial algorithms; computational geometr; optimization; computer graphics, vision and image processing; natural language processing and computer-aided lecturing.
Programs
We offer three programs: a general computer science program (CS), an honours program in computer science with a concentration in mathematics-science (CS-Math), and a computer science program with an information and management systems option (IMS). The CS program focuses on science and engineering aspects and applications of computing, as well as on software technology. The CS-Math program focuses on theory of computing and gives the graduate a second degree in mathematics. The IMS program combines education in computing and mathematics with education in business, economics and operations research. Graduates of the IMS program are particularly well prepared for positions in the commercial world that require technical and computing expertise.
We offer a unique opportunity for bilingual education and a stimulating bilingual atmosphere. Students may take the programs in either English or French.
The CS and the IMS programs are offered as three-year programs leading to the BSc with concentration, and as a four-year program leading to the BSc with honours. The latter, and the CS-Math program, give the student more depth and breadth in the discipline. An honours degree is a prerequisite for graduate studies. All computer science programs place sufficient emphasis on the foundational and advanced aspects of computer science to prepare the student for work on an advanced degree.
The following pages present the detailed requirements for each program. It should be kept in mind that no course in any program can be taken unless the stated prerequisites have been fulfilled. This calendar contains descriptions of courses in all programs. Not every course listed here will necessarily be offered every year. The timetable shows all courses available in a given semester.
|
|
BSc with concentration in Computer Science | 98 |
|
|
|
First year | 32 |
|
Fall: | |
CSI1100 | Introduction to Computer Science I | 4 |
MAT1320 | Calculus I | 3 |
MAT1341 | Introduction to Linear Algebra | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Winter: | |
CSI1101 | Introduction to Computer Science II | 4 |
MAT1322 | Calculus II | 3 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Second year | 32 |
|
Fall: | |
CSI2111 | Computer Architecture | 3 |
CSI2114 | Data Structures | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
ENG1112 | Technical Report Writing | 3 |
MAT2371 | Introduction to Probability | 3 |
|
Complementary studies elective2 | 3 |
|
Winter: | |
CSI2121 | Principles of Assembly Language Programming | 3 |
CSI2131 | File Management | 3 |
CSI2165 | Prolog Concepts Laboratory | 2 |
or | |
CSI2174 | Functional Programming Concepts Laboratory | 2 |
CSI2910 | Professional Practice in Computing / Pratique professionnelle de l'informatique | 1 |
MAT2343 | Elements of Discrete Mathematics | 3 |
MAT2375 | Introduction to Statistics | 3 |
|
Third year | 34 |
|
Fall: | |
CSI3105 | Design and Analysis of Algorithms I | 3 |
CSI3125 | Concepts of Programming Languages | 4 |
CSI3317 | Database Management Systems | 3 |
MAT2341 | Linear Algebra | 3 |
|
CSI electives at the 3000-level3 | 3 |
|
Winter: | |
CSI3310 | Operating System Principles | 3 |
SEG3300 | Introduction to Software Engineering | 3 |
|
Science electives taken outside of SITE at the 2000-level1 | 3 |
|
Complementary studies elective2 | 6 |
|
Electives chosen within SITE at the 3000-level3 | 3 |
|
Summary of required electives for the concentration: | |
|
Science electives (non-SITE) at the 1000-level1 | 12 |
|
Science elective (non-SITE) at the 2000-level1 | 3 |
|
Complementary studies electives2 | 9 |
|
Computer science elective at the 3000-level3 | 3 |
|
Elective chosen within SITE at the 3000-level3 | 3 |
(1) Consult the list of science electives in the Academic Regulations section. | |
(2) For a complete list of complementary studies electives, consult the Academic Regulations section. | |
(3) Consult the Faculty of Engineering calendar. All courses listed in the calendar are not necessarily offered every year. | |
|
|
|
BSc with honours in Computer Science | 125 |
|
|
|
First year | 32 |
|
Fall: | |
CSI1100 | Introduction to Computer Science I | 4 |
MAT1320 | Calculus I | 3 |
MAT1341 | Introduction to Linear Algebra | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Winter: | |
CSI1101 | Introduction to Computer Science II | 4 |
MAT1322 | Calculus II | 3 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Second year | 32 |
|
Fall: | |
CSI2111 | Computer Architecture | 3 |
CSI2114 | Data Structures | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
ENG1112 | Technical Report Writing | 3 |
MAT2371 | Introduction to Probability | 3 |
|
Complementary studies elective2 | 3 |
|
Winter: | |
CSI2121 | Principles of Assembly Language Programming | 3 |
CSI2131 | File Management | 3 |
CSI2165 | Prolog Concepts Laboratory | 2 |
or | |
CSI2174 | Functional Programming Concepts Laboratory | 2 |
CSI2910 | Professional Practice in Computing / Pratique professionnelle de l'informatique | 1 |
MAT2343 | Elements of Discrete Mathematics | 3 |
MAT2375 | Introduction to Statistics | 3 |
|
Third year | 31 |
|
Fall: | |
CSI3103 | Data Transmission and Computer Networks | 3 |
CSI3105 | Design and Analysis of Algorithms I | 3 |
CSI3125 | Concepts of Programming Languages | 4 |
CSI3317 | Database Management Systems | 3 |
MAT2341 | Linear Algebra | 3 |
|
Winter: | |
CSI3104 | Introduction to Formal Languages | 3 |
CSI3150 | Computational Methods for Numerical Problems | 3 |
CSI3310 | Operating System Principles | 3 |
SEG3300 | Introduction to Software Engineering | 3 |
|
Science electives taken outside of SITE at the 2000-level1 | 3 |
|
Fourth year | 30 |
|
Fall: | |
|
CSI electives at the 4000-level3 | 6 |
|
Complementary studies elective2 | 3 |
|
Science elective taken outside of SITE at the 2000-level1 | 3 |
|
Elective chosen within SITE at the 3000-level for non-CSI courses or at the 4000-level for CSI courses3 | 3 |
|
Winter: | |
CSI4900 | Projets de recherche / Honours Project | 3 |
|
CSI electives at the 4000-level3 | 6 |
|
Complementary studies elective2 | 3 |
|
Elective chosen within SITE at the 3000-level for non-CSI courses or at the 4000-level for CSI courses3 | 3 |
|
Summary of the required electives for Honours: | |
|
Science electives (non-SITE) at the 1000-level1 | 12 |
|
Science electives (non-SITE) at the 2000-level1 | 6 |
|
Complementary studies electives2 | 9 |
|
Computer science electives at the 4000-level3 | 12 |
|
Electives chosen within SITE at the 3000-level for non-CSI courses or at the 4000-level for CSI courses3 | 6 |
(1) Consult the list of science electives in the Academic Regulations section. | |
(2) For a complete list of complementary studies electives, consult the Academic Regulations section. | |
(3) Consult the Faculty of Engineering calendar. All courses listed in the calendar are not necessarily offered every year. | |
(4) Students may register in either the Fall or the Winter session. | |
|
|
|
BSc in Computer science with concentration (Information and Management Systems option) | 101 |
|
|
|
First year | 32 |
|
Fall: | |
ADM1100 | Introduction to Business Management | 3 |
CSI1100 | Introduction to Computer Science I | 4 |
ECO1104 | Introduction to Microeconomics | 3 |
MAT1320 | Calculus I | 3 |
MAT1341 | Introduction to Linear Algebra | 3 |
|
Winter: | |
ADM2302 | Business Decision Models | 3 |
CSI1101 | Introduction to Computer Science II | 4 |
ECO1102 | Introduction to Macroeconomics | 3 |
MAT1322 | Calculus II | 3 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Second year | 35 |
|
Fall: | |
CSI2111 | Computer Architecture | 3 |
CSI2114 | Data Structures | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
ENG1112 | Technical Report Writing | 3 |
MAT2371 | Introduction to Probability | 3 |
|
Science elective taken outside of SITE at the 1000-level1 | 3 |
|
Winter: | |
ADM2320 | Marketing | 3 |
CSI2121 | Principles of Assembly Language Programming | 3 |
CSI2131 | File Management | 3 |
CSI2165 | Prolog Concepts Laboratory | 2 |
or | |
CSI2174 | Functional Programming Concepts Laboratory | 2 |
CSI2910 | Professional Practice in Computing / Pratique professionnelle de l'informatique | 1 |
MAT2343 | Elements of Discrete Mathematics | 3 |
MAT2375 | Introduction to Statistics | 3 |
|
Third year | 34 |
|
Fall: | |
ADM2340 | Financial Accounting | 3 |
ADM3378 | Electronic Business | 3 |
CSI3105 | Design and Analysis of Algorithms I | 3 |
CSI3125 | Concepts of Programming Languages | 4 |
CSI3317 | Database Management Systems | 3 |
|
ADM elective at the 2000-level and above2 | 3 |
|
Winter: | |
ADM2350 | Financial Management | 3 |
CSI3310 | Operating System Principles | 3 |
SEG3300 | Introduction to Software Engineering | 3 |
|
Complementary studies elective3 | 3 |
|
ADM elective at the 2000-level and above2 | 3 |
|
Summary of required electives for the concentration: | |
|
Complementary studies elective3 | 3 |
|
Science electives (non-SITE) at the 1000-level1 | 3 |
|
ADM electives at the 2000-level and above2 | 6 |
(1) Consult the list of science electives (non-ADM) in the Academic Regulations section. | |
(2) Consult the School of Management's calendar. | |
(3) For a complete list of complementary studies electives (non-ADM), consult the Academic Regulations section. | |
|
|
|
Honours BSc in Computer Science (Information and Management Systems option) | 128 |
|
|
|
First year | 32 |
|
Fall: | |
ADM1100 | Introduction to Business Management | 3 |
CSI1100 | Introduction to Computer Science I | 4 |
ECO1104 | Introduction to Microeconomics | 3 |
MAT1320 | Calculus I | 3 |
MAT1341 | Introduction to Linear Algebra | 3 |
|
Winter: | |
ADM2302 | Business Decision Models | 3 |
CSI1101 | Introduction to Computer Science II | 4 |
ECO1102 | Introduction to Macroeconomics | 3 |
MAT1322 | Calculus II | 3 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Second year | 35 |
|
Fall: | |
CSI2111 | Computer Architecture | 3 |
CSI2114 | Data Structures | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
ENG1112 | Technical Report Writing | 3 |
MAT2371 | Introduction to Probability | 3 |
|
Science elective taken outside of SITE at the 1000-level1 | 3 |
|
Winter: | |
ADM2320 | Marketing | 3 |
CSI2121 | Principles of Assembly Language Programming | 3 |
CSI2131 | File Management | 3 |
CSI2165 | Prolog Concepts Laboratory | 2 |
or | |
CSI2174 | Functional Programming Concepts Laboratory | 2 |
CSI2910 | Professional Practice in Computing / Pratique professionnelle de l'informatique | 1 |
MAT2343 | Elements of Discrete Mathematics | 3 |
MAT2375 | Introduction to Statistics | 3 |
|
Third year | 34 |
|
Fall: | |
ADM2340 | Financial Accounting | 3 |
ADM3378 | Electronic Business | 3 |
CSI3105 | Design and Analysis of Algorithms I | 3 |
CSI3125 | Concepts of Programming Languages | 4 |
CSI3317 | Database Management Systems | 3 |
|
ADM elective at the 2000-level and above2 | 3 |
|
Winter: | |
ADM2350 | Financial Management | 3 |
CSI3310 | Operating System Principles | 3 |
SEG3300 | Introduction to Software Engineering | 3 |
|
Complementary studies elective3 | 3 |
|
ADM at the 2000-level and above2 | 3 |
|
Fourth year | 27 |
|
Fall: | |
ADM4378 | Networks and Telecommunication: A Business Perspective | 3 |
or | |
CSI3103 | Data Transmission and Computer Networks | 3 |
|
Science elective taken outside of SITE at the 1000-level1 | 3 |
|
ADM at the 3000-level and above4 | 6 |
|
Elective chosen within SITE at the 3000-level5 | 3 |
|
Winter: | |
CSI4900 | Projets de recherche / Honours Project | 3 |
|
Elective chosen within SITE at the 3000-level5 | 3 |
|
ADM at the 3000-level and above4 | 6 |
Summary of required electives for the Honours: | |
|
Complementary studies elective3 | 3 |
|
Science electives (non-SITE) at the 1000-level1 | 6 |
|
ADM electives at the 2000-level and above2 | 6 |
|
Elective chosen within SITE at the 3000-level5 | 6 |
|
ADM at the 3000-level and above4 | 12 |
(1) Consult the list of science electives (non-ADM) in the Academic Regulations section. | |
(2) Consult the School of Management's calendar. | |
(3) For a complete list of complementary studies electives (non-ADM), consult the Academic Regulations section. | |
(4) List of ADM at the 3000-level and above: | |
ADM3108 | E-Governance | 3 |
ADM3305 | Business Simulation | 3 |
ADM3306 | Statistical Modeling | 3 |
ADM3308 | Data Mining and Customer Relations Management | 3 |
ADM3324 | Industrial and Technology Marketing | 3 |
ADM3358 | Multinational Business Finance | 3 |
ADM3360 | Business Law | 3 |
ADM4377 | Electronic Commerce | 3 |
(*) These courses will start in the 2004-2005 academic year. | |
(5) Consult the Faculty of Engineering calendar. All courses listed in the calendar are not necessarily offered every year. | |
(6) Students may register in either the Fall or the Winter session. | |
|
|
|
Honours BSc in Computer Science with concentration in mathematics-sciences | 131 |
|
|
|
First year | 32 |
|
Fall: | |
CSI1100 | Introduction to Computer Science I | 4 |
MAT1320 | Calculus I | 3 |
MAT1341 | Introduction to Linear Algebra | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Winter: | |
CSI1101 | Introduction to Computer Science II | 4 |
MAT1322 | Calculus II | 3 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Science electives taken outside of SITE at the 1000-level1 | 6 |
|
Second year | 35 |
|
Fall: | |
CSI2111 | Computer Architecture | 3 |
CSI2114 | Data Structures | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
ENG1112 | Technical Report Writing | 3 |
MAT2122 | Calculus III | 3 |
MAT2371 | Introduction to Probability | 3 |
|
Winter: | |
CSI2121 | Principles of Assembly Language Programming | 3 |
CSI2131 | File Management | 3 |
CSI2165 | Prolog Concepts Laboratory | 2 |
or | |
CSI2174 | Functional Programming Concepts Laboratory | 2 |
CSI2910 | Professional Practice in Computing / Pratique professionnelle de l'informatique | 1 |
MAT2343 | Elements of Discrete Mathematics | 3 |
MAT2375 | Introduction to Statistics | 3 |
|
Complementary studies elective2 | 3 |
|
Third year | 34 |
|
Fall: | |
CSI3103 | Data Transmission and Computer Networks | 3 |
CSI3105 | Design and Analysis of Algorithms I | 3 |
CSI3125 | Concepts of Programming Languages | 4 |
CSI3317 | Database Management Systems | 3 |
MAT2341 | Linear Algebra | 3 |
|
Winter: | |
CSI3104 | Introduction to Formal Languages | 3 |
CSI3150 | Computational Methods for Numerical Problems | 3 |
CSI3310 | Operating System Principles | 3 |
SEG3300 | Introduction to Software Engineering | 3 |
|
Complementary studies elective2 | 3 |
|
MAT elective3 | 3 |
|
Fourth year | 30 |
|
Fall: | |
MAT2324 | Ordinary Differential Equations and Laplace Transformation | 3 |
|
CSI electives4 | 6 |
|
MAT electives3 | 6 |
|
Winter: | |
CSI4900 | Projets de recherche / Honours Project | 3 |
CSI electives4 | 6 |
MAT elective3 | 3 |
Complementary studies elective2 | 3 |
(1) Consult the list of science electives (non-MAT) in the Academic Regulations section. | |
(2) For a complete list of complementary studies electives, consult the Academic Regulations section. | |
(3) Four among: MAT3166, 3341, 3343, 3344, 3375, 3377, 4381. | |
(4) One of 4101 or 4150, and three from CSI4102, 4105, 4108, 4109, 4124, 4125, 4126, 4138, 4140. | |
(5) Students may register in either the Fall or the Winter session. | |
|
|
|
Certificate in Software Technology | 37 |
|
SITE offers a program leading to the certificate in software technology. The objective of this program is to provide university-level education with a specialization in software aspects of computer science. The program is intended for people who have relevant experience in the computing profession and wish to upgrade their knowledge, or for people with a university degree in science, engineering or business who seek university-level education in software technology. The program consists of seven compulsory courses in computer science, one in software engineering and two in mathematics, as well as one elective in computer science or software engineering and one in administration. Students are registered part-time and the program takes normally two and a half years to complete.
The admission requirement into the program is either one OAC mathematics course (Finite Mathematics or Algebra and Geometry), or a comparable high school credit, and a letter from the applicants employer confirming that the applicant has at least two years of experience in programming. Alternatively, admission is open to people who have completed two full years of a college program in computing or have a university degree in science, engineering or business.
All academic regulations of the University of Ottawa apply to students registered in the certificate program. Credit for courses taken in the certificate program may be transferred to a degree program in computer science. Students continuing in a degree program must meet the usual admission criteria for the Faculty of Engineering.
Students in the certificate program attend classes with regular full-time students. Classes are normally scheduled during the day. |
|
|
First year | 17 |
|
Fall: | |
CSI1100 | Introduction to Computer Science I | 4 |
|
One course from: | |
ADM1100 | Introduction to Business Management | 3 |
ADM1101 | Social Context of Business | 3 |
ADM2336 | Organizational Behaviour | 3 |
|
Winter: | |
CSI1101 | Introduction to Computer Science II | 4 |
MAT1361 | Logic and Discrete Mathematics | 3 |
|
Spring/Summer: | |
CSI2114 | Data Structures | 3 |
|
Second year | 14 |
|
Fall: | |
CSI2115 | Concepts in Programming Languages | 3 |
CSI2172 | C++ Concepts Laboratory | 2 |
|
Winter: | |
CSI2131 | File Management | 3 |
MAT2343 | Elements of Discrete Mathematics | 3 |
|
Spring/Summer: | |
SEG3300 | Introduction to Software Engineering | 3 |
|
Third year | 6 |
|
Fall: | |
CSI3105 | Design and Analysis of Algorithms I | 3 |
|
One course from: (or any other CSI or SEG course for which the student has taken the prerequisite) | 3 |
CSI3317 | Database Management Systems | 3 |
CSI4105 | Design and Analysis of Algorithms II | 3 |
CSI4106 | Introduction to Artificial Intelligence | 3 |
CSI4128 | Introduction to Distributed Systems | 3 |
CSI4138 | Design of Secure Computer Systems | 4 |
CSI4140 | Introduction to Parallel Computing | 3 |
SEG3100 | Software Development for Large-Scale Systems | 4 |
SEG3310 | Object-Oriented Analysis, Design and Programming | 3 |
SEG4100 | Software Evolution and Project Management | 4 |
|
|
|
Graduate Studies and Research | 0 |
|
Undergarduate studies represent a first step towards an IT career. Some graduates continue to learn while working through a continuing eduaction program while others choose to register for a Masters or Doctorate program. SITE offers graduate studies programs in a number of areas of IT. SITE porfessors are engaged in research areas in both theoretical and applied topics. Their specializations include: artificial intelligence, communications, e-commerce, electromagnetics, image and signal processing, robotics, multimedia, microwaves, and control systems. Graduate studies lead to the following degrees : MEng, MASc, MSc, and PhD. Graduate studies in electrical engineering and computer engineering are part of the joint Ottawa-Carleton Institue for Electrical and Computer Engineering (OCIECE). Part-time studies are possible in the MEng program and in the cooperative program of the MASc. Graduate studies in Computer Science is part of the joint Ottawa-Carleton Institute for Computer Science (OCICS). Both of these two institutes offer studies in software engineering. More information can be found in the calendar of the Faculty of Graduate and Postdoctoral Studies |
|
|
|
|
|
|
|
|
|
|
|
|
|
|