uwloo

Computer Science (CS)

44 courses in the 1980–81 Undergraduate Calendar, read from the scanned original. The text comes from OCR, so check the scanned page before relying on a detail.

Notes

Note

More detailed course descriptions and course outlines are available upon request from the Computer Science Department. Students in faculties other than mathematics should take particular note of the following courses: CS 112, CS 115, CS 116, CS 118, CS 316

Scanned page 383

CS 116 Introduction to Computers

See Computer Science course descriptions, page ee.

Course Descriptions Architecture

Scanned page 245CS 116 today

CS 112 Introduction to Business Problem Solving by ComputerF,W 2C,2T 0.5

Emphasis on the solution of mathematical problems in business. Concept and properties of an algorithm. Language and notation for describing algorithms. Analysis of problems, development of modets and algorithms; implementation in a procedure-oriented language (usually FORTRAN IV); execution of these programs using several systems.

Prereq: none

N.B.: Credit will only be granted for one of CS 112, CS 116, CS 118 of CS 140, CS 112 cannot be counted for credit toward a BMath degree.

Scanned page 383

CS 115 Introduction to Commercial Problem Solving by ComputerW 2C,2L 0.5

Introduction to file processing techniques such as file maintenance, sorting and report generation. Language and notation for describing such algorithms. Analysis of problems dealing with files, and development of algorithms for their solution. Introduction to procedure-oriented languages (usually COBOL) for solving such problems.

Prereq: CS 112 or the equivalent

N.B.: Credit will only be granted for one of CS 115 or CS 180. CS 115 cannot be counted for credit toward a BMath degree.

Course Descriptions Computer Science

Scanned page 383CS 115 today

CS 116 Introduction to ComputingF 2C0,1T 0.5

This course provides students in programmes of study which do not emphasize mathematics with an appreciation of the capabilities and limitations of machine computing and a reasonable capability for programming in one or more programming languages. Topics will include: concept of an algorithm, representation of information, programming in a higher level language, concept of a compiler.

Prereq: none

N.B.: Credit will only be granted for one of CS 112, CS 116, CS 118 or CS 140. CS 116 cannot be counted for credit toward a BMath General or Honours degree.

Scanned page 383CS 116 today

CS 118 Introduction to Scientific Problem Solving by ComputerF,W 3C0,2L 0.5

An introduction to the analysis of scientific problems, development of mathematical models and aigorithms for their solution; implementation in a procedure-oriented language (normally FORTRAN IV).

Topics discussed are: solution of equations.

computation of integrals, graph plotting, and simulation.

Prereq: Grade 13 mathematics is recommended. N.B.: Credit will only be granted for one of CS 112, CS 116, CS 118 or CS 140.

Scanned page 383

CS 140 Introduction to Mathematical Problem Solving by ComputerF,W,S 3C,2L 0.5

An introduction to the analysis of mathematical problems, development of mathematical models and algorithms for their solution; implementation in a procedure-oriented language (normally FORTRAN IV). Topics discussed are: solution of equations, computation of integrals, graph plotting, and simulation.

Prereq: Grade 13 mathematics is recommended. N.B.: Credit will only be granted for one of CS 112, CS 116, CS 118 or CS 140.

Scanned page 383

CS 180 Introduction to File ProcessingF,W 2C,2L 0.5

Introduction to the use of computers. Concept of an algorithm. Language and notation for describing algorithms. Analysis and solution of problems dealing with files. Introduction to a procedureoriented language (usually COBOL). The preparation and debugging of programs in such a language. Topics include: file processing and maintenance, sorting, report generation, and file design.

Prereq: Grade 13 mathematics is recommended. N.B.: Credit will only be granted for one of CS 115 or CS 180.

Scanned page 383

CS 210 Introduction to Numerical ComputingF 3C 0.5

A survey of numerical procedures with emphasis upon computer implementation using the FORTRAN IV programming language. Topics include: interpolation, curve fitting, solution of non-linear equations, numerical integration, numerical solution of ordinary and partial differential equations, matrix algebra, and solution of systems of linear equations. Prereq: at least one course in calculus, algebra, and computer science.

N.B.: CS 210 cannot be counted for credit toward a BMath Honours degree.

Credit will only be granted for either CS 210 or for the courses in the CS 370/371 sequence.

Scanned page 384

CS 240 Programming Principles, Languages, and TechniquesF,W,S 2C,2T 0.5

A disciplined approach to program design. The need for and use of various control structures and data structures. Features of several high level languages; techniques for their effective use. Specific topics include: structured programming, linked list processing, recursion, string processing, tree processing and language development.

Prereq: CS 140 or CS 180 or the equivalent. CS 250 is recommended.

Scanned page 384CS 240 today

CS 250 Characteristics of Computers and Computer SystemsF,W,S 2C,2T 0.5

Introduction to machine and assembly language programming and basic machine architecture. Addressing modes, indexing, and indirection. Subroutine linkage and macro instructions. Characteristics of peripheral devices. A survey of software which assists user programs: assemblers, compilers, loaders, input/output routines, operating systems.

Prereq: CS 116 or CS 118 or CS 140 or CS 180

Scanned page 384

CS 316 Introduction to Statistical Problem Solving by ComputerW 2C,2L 0.5

This is an applications oriented course which prepares the nonmathematical student to use the computer as a research tool. Topics include aids for statistical analysis and the preparation of documents such as reports and theses. The course provides sufficient background for application to other problems specific to the individual’s field. Prereq: A one term statistics course

N.B.: CS 316 cannot be counted for credit toward a BMath degree.

Course Descriptions 383 Computer Science

Scanned page 384

CS 330 Computer Applications in Business: IntroductionF,W,S 2c 0.5

A discussion of the implementation of business procedures on computers. Students study and modify a computerized accounting system as an illustration of the methods used. The accounting system is then extended to consider other applications such as inventory control and also more complicated file structures to improve the performance of the system.

Prereq: CS 180; Econ 191/192 or consent of instructor.

N.B.: CS 330 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 384CS 330 today

CS 331 Computer Applications in Business: Data Bases and Data CommunicationsF,W 2C 0.5

A user-oriented approach to data communications and to the management of large collections of data. The three basic models (hierarchical, network, and relational) are presented. Specific examples are used to illustrate data base design. Data communication principles are related to specific business applications.

Prereq: CS 330 or consent of instructor.

N.B.: Credit will only be granted for one of CS 337 or CS 448. CS 331 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 384

CS 340 Data StructuresF,W,S 3C 0.5

The study of data structures in a language independent setting. Levels of data description and their role in design of structures. The effects of secondary store. Introduction to the analysis of algorithms. Topics include: primitive data types; sequences; designing representation-independent data structures; tuples; arrays and tables; trees and forests; sets.

Prereq: CS 240

Scanned page 384

CS 350 Machine StructuresF,W,S 3c 0.5

The intent is to give a basic understanding of what goes on inside a computer, of machine architecture, and of some fundamental operating system services. Topics include: introduction to an actual computer; representation of data; memory; central processor; addressing schemes; input/output; linking and loading.

Prereq: CS 250

Scanned page 384CS 350 today

CS 360 Introduction to the Theory of ComputingF,W,S 3C 0.5

Models of computers including finite automata and Turing machines. Basics of formal languages with applications to syntax of programming languages. Unsolvable problems and their relevance to the semantics of programming. Concepts of computational complexity including algorithm optimality.

Prereq CS 240

Scanned page 385CS 360 today

CS 369 Digital NetworksF,W,S 3C 0.5

Combinational networks. Integrated circuit modules. Boolean algebras. Boolean functions, expressions and their simplification. Asynchronous sequential networks. Latches and flip-flops. Synchronous operation. Analysis and synthesis of synchronous sequential networks. Sequential integrated-circuit modules: shift registers, counters, memories. Prereq: CS 250

Scanned page 385

CS 370 Introduction to Scientific Computation: Numerical AlgebraF,W,S 2C,2T 0.5

Pitfalls in computation; solution of linear algebraic equations; finding zeros of a single nonlinear equation and systems of nonlinear equations; the algebraic eigenvalue problem. The emphasis is on exposure to modern computer techniques for solving mathematical problems. Heavy use of mathematical subroutine libraries is anticipated.

Prereq: Knowledge of a high level programming language, preferably FORTRAN: Math 220a/b, and Math 221a/b or 224a

N.B. Credit will only be granted for either CS 210 or for courses in the CS 370/371 sequence.

Scanned page 385CS 370 today

CS 371 Introduction to Scientific Computation: Numerical ApproximationF,W 2C,2T 0.5

Polynomial interpolation; least squares and minimax approximation; numerical integration and differentiation; numerical solution of initial value problems and boundary value problems. As in CS 370, the intent is to expose students to modern computer techniques for solving mathematical problems.

Prereq: Knowledge of a high level programming language, preferably FORTRAN; Math 220a/b, and Math 221a/b or 224a

N.B.: Credit will only be granted for either CS 210 or for courses in the CS 370/371 sequence.

Note

Enrolment in some fourth year courses may be restricted to students registered in Honours Computer Science.

Course Descriptions Computer Science

Scanned page 385CS 371 today

CS 432 Business Systems AnalysisW 3C 0.5

Survey of organization and management theory. Systems theory and the systems approach. Systems design. Data base concepts. Implementation and evaluation of computer based information systems. Prereq: CS 340, or CS 330 and 331 and fourth year standing.

N.B.: Credit will only be granted for one of CS 432 or CS 482 or CS 498F, CS 432 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 385

CS 437 Simulation by ComputerW 3C 0.5

An introduction to the basic techniques of simulation. Discrete simulation models; random number generators; the SIMSCRIPT and GPSS languages; analysis of simulation ouput; continuous simulation models and the CSMP language.

Prereq: Stat 220; CS 330 and CS 331, or CS 340. N.B.: Credit will only be granted for one of CS 437 or CS 457. CS 437 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 385

CS 442 Comparative Programming LanguagesW 3c 0.5

This course is designed to give students a critical understanding of programming language concepts and to provide them with an appreciation for the implications of various language design decisions. Students also learn some fundamentals about language processors.

Prereq: CS 340

Scanned page 385CS 442 today

CS 446 Scientific Applications SoftwareF,W,S 3C 0.5

Practical computing problems encountered in scientific applications: an overview of batch operating systems; the importance of loaders and overlays; check points, post mortems, and operating system services; FORTRAN as a programming language; Current programming techniques: design and use of program libraries and human engineering of input and output; magnetic tapes and bulk storage.

Prereq: CS 340

Scanned page 385CS 446 today

CS 448 Introduction to Database ManagementF,W,S 3C 0.5

The course introduces the student to the techniques that have been developed for processing very large collections of data. The requirement that data be held on secondary storage (disks and tapes) has an enormous impact on the design of algorithms to access that data.

Prereq: CS 340

N.B.: Credit will only be granted for one of CS 331 or CS 448

Scanned page 385CS 448 today

CS 450 Computer ArchitectureF,S 3C 0.5

The course is intended to prepare the student to choose a suitable computer for a given application. Review of combinational and sequential logic circuits. Discussion of ‘building blocks” - central . processing units, stores, input/output systems, and bus structures. Case studies of machines.

Prereq: CS 350 and CS 369

Scanned page 386CS 450 today

CS 452 Real Time Applications of MinicomputersFLW,S 3C 0.5

This course is intended to give students experience with minicomputers and their applications to process control, data acquisition, and communication. A major part of the course involves hands-on experience.

Prereq: CS 340 and CS 350

Scanned page 386CS 452 today

CS 454 Principles of Operating SystemsF,W,S 3C 0.5

Basic concepts of computer hardware; program translation; program loading and linking; cooperating sequential processes - computational data Structures, critical section problem, process synchronization primitives, parallel programming; introduction to multiprogramming; operating system nucleus; file systems; reliability; protection; system performance, measurement and evaluation.

Prereq: CS 340 and CS 350

Scanned page 386CS 454 today

CS 456 Data CommunicationsW 3C 0.5

This course is intended to introduce the student to the basic concepts of data communications, the computer - communication interface, and new telecommunications services. Topics include: basic queueing theory, data communications and the telephone network, computer architecture for data communications, protocols, error handling, multiplexing and switching, and packet switching networks.

Prereq: The equivalent of CS 240, CS 340, CS 350, CS 450, CS 457, Stat 230/231, and Stat 333

Scanned page 386CS 456 today

CS 457 Queueing Models: Analysis, Simulation, and Computer ApplicationsF,S 3C 0.5

An introduction to the basic results of queueing theory and the techniques of discrete event simulation. Emphasis is placed on the application of queueing models to computer systems and computer communication networks.

Prereq: Stat 231 and Stat 333; CS 240 and CS 350 N.B.: Credit will only be granted for one of CS 437 or CS 457. CS 437 cannot be counted for credit toward a BMath Honours Computer Science degree.

Course Descriptions 385 Computer Science

Scanned page 386CS 457 today

CS 462 Formal Languages and ParsingF 3C 0.5

Languages and their representations. Grammars - Chomsky hierarchy. Regular sets and sequential machines. Context-free grammars ~ normal forms, basic properties. Pushdown automata and transducers. Operations on languages. Undecidable problems in language theory. Applications to the design of programming languages and compiler construction.

Prereq: CS 360

N.B.: This course may also be offered in the Spring.

Scanned page 386CS 462 today

CS 464 Computability and Recursive Function TheoryW 3C 0.5

Models of the computational process as reflected by computers, linguistic systems, functional specifications, transformational systems, formal logic, etc. Equivalence of these models. Computational complexity for specific models and abstractions fitting all models. Formal reducibilities between computational problems, and the complexity of these reducibilities.

Prereq: CS 360

Scanned page 386

CS 466 Algorithm Design and AnalysisF,S 3c 0.5

Design of good algorithms and analysis of the resources they consume. Lower bounds on the resource requirements of algorithms to compute certain functions. Problems from the following areas are discussed in this light: sorting and order Statistics, data structures, arithmetic computations, the NP-complete problems.

Prereq: CS 340. CS 360 is recommended

Scanned page 386CS 466 today

CS 468 Program VerificationW 3C 0.5

Methods of program verification. Implications for structured programming. Inductive reasoning about recursive program and recursively defined data structures.

Prereq: CS 360

Scanned page 386

CS 472 Numerical Linear AlgebraW 3c 0.5

Direct methods for the numerical solution of linear systems of equations and linear least squares problems. Numerical methods for solving the algebraic eigenvalue problem.

Prereq: CS 370, Math 221b or 324a

Scanned page 386

CS 474 Numerical ApproximationF 3c 0.5

Existence, uniqueness, and convergence of polynomial approximations obtained by interpolation and by least-squares criteria. Minimax and near minimax approximation by polynomials and rational functions. Efficient algorithms for obtaining approximations, including the Fast Fourier Transform. The design of built-in functions. Prereq: CS 371, Math 322b

Scanned page 387

CS 476 Numerical Solution of Differential and Integral EquationsF 3C 0.5

Initial value problems: existence and uniqueness of solutions, one step methods, multistep methods, stability, error analysis. Boundary value problems: shooting and discretization methods, implementation problems especially for non-linear equations. Integral equations; correspondence to ordinary differential equations, initial value and boundary value problems, solution techniques. Prereq: Consent of the instructor

Scanned page 387CS 476 today

CS 478 Numerical Solution of Partial Differential EquationsW 3C 0.5

Discretization methods for partial differential equations, convergence and stability, grid and characteristic methods for hyperbolic equations; iterative methods of solution for parabolic and elliptic equations, rate of convergence estimates. Prereq: Consent of the instructor

Scanned page 387

CS 482 Techniques in Systems AnalysisF,S 3C,2T 0.5

Techniques in organization and management theory. Organization of large software systems. Data base concepts. Implementation of computer based information systems. Survey of current topics of interest such as distributed processing, microcomputers and on-line systems.

Prereq: CS 340 and fourth year standing in Honours Computer Science.

N.B.: Credit will only be granted for one of CS 432 or CS 482 or CS 498F.

Scanned page 387CS 482 today

CS 486 Introduction to Artificial intelligenceW 2C,2T 0.5

Goals and methods of artificial intelligence. Methods of general problem solving. Introduction to mathematical logic. Mechanical theorem proving. Game playing. Natural language processing.

Prereq: CS 340

Course Descriptions Computer Science

Scanned page 387CS 486 today

CS 487 Introduction to Symbolic ComputationW 3C 0.5

An introduction to the use of computers for symbolic mathematical computation, involving traditional mathematical computations such as solving linear equations (exactly), analytic differentiation and integration of functions, and analytic solution of differential equations. Prereq: CS 240, Math 331a/b or 234b/334b

Scanned page 387CS 487 today

CS 488 Introduction to Computer GraphicsF,W,S 3C 0.5

Software and hardware for interactive computer graphics. Implementation of device drivers, 3-D transformations, clipping, perspective, and input routines. Data structures, hidden surface removal, colour shading techniques, and some additional topics will be covered.

Prereq: CS 340 and CS 350; Math 231a or 23d4a

Scanned page 387CS 488 today

CS 492 The Social implications of ComputersW 4C 0.5

This course is designed to consider the problems caused for organizations and society by the advent of computer technology so that constructive solutions to these problems may be discussed. Prereq: CS 330 and CS 331, or CS 340, or equivalent.

Scanned page 387CS 492 today

CS 498 Advanced Topics in Computer Science0.5

See the course offerings list for topics available.

Scanned page 387

CS 499 Readings in Computer Science0.5

Department of

Scanned page 387