- Computer Science Major Programs
- Honours Computer Science
- Joint Honours Computer Science
- Honours Computer Science with Electrical Engineering Electives (Enrolment in this program is limited)
- Honours Computer Science/Information Systems Option
- Honours 'X' with Computer Science Minor

Computer Science is centred around the study of information. It is concerned with the nature and properties of information, its structure and classification, its storage and retrieval, and the various types of processing to which it can be subjected. It is also concerned with the physical machines that perform these operations, with the elemental units of which these machines are composed, with the organization of these units into efficient information processing systems, and with the exploration of the limits of the abilities of these machines.

Computer Science is recognized as an independent discipline with an inherently mathematical nature. Its activity ranges from theoretical areas such as the theory of automata, system organization and logic design, formal languages and computability theory to applied areas such as scientific computing, programming languages, software management and computer systems.

The advent of the computer has facilitated a systems approach to solving many problems in science, business and industry. There is currently a great demand for information analysts to define how systems will perform these functions and for programmers to implement production systems on computers.

The Computer Science program is designed to prepare students for the challenges of a career in this rapidly evolving technological environment. Considerable emphasis is placed on learning fundamental principles throughout the program. As well, students have the opportunity to explore the ways in which these principles are exploited in both current practice and likely future developments.

There are a number of specialized Computer Science Major programs in addition to Honours Computer Science. These specialized programs include: Honours Computer Science with Electrical Engineering Electives, Honours Computer Science/Information Systems Option, and all Joint or Double Honours BMath programs involving Computer Science as one of the explicitly designated major areas of study.

Students interested in Computer Science Major programs will normally be admitted to the faculty in Honours Computer Science and may select any of the specialized programs at the beginning of their second year. They should see a Computer Science advisor and select one of the specialized programs when preregistering for their first term in second year.

Late admission to a Computer Science Major program is handled by seeing a Computer Science advisor during preregistration or registration for 2A or later. Admission will be based on the student's academic record.

The Computer Science Department is considering introducing a continuation requirement for Computer Science majors. If approved by the Faculty and the University, it will apply to students entering the program in Fall, 1994 and later.

In conjunction with the common degree requirements in Table I in "Degree Requirements", this program requires at least 26 math half-credits. A maximum of six CS half-credits at the 400-level may be included in the 40 half-credits presented for a degree. These overall requirements must include the Faculty core courses outlined in Table II in "Degree Requirements" and the following courses:

All of

CS 241 Foundations of Sequential Programs

CS 246 Software Abstraction and Specification

CS 340 Data Structures and Algorithms

CS 342 Concurrent Programming

CS 351 Digital Design and Architecture

CS 354 Operating Systems

CS 360 Introduction to the Theory of Computing

CS 370 Numerical Computation

One of

CS 457 System Performance Evaluation

CS 462 Formal Languages and Parsing

CS 464 Computational Complexity Theory

CS 466 Algorithm Design and Analysis

CS 472 Numerical Linear Algebra

AM 441/CS 476 Numerical Solution of Differential and Integral Equations

CS 487 Introduction to Symbolic Computation

Two additional 400-level CS half-credits chosen from CS 440 - 498

Students who do not take CS 130 will be required to take an additional third- or fourth-year CS Major course.

All of

C&O 230 Introduction to Combinatorics

Four of

ACTSC 232 Introduction to Actuarial Mathematics

AM 231 Calculus 4

AM 250 Modelling with Ordinary Differential Equations

AM/PMATH 331 Real Analysis

AM/PMATH 332 Complex Analysis

AM 351 Ordinary Differential Equations

C&O 330 Combinatorial Enumeration

C&O 342 Introduction to Graph Theory

C&O 350 Linear Programming

PMATH 330 Introduction to Mathematical Logic

PMATH 334 Introduction to Rings and Fields

PMATH 336 Introduction to Group Theory

STAT 333 Applied Probability

STAT 433 Stochastic Processes

See "Academic Programs" for a complete description of Joint program requirements.

All of

CS 241 Foundations of Sequential Programs

CS 246 Software Abstraction and Specification

CS 340 Data Structures and Algorithms

Two of

CS 351 Digital Design and Architecture

CS 342 Concurrent Programming

CS 360 Introduction to the Theory of Computing

CS 370 Numerical Computation

Two additional 400-level CS-half credits chosen from CS 440 - 498

One additional CS half-credit chosen from CS 342, 351, 354, 360, 370, 440-498

Students who do not take CS 130 will be required to take an additional third- or fourth-year CS Major course.

All of

C&O 230 Introduction to Combinatorics

A cumulative average of 70% or higher is strongly recommended. In conjunction with the common degree requirements in Table I in "Degree Requirements", this program requires at least 26 math half-credits. A maximum of six CS half-credits at the 400-level may be included in the 40 half-credits presented for a degree. These overall requirements must include the Faculty core courses outlined in Table II in "Degree Requirements" and the following courses:

All of

CS 241 Foundations of Sequential Programs

CS 246 Software Abstraction and Specification

CS 340 Data Structures and Algorithms

CS 342 Concurrent Programming

CS 354 Operating Systems

CS 360 Introduction to the Theory of Computing

CS 370 Numerical Computation

Two of

CS 450 Computer Architecture

CS 452 Real-time Programming

CS 454 Distributed Systems

CS 457 System Performance Evaluation

One additional 400-level CS half-credit chosen from CS 440 - 498

Students who do not take CS 130 will be required to take an additional third- or fourth-year CS Major course.

All of

C&O 230 Introduction to Combinatorics

Four of

ACTSC 232 Introduction to Actuarial Mathematics

AM 231 Calculus 4

AM 250 Modelling with Ordinary Differential Equations

AM/PMATH 331 Real Analysis

AM/PMATH 332 Complex Analysis

AM 351 Ordinary Differential Equations

C&O 330 Combinatorial Enumeration

C&O 342 Introduction to Graph Theory

C&O 350 Linear Programming

PMATH 330 Introduction to Mathematical Logic

PMATH 334 Introduction to Rings and Fields

PMATH 336 Introduction to Group Theory

STAT 333 Applied Probability

STAT 433 Stochastic Processes

All of

E&CE 241 Circuit Analysis and Design

E&CE 222 Digital Computers

E&CE 223 Digital Circuits and Systems

E&CE 427 Digital Systems Engineering

GEN E 123 Electrical Engineering

PHYS 352 Analogue Electronics

PHYS 352L Analogue Electronics Laboratory

Recommended for students who do well in PHYS 352

E&CE 438 Switching and Digital Circuits

In conjunction with the common degree requirements in Table I in "Degree Requirements", this program requires at least 25 math half-credits. A maximum of six CS half-credits at the 400-level may be included in the 40 half-credits presented for a degree. These overall requirements must include the Faculty core courses outlined in Table II in "Degree Requirements" and the following courses:

All of

CS 241 Foundations of Sequential Programs

CS 246 Software Abstraction and Specification

CS 340 Data Structures and Algorithms

CS 342 Concurrent Programming

CS 354 Operating Systems

CS 360 Introduction to the Theory of Computing

CS 448 Introduction to Database Management

CS 482 Techniques in Systems Analysis

Two additional 400-level CS half-credits chosen from CS 440 - 498

All of

C&O 230 Introduction to Combinatorics

C&O 350 Linear Programming

One of

C&O 342 Introduction to Graph Theory

C&O 370 Deterministic OR Models

STAT 331 Applied Linear Models

STAT 332 Sampling

STAT 333 Applied Probability

STAT 371 Stochastic OR Models

All of

ACC 121 Understanding and Using Financial Accounting Information

ACC 122 Understanding and Using Managerial Accounting Information

BUS 111W Introduction to Business Organization

BUS 121W Functional Areas of the Organization

BUS 352W Marketing I

BUS 481W Business Policy I

BUS 491W Business Policy II

ECON 101 Introduction to Micro-economics

ECON 102 Introduction to Macro-economics

M SCI 211 Organizational Behaviour

M SCI 311 Organizational Design and Technology

M SCI 432 Introduction to Production Management

MTHEL 100 Commercial and Business Law for Mathematics Students

Recommended

DRAMA 223 Public Speaking

*Courses labelled BUS are offered by Wilfrid Laurier's School of Business and Economics (see "Business-Related Programs").
*

See "Academic Programs" for a complete description of Minor program requirements.

All of

CS 134 Principles of Computer Science

CS 334 Data Types and Structures

One of

CS 230 Introduction to Computers and Computer Systems

CS 246 Software Abstraction and Specification

Five additional CS half-credits.

**Note***
Honours students in faculties other than Mathematics wishing a "Minor" in Computer Science should consult the section "Combination Honours Programs Leading to a Degree with Another Faculty".
*

[TOP]

[AHS]
[Arts]
[Eng]
[ES]
[IS]
[Math]
[Sci]
[Inter]
[Calendar Top]
[UW Home]

Infoucal@www.adm.uwaterloo.ca / University of Waterloo