34 courses in the 1977–78 Undergraduate Calendar, read from the scanned original. The text comes from OCR, so check the scanned page before relying on a detail.
Notes
Undergraduate Course Descriptions .
Note
Course descriptions are given under the new department course number introduced in 1976. More detailed course descriptions and course outlines are available upon request from the Computer Science Department.
CS 112Introduction to Solving Business Problems by ComputerF,W 2C,1T 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 models and algorithms; implementation in procedure-oriented languages (FORTRAN IV and/or BASIC); execution of these programs using several systems.
CS 113Modelling & Simutation for Business ApplicationsW 3c 0.5
An introduction to the techniques of modelling, simulation and analysis of business systems. Simulation is developed as an effeciive 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. Prereq: CS 112 or the equivalent. An introductory statistics course
Note CS 113 cannot be counted for credit toward a BMath degree.
For students who must have an understanding of the terminology, hardware (computing machinery), software (computer programmes), and financial and management aspects of the computing process. Topics include: development of computing machinery and programming languages; methods of job processing; developmentand maintenance of application programmes; organization and management of a computer installation; uses of specialized applications packages.
CS 115Introduction to File ProcessingF,W 2C,2T 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.
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.
CS 117Applications and Implications of ComputersW 2C,1T 0.5
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.
CS 118Introduction to Scientific Problem Solving by Computer= FWW,S 2C,2T 5
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 ComputerF,W,S 3C,2T 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.
CS 150Introduction to Computer Science — Characteristics of ComputersF,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 programmes: assemblers, compilers, loaders, input-output routines, operating systems.
CS 180Introduction to File ProcessingF,W 2C,2T 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 procedure-oriented language (usually COBOL). The preparation and debugging of programmes in such a language. Topics include: file processing and maintenance, sorting, report generation and file design.
Prereq: Year 5 mathematics is recommended.
Course Descriptions | Computer Science
Note Credit will only be granted for one of CS 115 or CS 180.
CS 210Introduction to Numerical Computing \F 3C 0.5
A survey of numerical procedures with emphasis upon computer implementation using the FORTRAN IV programming language. Topics include: interpoiation, 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.
Note Students in honours mathematics will not be given credit for this course.
CS 240Principles of Programming Languages and Data StructuresF,W,S 2C,2T 0.5
This course covers a number of basic principles of programming tanguages and data structures. The emphasis will be on fundamental concepts, including block structure, recursion, text processing, and pattern matching, with motivation for programming languages arising from practical examples. ALGOL and SNOBOL will normally be the languages used.
CS 330Computer Applications in BusinessF,W,S 2c 0.5
A discussion of algorithms for the storage and retrieval of information using storage media such as discs and tapes. The techniques developed are applied to a number of general business applications such as billing, inventory - control and general ledger accounting. Good systems design and programming practices will be stressed throughout the course.
The study of data structures in a language independent setting. Levels of data description and their role in design of data 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.
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.
CS 360Introduction to the Theory of ComputingF,W,S 3C 0.5
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.
CS 370Introduction to Scientific Computation: Numerical AlgebraF,W,S 2C,2T Re)
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 or 230a/b and Math 221a/b or 231a/b.
CS 371- Introduction to Scientific Computation: Numerical. F,W 2C,2T 5
Approximation
Polynomial interpolation; least squares and minimax approximation; numerical integration and differentiation; numerical solution of initial value «.-~blems 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 or 230a/b and Math 221a/b or 231a/b
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.
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 ‘building blocks’’- central processing units, stores, input/output systems, and bus structures. Case studies of machines.
CS 452Real Time Applications of MinicomputersF,W,S 3c 0.5
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; co-operating sequential processes— computational and 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.
This course is intended to introduce students 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 342, CS 450, Stat 230/231, Stat 340 or C& O 453a.
Languages and their representations. Grammars-~Chomsky heirarchy. 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
CS 464Computability and Recursive Function TheoryW 3c.CtiS
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 probiems, and the complexity of these reducibilities.
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.
Methods of programme verification. implications for structured programming. Inductive reasoning about recursive programmes and recursively defined data structures.
Direct methods for the numerical solution of linear systems of equations and linear least squares problems. Numerical methods for solving the algebraic eigenvalue probiem.
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.
CS 476Numerical Solution of Differential and tntegral 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.
CS 478Numerical 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.
Survey of organization and management theory. Systems theory and the systems approach. Systems design: data base concepts; implementation of computer based information systems.
Simulation techniques are used to study systems which do not lend themselves to analysis. Introduction to simulation; random number generators; stochastic processes; modelling; simulation programming languages; the GPSS language.
Prereq: Stat 220 or Stat 230 and CS 330 and CS 331, or CS 340 and fourth year standing.