uwloo

Computer Science (CS)

36 courses in the 1978–79 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 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 112, F,W 2C,1T 0.5

Introduction to Solving Business Problems by Computer

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 349

CS 118 Introduction to Scientific Problem Solving by Computer

Listed without a description.

Scanned page 222

CS 113 Modelling & Simulation for Business ApplicationsW 3c 0.5

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. Prereq: CS 112 or the equivalent. An introductory Statistics course

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

Scanned page 349

CS 114 The Computing ProcessW 2C)—oO0S

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: developmentof computing machinery and programming languages; methods of job processing; development and maintenance of application programs; organization and management of a computer installation; uses of specialized applications packages.

Prereq: CS 112 or the equivalent

Note

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

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

Scanned page 349CS 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.

Prereq: CS 112 or the equivalent

Note

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

Scanned page 350CS 115 today

CS 116 Introduction to ComputersF 2c1T 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 716, CS 118 or CS 140.

CS 116 cannot be counted for credit toward a B Math General or Honours degree.

Scanned page 350CS 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 f

Note

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

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

Scanned page 350

CS 118 Introduction to Scientific Problem Solving by ComputerF,W,S 2C,2T 0.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.

Course Descriptions 345 Computer Science

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

Scanned page 350

CS 140 Introduction to Mathematical Problem SolvingF,W,S 3C,2T 0.5

by Computer

An introduction to the analysis of mathematical problems, development of mathematica! models and algorithms for their solution; implementation ina 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 350

CS 180 Introduction to File ProcessingF,W 2C,2T 05>

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 programs: in such a language. Topics inciude: file processing and maintenance, sorting, report generation and file design.

Prereq: Year 5 mathematics is recommended.

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

Scanned page 350

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.

Note Students in honours mathematics will not be given credit for this course.

-CS 240 F,W,S 2C,2T 05

Principles of Programming Languages and Data. Structures

This course covers a number of basic principles of programming languages 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 250 is recommended.

Scanned page 350

CS 250 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 programs: 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 250

Scanned page 351

CS 330 Computer Applications in BusinessF,W,S 2C 0.5

Adiscussionof 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 351CS 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 C 340 or for courses in the CS 330/331 sequence.

Course Descriptions Computer Science

Scanned page 351

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 representationindependent 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 351

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 351CS 350 today

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

Models of computers including finite automata and Turning 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

Scanned page 351CS 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 models: shift registers, counters, memories.

Prereq: CS 250

Scanned page 351

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

Pitfalls in computation; solution of tinear 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 351CS 370 today

CS 371 Introduction to Scientific Computation: Numerical ApproximationF,W 2C2T 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 or 230a/b and Math 221a/b or 231 a/b

Scanned page 352CS 371 today

CS 442 Comparative Programming LanguagesF,W,S 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 and CS 350.

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

CS 448 Introduction to Database ManagementW 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 (discs and tapes) has an enormous impact on the design of algorithms to access that data. Prereq: CS 340 and CS 350

Scanned page 352CS 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 352CS 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 350

Course Descriptions . 347 Computer Science

Scanned page 352CS 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 350

Scanned page 352CS 454 today

CS 456 Data CommunicationsW 3C 0.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 350.

CS 450, Stat 230/231, Stat 340 or C&0453a

Scanned page 352CS 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 352CS 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 theses reducibilities.

Prereq: CS 360

Scanned page 352

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.

Scanned page 352CS 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 353

CS 472 Numerical Linear AlgebraW 3C 0.5

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

Prereq: CS 370

Scanned page 353

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 and Math 332b

Scanned page 353

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 353CS 476 today

CS 478 Numerical Solution of Partial Differential EquationsW 3c 0.5

Discretization methods for partial differentia! 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 353

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.

Course Descriptions Computer Science/Pure Mathematics

Scanned page 353CS 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.

Scanned page 353CS 484 today