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

Computer Science


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.

[TOP]

Computer Science Major Programs

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.

[TOP]

Honours Computer Science

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

[TOP]

Joint Honours Computer Science

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

[TOP]

Honours Computer Science with Electrical Engineering Electives (Enrolment in this program is limited)

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

[TOP]

Honours Computer Science/Information Systems Option

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

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
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").

[TOP]

Honours 'X' with Computer Science Minor

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