uwloo

Computer Science (CS)

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

Notes

Department of Computer Science Undergraduate Course Descriptions

Note Course descriptions are given under the new departmental course numbers introduced in 1976.

Scanned page 323

CS 112 Introduction to Solving Business Problems

By Computer

Introduction to algorithms. 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 models and algorithms; implementation in procedure-oriented languages (FORTRAN IV and BASIC), the execution of these programs using several systems.

2 hours lectures, 2 hours tutorial, one term.

Offered in the Fall and Winter terms

Note CS 112 is a prerequisite for CS 113, 114, 115.

Note Only one of CS 112, CS 116, CS 118 and CS 140 can be taken for credit.

Note CS 112 cannot be counted for credit towards a B.Math degree.

Scanned page 323

CS 113 Modelling & Simulation For Business Applications

An introduction to the techniques of modelling, simulation and analysis of business systems. Simulation is developed as an effective tool for studying various types of business system environments. Students will be required to develop and run simulation models using both GPSS and DYNAMO programming languages.

Prerequisite: CS 112 or the equivalent. An introductory Statistics course. 3 hours lectures, Winter term

Note CS 113 cannot be counted for credit toward a B.Math

degree.

Scanned page 323

CS 114 The Computing Process

For students who must have an understanding of the terminology, hardware (computing Machinery), software (computer programs), and financial and management aspects of the computing process. Topics include: development of computing machinery and programming languages; methods of job processing; development/maintenance of application programs; organization and management of a computer installation; uses of specialized applications packages.

Prerequisite: CS 112 or the equivalent.

2 hours lectures, Winter term.

Note Only one of CS 114, CS 117 can be taken for credit.

Note CS 114 cannot be counted for credit towards a B.Math degree.

Scanned page 323CS 114 today

CS 115 Introduction to File Processing

File processing is an integral part of most commercial applications. 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.

Prerequisites: CS 112 or the equivalent.

2 hours lectures, 2 hours tutorial (laboratory), Fall term

Note Credit will only be granted for one of CS 115 or CS 180.

Note CS 115 cannot be counted for credit towards a B.Math degree.

Scanned page 324CS 115 today

CS 116 Introduction to Computers

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.

2 hours lectures, | hour tutorial, Fall term

Note

Credit will only be granted for one of CS 112, CS 116, CS 118 or CS 140.

CS 116 cannot be counted as a credit towards a B.Math General or Honours degree.

Scanned page 324CS 116 today

CS 117 Applications and Implications of Computers

A continuation of the concepts introduced in CS 116- the applications of computers to several fields and the impact (past, present and future) of computing on society. Prerequisite: CS 116.

2 hours lectures, | hour tutorial, Winter term.

Note

Credit will only be granted for one of CS 117 or CS 150. CS 117 cannot be counted as a credit towards a B.Math General or Honours degree.

Course Descriptions 323 Computer Science

Scanned page 324

CS 118 Introduction to Scientific Problem Solving

by Computer

An introduction to the analysis of scientific 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.

Prerequisite: Year 5 mathematics is recommended.

2 hours lectures, 2 hours tutorial, one term.

Offered in the Fall, Winter and Spring terms

Note Only one of CS 112, CS 116, CS 118 and CS 140 can be taken for credit.

Note Both CS 140 and CS 180 may be taken for credit.

Scanned page 324

CS 140 Introduction to Mathematical Problem Solving

by Computer.

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.

Prerequisite: Year 5 mathematics is recommended.

2 hours lectures, 2 hours tutorial, one term.

Offered in the Fall, Winter and Spring terms

Note Only one of CS 112, CS 116, CS 118 and CS 140 can be taken for credit.

Note Both CS 140 and CS 180 may be taken for credit.

Scanned page 324

CS 150 Introduction to Computer Science — Characteristics of Computers

Introduction to machine and assembly-language programming and basic machine architecture. The representation of data. Address modification, indexing and indirection. Character manipulation, floating point operations and subroutine linkage. Characteristics of peripheral devices. A survey of software which assists user programs: compilers, loaders, input-output routines, operating systems.

Prerequisite: CS 116, CS 118 or CS 140 or CS 180.

2 hours lectures, 2 hours tutorial (laboratory), one term. Normally offered in the Fall and Winter terms

Note Credit will only be granted for one of CS 117 or CS 150.

Scanned page 324

CS 180 Introduction to Computer Science — Programming and File Processing

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

2 hours lectures, 2 hours tutorial (laboratory), one term. Normally offered in the Fall and Winter terms

Note ’ Credit will only be granted for one of CS 115 or CS 180

Scanned page 325

CS 210 Introduction to Numerical Computing

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.

Prerequisite: An introductory programming course.

2 hours lectures, 2 hours problems, one term.

Offered in the Fall and Spring terms

Scanned page 325

CS 240 Principles of Programming Languages and

Data Structures

This course is intended to cover a number of basic principles of programming languages and data structures. The emphasis will be on basic principles with motivation for programming languages arising from practical examples. ALGOL and SNOBOL will normally be the languages used.

Prerequisite: CS 140 or CS 180 or the equivalent. CS 150 is recommended, 2 hours lectures, 2 hours tutorial. Offered in the Fall, Winter and Spring terms.

Scanned page 325CS 240 today

CS 330 Computer Applications in Business

A discussion of the algorithms for the storage and retrieval of information using storage media such as disks and tapes. The techniques developed are applied to a number of general business applications areas such as billing, inventory control and general ledger accounting. Good systems design and programming practices will be stressed throughout the course.

Prerequisite: CS 180

2 hours lectures, 2 hours tutorial, one term

Note CS 330 and CS 340 cannot both be taken for credit.

Scanned page 325CS 330 today

CS 331 Computer Applications in Business

A continuation of the topics presented in CS 330. Prerequisite: CS 330.

2 hours lectures, 2 hours tutorial, one term

Course Descriptions Computer Science

Note CS 331 and CS 342 cannot both be taken for credit.

Scanned page 325

CS 340 Machine, Data and Program Structures

Representation of numbers and strings. Addressing schemes. Compound data structures. Program structure. Prerequisite: CS 240. 3 hours lectures, one term. Offered in the Fall, Winter and Spring terms

Scanned page 325

CS 342 Implementation Schemes For Programming Structures

Searching and sorting. Run time representation of a high level language. Dynamic storage management. Text manipulation.

Prerequisite: CS 340. 3 hours lectures, one term. Offered in the Fall and Winter terms

Scanned page 325

CS 360 Introduction to the Theory of Computing

Models of computers including finite automata and Turing machines. Basics of formal languages. Relations between machine models and 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.

Prerequisite: CS 240. 3 hours lectures, one term. Offered in the Fall, Winter and Spring terms

Scanned page 325CS 360 today

CS 369 Digital Networks

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.

Prerequisite: CS 150. 3 hours lectures, one term. Offered in the Fall, Winter and Spring terms

Scanned page 325

CS 370 Introduction to Scientific Computation: Numerical Algebra

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.

Prerequisites: Knowledge of a high level language, preferably FORTRAN, Math 22! or 231 and Math 220 or

230. 2 hours lectures, 2 hours tutorial, one term

Scanned page 325CS 370 today

CS 371 Introduction to Scientific Computation: Numerical Approximation

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

Prerequisites: Knowledge of a high level language, preferably FORTRAN, Math 221 or 231 and Math 220 or 230. 2 hours lectures, 2 hours tutorial, one term

Scanned page 326CS 371 today

CS 446 Scientific Applications Software

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 asa programming language; Current programming techniques; Design and use of program libraries and human engineering of input and output; Magnetic tapes and bulk storage. Prerequisites: Any two of: CS 370, CS 371, CS 472, CS 474, CS 340, CS 342. 3 hours lectures, one term

Scanned page 326CS 446 today

CS 450 Computer Architecture

This 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 modules or ‘‘building blocks’’ — central processing units, stores, input/output systems, and bus structures. Case

. Studies of machines.

Prerequisite: CS 369 or equivalent. 3 hours lectures, one term.

Offered in the Fall, Winter and Spring terms

Scanned page 326CS 450 today

CS 452 Real Time Application of Minicomputers

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

Scanned page 326CS 452 today

CS 454 Principles of Operating Systems

Basic concepts of computer hardware; Program translation; program loading and linking; cooperating sequential processes — computational and data structures, critical section problem, process synchronization primitives (semaphores, etc.), parallel programming; Introduction to multiprogramming; Operating system nucleus; File systems; Reliability; Protection; System performance, measurement and evaluation. Prerequisites: CS 340, CS 342. Also recommended as a prerequisite or corequisite ts CS 450.

3 hours lectures, one term.

Course Descriptions 325 Computer Science

Scanned page 326CS 454 today

CS 456 Data Communications

This course is intended to introduce students to the basic concepts of data communication, the computer-communications 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.

Prerequisites: The equivalent of CS 240, CS 340, CS 342, STAT 230, C&O 453. 3 hours lectures, Winter term

Scanned page 326CS 456 today

CS 462 Formal Languages

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. Prerequisite: CS 360. 3 hours lectures, one term. Offered in the Spring and Fall terms

Scanned page 326CS 462 today

CS 464 Computability and Recursive Function Theory

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.

Prerequisite: CS 360. 3 hours lectures, Winter term

Scanned page 326

CS 466 Algorithm Design and Analysis

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 probiems. Prerequisites: CS 360 and CS 340. 3 hours lectures

Scanned page 326CS 466 today

CS 468 Program Verification

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

Prerequisite: CS 360. 3 hours lectures, Winter term

Scanned page 326

CS 472 Numerical Algebra

Zero finding: real functions of a single reali variable, polynomials, systems of non-linear equations, Linear Algebra: linear systems of equations, linear least squares, eigenvalue problems.

Prerequisites: CS 370. 3 hours lectures, 2 hours tutorial, one term.

Offered in the Spring and Fall terms.

Scanned page 326

CS 474 Numerical Approximation

Interpolatory, least squares, and Minimax approximation of functions by polynomials, trigonometric series, rational functions, splines and exponentials. Numerical approximation of derivatives. Quadrature.

Prerequisites: CS 371. 3 hours lectures, 2 hours tutorial, Winter term.

Scanned page 327

CS 476 Numerical Solution of Differential and

Integral Equations

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. Prerequisite: Consent of the instructor.

3 hours lectures, Fall term

Scanned page 327CS 476 today

CS 478 Partial Differential Equations

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.

Prerequisite: Consent of the instructor.

3 hours lectures, Winter term

Scanned page 327

CS 482 Business Systems Analysis

Survey of organization and management theory. Systems theory and the systems approach. Systems design: Data base concepts: Implementation of computer based information systems.

Prerequisites: CS 330 and CS 331 or CS 340 and fourth year standing. 3 hours lectures, one term

Scanned page 327CS 482 today

CS 484 Simulation -

Simulation techniques are used to study systems which do

not lend themselves to analysis. This course introduces the ’ basic notions of simulation as well as programming

languages for simulation. The course contents will be: An

introduction to simulation; random number generators.

stochastic processes; modelling; simulation programming

languages; the GPSS language.

Prerequisites: CS 330 and CS 331, or CS 340 and fourth

year standing. 3 hours lectures, one term

Scanned page 327CS 484 today

CS 498 Advanced Topics in Computer Science

Scanned page 327

CS 499 Readings in Computer Science

Course Descriptions

Scanned page 327