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.
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.
CS 113Modelling & 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
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.
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.
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.
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.
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.
CS 140Introduction 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.
CS 150Introduction 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.
CS 180Introduction 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
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.
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.
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.
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
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
CS 370Introduction 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
CS 371Introduction 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
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
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.
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.
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.
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
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
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
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
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
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.
Interpolatory, least squares, and Minimax approximation of functions by polynomials, trigonometric series, rational functions, splines and exponentials. Numerical approximation of derivatives. Quadrature.
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.
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.
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