uwloo

Computer Science (CS)

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.

Scanned page 361

CS 112 Introduction 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.

Prereq: none

Note

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

CS 112 cannot be counted for credit toward a BMath degree.

Scanned page 361

CS 113 Modelling & 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.

Scanned page 361

CS 114 The Computing ProcessW 2c.OCS

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.

Prereq: CS 112 or the equivalent

Course Descriptions : _ 359

Computer Science

Note

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

CS 114 cannot be counted for credit toward a BMath degree.

Scanned page 361CS 114 today

CS 115 Introduction 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.

Preerq: CS 112 or the equivalent

Note .

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

Scanned page 361CS 115 today

CS 116 Introduction to ComputersF 2C,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

Note

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 361CS 116 today

CS 117 Applications 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.

Prereq: CS 116 or the equivalent

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

CS 117 cannot be counted as a credit toward a BMath General or Honours degree.

Scanned page 361

CS 118 Introduction 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.

Prereq: Year 5 mathematics is recommended.

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

Scanned page 362

CS 140 Introduction 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.

Prereq: Year 5 mathematics is recommended

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

Scanned page 362

CS 150 Introduction 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.

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

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

Scanned page 362

CS 180 Introduction 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.

Scanned page 362

CS 210 Introduction 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.

Scanned page 362

CS 240 Principles 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.

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

Scanned page 362CS 240 today

CS 330 Computer 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.

Prereq: CS 180

Note Credit will only be granted for either CS 340 or for courses in the CS 330/331 sequence.

Scanned page 362CS 330 today

CS 331 Computer Applications in BusinessF,W ° 2C 0.5

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

Note Credit will only be granted for either CS 340 or for courses in the CS 330/331 sequence.

Scanned page 362

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

Prereq: CS 240

Note Credit will only be granted for either CS 340 or for courses in the CS 330/331 sequence.

Scanned page 363

CS 342 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 240

Scanned page 363

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

Prereq: CS 240

cs36e9 FWW,S = 3COCS

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.

Prereq: CS 150

Course Descriptions 361 Computer Science

Scanned page 363CS 360 today

CS 370 Introduction 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.

Scanned page 363CS 370 today

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

Scanned page 363CS 371 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 363CS 446 today

CS 450 Computer ArchitectureF,S 3C 0.5

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.

Prereq: CS 342 and CS 369

Scanned page 363CS 450 today

CS 452 Real 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.

Prereq: CS 340 and CS 342

Scanned page 363CS 452 today

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

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.

Prereq: CS 340 and CS 342

Scanned page 364CS 454 today

CS 456 Data Communications.W 3c 5

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.

Scanned page 364CS 456 today

CS 462 Formal Languages and ParsingF,S 3C 0.5

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

Scanned page 364CS 462 today

CS 464 Computability 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.

Prereq: CS 360

Scanned page 364

CS 466 Algorithm Design and AnalysisW 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.

Course Descriptions Computer Science

Scanned page 364CS 466 today

CS 468 Programme VerificationW 3C 0.5

Methods of programme verification. implications for structured programming. Inductive reasoning about recursive programmes and recursively defined data structures.

Prereq: CS 360

Scanned page 364

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 probiem.

Prereq: CS 370

Scanned page 364

CS 474 Numerical Approximation=F 3C = 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 and Math 332b

Scanned page 364

CS 476 Numerical 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.

Prereq: Consent of the instructor

Scanned page 364CS 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 364

CS 482 Business Systems AnalysisW 3c 0.5

Survey of organization and management theory. Systems theory and the systems approach. Systems design: data base concepts; implementation of computer based information systems.

Prereq: CS 330 and CS 331, or CS 340 and fourth year standing.

Scanned page 364CS 482 today

CS 484 SimulationF,W,S = =3C 0.5

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.

Course Descriptions ‘ 363

Scanned page 365CS 484 today