uwloo

Computer Science (CS)

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

CS 112 Introduction to Business Problem Solving by ComputerF,W 2CiIT.AlL 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 a procedure-oriented language (usually FORTRAN IV). Execution of these programs using several systems.

Credit will be granted for only 1 of CS 112, 116, 118, 140. CS 112 cannot be counted for credit toward a BMath degree.

Scanned page 366

CS 115 Introduction to Commercial Problem Solving by ComputerF,W 2C,1T IL O05

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. Credit will be granted for only 1 of ' CS 115, 180. CS 118 cannot normally be counted for credit toward a BMath degree.

Scanned page 366CS 115 today

CS 116 Introduction to ComputingF,W 2CITAIL 0.5

This course tries to develop an appreciation of the capabilities and limitations of computing and a reasonable capability for using a programming language (usually BASIC). Topics include: computers - past, present and future; the problem solving process; algorithmic and programming techniques; file processing; text processing; applications and implications of computers.

Prereq: No mathematical background is required

Credit will be granted for only 1 of CS 112, 116, 118, 140. CS 116 cannot be counted for credit toward a BMath General or Honours degree.

Scanned page 367CS 116 today

CS 118 Introduction to Scientific Problem Solving by ComputerF,W 3C,1L 0.5

An introduction to the analysis of scientific problems, development of mathematical modeis and algorithms for their solution; implementation in a procedure-oriented language (normally FORTRAN). Topics discussed are: solution of equations, computation of integrals, graph plotting, and simulation. Prereq: Grade 13 mathematics is recommended Credit will be granted for only 1 of CS 112, 116, 118, 140. CS 118 cannot normally be counted for credit toward a BMath degree.

Scanned page 367

CS 140 Introduction to Math tical Problem Solving by ComputerF,W,S 3C,2l 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). Topics discussed are: solution of equations, computation of integrals, graph plotting, and simulation.

Prereq: Full-time degree registration in the Faculty of Mathematics

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

Special sections of this course will use PASCAL rather than FORTRAN/77.

Scanned page 367

CS 180 Introduction to File ProcessingF,W 2C2at 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 programs in such a language. Topics include: file processing and maintenance, sorting, report generation, and file design.

Prereq: Full-time degree registration in the Faculty of Mathematics

Credit will be granted for only 1 of CS 115, 180.

Scanned page 367

CS 234 Programming Principles and PracticeF,W,S 2C,2T 0.5

To develop a sophisticated user-oriented understanding of software. A disciplined approach to program design. The need for and use of various control structures and data structures. Features of several high-level languages; techniques for their effective use. Specific topics include: structured - programming, linked-list processing, recursion, string processing, tree processing and language development.

Prereq: One of CS 118, 140, 180 or two of CS 112, 115, 116

Creait will be granted for only 1 of CS 234, 240.

Scanned page 367CS 234 today

CS 235 Introduction to Computers and Computer SystemsF,W,S 2C,1T 0.5

To give a basic understanding of what goes on inside a computer, of machine organization, and of machine and assembly-language programming. To introduce students to computer software designed to assist user programs. To make students better users of a computer. Specific topics include: simple machine architecture, assemblerlevel programming, addressing modes and operating system services.

Prereq: One of CS 118, 140, 180 or two of CS 112, 115, 116

Credit will be granted for only 1 of CS 235, 250.

Course Descriptions Computer Science

Scanned page 367

CS 240 Programming Principles, Languages, and TechniquesF,W,S 2C,2T 0.5

To develop a thorough understanding of software as needed for program design. The need for and use of various control Structures and data structures. Features of several high-level languages, techniques for their effective use. Specific topics include structured programming, linked-list processing, recursion, string processing, tree processing and language devetopment.

Prereq: CS 250 and second-year standing in a Computer Science Major program

Credit will be granted for only 1 of CS 234, 240.

Scanned page 367CS 240 today

CS 250 Fundamentals of Computers andF,W 3C,1T 0.5

Computer Systems .

To give a through introduction to what goes on inside a computer, of machine organization, and of machine and assembly-language programming. To introduce students to computer software designed to assist user programs. Specific topics include: addressing modes, subroutines and macros, microcomputer architecture, and operating system components.

Prereq: CS 140 and second-year standing in a Computer Science Major program

Creait will be granted for only 1 of CS 235, 250.

Scanned page 367

CS 316 Introduction to Statistical Problem Solving by ComputerW 3C,1L 0.5

This is an applications oriented course which prepares the nonmathematical student to use the computer as a research tool. Topics include aids for Statistical analysis and the preparation of documents such as reports and theses. The course provides sufficient background for application to other problems specific to the individual's field.

Prereq: One statistics course

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

Computer Science

Scanned page 367

CS 330 F,W,S 2C 0.5

Computer. Applications in Business: {ntroduction A discussion of the implementation of business procedures on computers. Students study and modify a computerized accounting system as an illustration of the methods used, The accounting system is then extended to consider other applications such as inventory contro! and also more complicated file structures to improve the performance of the system.

Prereq: One of CS 118, 140, 180 or 2 of CS 112, 115, 116

CS 330 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 368CS 330 today

CS 334 Data Types and StructuresF,S 3C 0.5

Top-down design of data structures. Using representation-independent data types. Introduction to commonly used data types, including lists, sets, mappings, and trees. Selection of data representation.

Prereq: CS 234 and third-year standing

Credit will be granted for only 1 of CS 334, 340.

CS 334 cannot be counted toward a BMath Honours Computer Science degree.

Scanned page 368

CS 335 Computing SystemsW 3C 0.5

A study of those hardware and software components comprising a computing system, with an emphasis on the role of operating systems in the support of programming activities. Topics include: computer architecture; input/output; operating systems; linkers, loaders, and libraries.

Prereq: CS 234, 235 and third-year standing

Credit will be granted for only 1 of CS 336, 350.

CS 336 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 368CS 335 today

CS 337 Introduction to Numerical AnalysisW 3C 0.5

Pitfalls in computation; solution of linear _

algebraic equations; polynomial interpolation; least squares; numerical integration and differentiation. The intent is to expose students to the theory behind modern algorithms for solving mathematical problems.

Prereq: CS 140, MATH 130b, 134b and third-year standing. MATH 230b, 234a are recommended

Credit will be granted for only 1 of CS 210, 337, 370/371, 375.

CS 337 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 368

CS 338 Computer Applications in BusinessF,W,S 3C 0.5

Data Bases . A user-oriented approach to the management of large collections of data. Methods used for the storage, selection and presentation of data. Common data base management systems.

Prereq: CS 330 or 334, and third-year standing

Credit will be granted for only 1 of CS 338, 448. CS 338 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 368CS 338 today

CS 340 Data StructuresF,W,S 3C 0.5

Levels of data description and their role in the design of structures. Design of data representations for primary and secondary store. introduction to the analysis of algorithms.

Prereq: CS 240, C&O 230 and thirdyear standing in a Computer Science Major program

Credit will be granted for only 1 of © CS 334, 340.

Scanned page 368

CS 350 Machine StructuresF,W 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: detailed introduction to hardware; representation of data; memory; central processor; addressing schemes; input/output; linking and loading.

Prereq: CS 250 or EL E 222, and third-year standing in a Computer Science Major program

CS 369 or EL E 323 is recommended.

Credit will be granted for only 1 of

16.95

Scanned page 368CS 350 today

CS 354 Software SystemsF,W 3C 0.5

A study of those software components comprising a computing system, with an emphasis on the management of hardware resources and the support of multiple processes. Topics include: Operating system services; file systems; linkers, loaders and libraries; monitors and debuggers; interrupt handling; critical sections; process communication and syncronization.

Prereq: CS 340 and third-year standing in a Computer Science Major program

CS 350 is recommended as a pre/corequisite.

CS %0 FW 3C 05 Introduction to the Theory of Computing Models of computers including finite automata and Turing machines. Basics of 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, MATH 234b, and third-year standing in a Computer Science Major program

Scanned page 368

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 flipflops. Synchronous operations. Analysis and synthesis of synchronous sequential networks. Sequential integrated-circuit modules, shift registers, counters, memories.

Prereq: CS 250 or EL E 222, and third-year standing in a Computer Science Major program

Scanned page 368

CS 375 Introduction to Numerical AnalysisF,W,S 3C 0.5

Pitfalls in computation; solution of linear algebraic equations; polynomial interpolation; least squares; numerical integration and differentiation. The intent is to expose students to the theory behind modern computer techniques for solving mathematical problems.

Prereq: CS 240, MATH 230b, 234a and third-year standing in a Computer Science Major program

Credit will be granted for only 1 of CS 210, 337, 370/371, 375

N

Scanned page 368

CS 430 Applications Software EngineeringF 3C 0.5

An investigation into the role and function of software engineering. practice in the construction of computer based systems. Topics include: requirements and specification; documentation techniques; analysis and design; implementation, testing and maintenance; management issues.

Prereq: CS 234 and a CS half-credit labelled CS 330 or higher, and third-year standing.

CS 335 is a recommended pre/corequisite.

CS 430 cannot be counted for credit toward.a BMath Honours Computer Science degree.

Scanned page 369CS 430 today

CS 482 Business Systems AnalysisF,S 3C 0.5

Survey of organization and management theory. Systems theory and the systems approach. Systems design. Data base concepts. Implementation and evaluation of computer based information systems. Prereq: CS 334 or 338, and third-year standing Credit will be granted for only 1 of CS 432, 434, 482. CS 432 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 369CS 482 today

CS 435 Topics in Computing SystemsW 3C 0.5

An overview of some more advanced computer techniques, with an emphasis on their application in the analysis and design of systems. Topics include: data communication; queueing theory fundamentals; 2-D graphics; advanced software and hardware architectures; computer selection.

Prereq: CS 335 and third-year standing

CS 435 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 369

CS 437 Simulation by ComputerW 3C 0.5

An introduction to the basic techniques of simulation. Discrete simulation models; random number generators; the SIMSCRIPT and GPSS languages; analysis of simulation output; continuous simulation models and the CSMP language.

Prereq: CS 334 or 338, and STAT 220, and third-year standing

Credit will be granted for only 1 of CS 437, 457. CS 437 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 369

CS 442 Comparative Programming LanguagesW 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, 360 and fourth-year standing in a Computer Science Major program .

Scanned page 369CS 442 today

CS 444 Compiler ConstructionW 3C 0.5

Phases of compilation. Lexical analysis and a review of parsing. Compilercompilers and translator writing systems. LEX and YACC. Scope rules, block Structure, and symbol tables. Runtime stack management. Parameter passage

‘mechanisms. Stack storage organization

and templates. Heap storage management. Intermediate code. Code generation. Macros.

Prereq: CS 340, 350, 360, and fourthyear standing in a Computer Science Major program

Scanned page 369CS 444 today

CS 446 Software System Design and ImplementationF,W,S 3C 0.5

An investigation into the role and function of software engineering practice in the design and implementation of computer based systems. Topics include: structural design; procedural design; testing and reliability; management topics; programming languages and coding; portability techniques; maintenance; performance measurement and analysis.

Prereq: CS 240 and fourth-year standing in a Computer Science Major program

CS 354 is a recommended prerequisite.

Scanned page 369CS 446 today

CS 448 Introduction to Database ManagementF,W,S 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 {disks and tapes) has an enormous impact on the design of algorithms to access that data.

Prereq: CS 340 and fourth-year standing in a Computer Science Major program

Credit will be granted for only 1 of CS 338, 448.

Course Descriptions Computer Science

Scanned page 369CS 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 block” - central processing units, stores, input/output systems, and bus structures. Case studies of machines. Prereq: CS 369 or EL E 323, and CS 350, and fourth-year standing in a Computer Science Major program

Scanned page 369CS 450 today

CS 452 Real-time ProgrammingF,W,S 3C 0.5

Intended to give students experience with tools and techniques of real-time programming, this course includes not only issues of microcomputer architecture and a real-time programming language and operating system, but also hands-on experience programming a microcomputer for applications such as process control, data acquisition and communication. Prereq: CS 350, 354 and fourth-year standing in a Computer Science Major program

Scanned page 369CS 452 today

CS 454A 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 data Structures, critical section problem, process synchronization primitives, parallel programming; introduction to multiprogramming; operating system nucleus; file systems; reliability; protection; systerf performance, measurement and evaluation.

Prereq: CS 350, 354 and fourth-year standing in a Computer Science Major program

Scanned page 369

CS 456 Data CommunicationsW 3C 0.5

This course is intended to introduce the Student to the basic concepts of data communications, the computercommunication interface, and new telacommunications 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: CS 340, 450, STAT 231, 333 and fourth-year standing in a Computer Science Major program

CS 457 is a recommended corequisite.

Computer Science

Scanned page 369CS 456 today

CS 457 Queueing Models: Analysis, Simulation, and Computer ApplicationsW 3C 0.5

An introduction to the basic results of queueing theory and the techniques of discrete event simulation. Emphasis is placed” on the application of queueing models to computer systems and computer communication networks. Prereq: STAT 231, CS 240, 350 and ° fourth-year standing in a Computer - Science Major program Credit will be granted for only 1 of CS 437, 457.

Scanned page 370CS 457 today

CS 462 Formal Languages and ParsingF 3X 0.5

Languages and their representations. Grammars - Chomsky hierarchy. Regular sets and sequential machines. Contextfree 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 and fourth-year standing

Scanned page 370CS 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 these reducibilities. Prereq: CS 360 and fourth-year Standing

Scanned page 370

CS 466 Algorithm Design and AnalysisF,S 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 and fourth-year standing

CS 360 is recommended.

Scanned page 370CS 466 today

CS 468 Program VerificationW 3C 0.5

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

Prereq: CS 360 and fourth-year standing.

Scanned page 370

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

Prereq: CS 337 or 375, and fourthyear standing

Scanned page 370

CS 473 Numerical Linear ProgrammingF 3C 0.5

Methods for the minimization and maximization of piecewise linear functions and linear functions subject to linear constraints, with applications to linear programming and data fitting. Emphasis is on algorithms, numerical considerations and software implementation.

Prereq: (1 of CS 337, 375, C&O 350, consent of instructor) and fourth-year standing

Cross-listed as C&O 458..

Scanned page 370

CS 474 Numerical ApproximationS 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 337 or 375, and MATH 332b, and fourth-year standing

Scanned page 370

CS 476 Numerical Solution of DifferentialF 3C 0.5

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. Prereq: CS 337 or 375, and fourthyear standing

16.97

Scanned page 370CS 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: CS 337 or 375, and fourthyear standing

Scanned page 370

CS 482 Techniques in Systems AnalysisF,S 3C 0.5

Techniques in organization and management theory. Organization of large software systems. Data base concepts. Implementation of computer based information systems. Survey of current topics of interest such as distributed processing, microcomputers and on-line systems.

Prereq: CS 340 and fourth-year standing in a Computer Science Major program

Credit will be granted for only 1 of CS 432, 434, 482.

Scanned page 370CS 482 today

CS 486 Introduction to Artificial IntelligenceW 3C 0.5

Goals and methods of artificial intelligence. Methods of general problem solving. Introduction to mathematical logic. Mechanical theorem proving. Game playing. Natural language processing.

Prereq: CS 240 and fourth-year standing in a Computer Science Major program

Scanned page 370CS 486 today

CS 487 Introduction to Symbolic ComputationW 3C 0.5

An introduction to the use of computers for symbolic mathematical computation, involving traditiorial mathematical computations such as solving linear equations (exactly), analytic differentiation and integration of functions, and analytic solution of differential equations.

Prereq: CS 240, MATH 334 and. fourth-year standing in a Computer Science Major program

Scanned page 370CS 487 today

CS 488 Introduction to Computer GraphicsF,W,S 3C 0.5

Software and hardware for interactive computer graphics. Implementation of device drivers, 3-D transformations, clipping, perspective, and input routines. Data structures, hidden surface removal, colour shading techniques, and some additional topics will be covered. . Prereq: CS 340, 350, MATH 234a and fourth-year standing in a Computer Science Major program

Scanned page 370CS 488 today

CS 492 The Social Implications ofF,W 2C,1D 0.5

Computers

This course is designed to consider the

problems caused for organizations and

society by the advent of computer

technology so that constructive solutions

to these problems may be discussed. Prereq: CS 340 and fourth-year

standing

Scanned page 371CS 492 today

CS 498 Advanced Topics in Computer Science0.5

Prereq: Fourth-year standing in a Computer Science Major program

Scanned page 371

CS 499 Readings in Computer Science0.5 .

This course cannot be used to satisfy any 400-ievel course requirement in a Computer Science Major program.

Scanned page 371

CS 117 Computers and Microcomputers: Principles of Operation and Programming

Not offered in 1984–85.

Scanned page 371

CS 434 Computer Auditing

Not offered in 1984–85.

Scanned page 371