uwloo

Computer Science (CS)

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

CS 100 Introduction to Computer UsageF,W,S 2C2L 0.5

An introduction to universally applicable computer services. Hands-on experience with common software and hardware, supported by examples of applications and social implications chosen from many disciplines. Topics include: electronic mail, word processing, spreadsheets, record management, and hardware and software concepts.

Antireq: CS 131,132.

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

Scanned page 394CS 100 today

CS 102 Introduction to Computer ProgrammingF,W,S 3C,2L 0.5

Fundamental techniques of algorithm design and program development. Introduction to a programming language applicable to the student's field of study. Topics include: structured programming, simple data elements, sequential operations, iterative statements, selection statements, data aggregations, functions and subroutines.

Prereq: Computer literacy (e.g. CS 100 or extensive high school computing)

Antireq: CS 131,132

Divisions of the course will be application-oriented: CS 102 COM (commerce), CS 102 SCI (sciences), CS 102 SSC (social sciences), and CS 102 HUM (humanities). Not all divisions will be offered each term.

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

Scanned page 394

CS 131 Principles of Computer Science |F,W,S 2C,1T,3L 0.5

An introduction to the use of computers in problem solving, including an overview of computer science, introduction to algorithms and structured programming, - correctness and efficiency, file and data base management, communications and networks. Labs will emphasize hands-on exposure to modern applications soft- - ware and to the use and development of appropriate software tools.

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

Antireq: CS 100, 140, 180, 212, 234, 235, 240, 250

Also offered at St. Jerome's College in the Fall term

Scanned page 394

CS 132 Principles of Computer Science I!F,W,S 2C,1T,3L 0.5

An introduction to data representation and numerical problem solving, including an overview of programming systems and machine architectures, linked lists, hashing techniques, dynamic storage allocation, techniques for zero-finding and area-finding, solving linear equations, simulation and decidability. Labs will emphasize hands-on exposure to the use and development of appropriate software tools.

Prereq: CS 131 and full-time degree registration in the Faculty of Mathematics Antireq: CS 100, 102, 140, 180, 212.

234, 235, 240, 250 Also offered at St. Jerome's College in the Winter term

CS 2i2 FW,S 3C 05

Programming Principles and Practice High-level languages, including their specification and translation. Structured programming. Use of data structures, including lists and trees. Recursion. Sorting. Introduction to computational complexity and correctness.

Prereq: One of CS 102, 140, or equiva: lent -

Antireq: CS 131, 132, 234, 240, 241, 242

CS 212 cannot be counted for credit toward a BMath degree

Scanned page 394

CS 230 Introduction to Computers and Computer SystemsF,W 3C 0.5

Basic computer architecture. Machine language and assembly language. I/O and interrupt handling. CPU scheduling, memory management, and file systems. Computer networks and data communications.

Prereq: One of CS 132, 212

Antireq: CS 117, 235, 241, 242, 250, EL E 222

Course Descriptions 16:101 Mathematics.

Computer Science

Scanned page 394CS 230 today

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 contro! 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 140, 180

Antireq: CS 131, 132, 212, 240, 241, 242

The final offering will be Spring, 1989

Scanned page 394CS 234 today

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

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

Antireq: CS 131, 132, 212, 234, 241, 242

The final offering will be Spring, 1989

Scanned page 394CS 240 today

CS 241 Principles of Computer Science IllF,W 2C,1T 0.5

The relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture, assemblers, specification and translation of programming languages, linkers and loaders, block-structured languages, parameter passing mechanisms, and comparison of programming languages. Prereq: CS 132 and an all-inclusive cumulative Math average of at least 60% Antireq: CS 212, 230, 234, 235, 240.

16:102 Course Descriptions Mathematics: Computer Science

Scanned page 394CS 241 today

CS 242 Principles of Computer Science IVF,W,S 2C,1T 0.5

The function of modern operating systems and their relationship to the computer architecture that underlies their implementation, including file systems, VO and interrupt handling, CPU scheduling and swapping, memory management, parallel processing. The course also includes an overview of computer networking, performance monitoring, modeling and simulation, and the social implications. of computing.

Prereq: CS 241

Antireq: CS 117, 212, 230, 234, 235, 240, 250

Scanned page 395

CS 250 Fundamentals of Computers and Computer SystemsF,W 3C,1T 0.5

To give a thorough 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

Antireq: CS 117, 131, 132, 230, 235, 241, 242, EL E 222

The final offering will be Fall, 1988

Scanned page 395

CS 316 Introduction to Statistical Problem Solving by ComputerW 3C,iL 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 and computer literacy (e.g. CS 100 or high school computing), or consent of instructor

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

Cross-listed as REC 372

Scanned page 395

CS 330 Introduction to Business SystemsF,W,S 3C 0.5

A study of application software systems in the business environment. Topics include data models of business functions, file and data base systems, and integrated accounting systems. Students modify an integrated accounting system and also work with a selection of commercially available software systems. Prereq: One of CS 102, 132, 140, 180, or equivalent, and a knowledge of accounting (e.g. ACC 101 or ACC 121/122) : CS 330 cannot be counted for credit toward a BMath Honours Computer Science degree.

Scanned page 395CS 330 today

CS 334 Data Types and StructuresF,S 38C 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 230 or 234, and third-year standing

Antireq: CS 340

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

Scanned page 395

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 230 or (CS 234 and 235), and third-year standing

Antireq: CS 350

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

Scanned page 395CS 335 today

CS 337 Introduction to Numerical AnalysisW 3C 0.5

Pitfalls in computation; solution of linear

algebraic equations; polynomial interpola-

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

Prereq: CS 132 or 140, MATH 130B, 134B and third-year standing.

MATH 230B, 234A are recommended

Antireq: CS 372, 374, 375

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

Scanned page 395

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 or 242, C&O 230, and third-year standing in a Computer Science Major program

Antireq: CS 334

Scanned page 395

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: One of CS 242, CS 250, EL E 222, and third-year standing in a Computer Science Major program

CS 358 or EL E 323 is strongly recommended

Antireq: CS 335

Scanned page 395CS 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 synchronization. Prereq: CS 340 and third-year standing in a Computer Science Major program CS 350 is recommended as a corequi

site.

Scanned page 395

CS 358 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: One of CS 242, CS 250, EL E 222, and third-year standing in a Computer Science Major program

Scanned page 395

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

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 or 242, MATH 234B, and third-year standing

Scanned page 396CS 360 today

CS 372 Introduction to Scientific Computation: Numerical Linear AlgebraF,W,S 3C 0.5

Pitfalls in computation. Direct solution of linear algebraic systems. Iterative solution of linear algebraic systems. Leastsquares computations. Iterative solution of f(x) = 0. Minimization of functions of several variables.

Prereq: CS 132 or 140, MATH 230B, 234A

Antireq: CS 337, 375

Scanned page 396

CS 374 Introduction to Scientific Computation: Numerical ApproximationF,W,S 3C 0.5

Pitfalls in computation. Polynomial interpolation. Orthogonal polynomials and least-squares approximations. Numerical integration and differentiation. Data fitting. Prereq: CS 132 or 140, MATH 234A/B Antireg: CS 337, 375

Scanned page 396

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 230 or 234, and a CS halfcredit labelled CS 330 or higher, and third-year standing

CS 335 is a recommended corequisite.

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

CS 4382 FS 3C 05 Business Systems Analysis 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 438, and third-year standing

Antireq: CS 434, 482

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

Scanned page 396CS 430 today

CS 485 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 396CS 485 today

CS 487 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 438, STAT 220, and third-year standing

Antireq: CS 457

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

Scanned page 396CS 487 today

CS 438 F,W,S 3C 0.5

Computer Applications in Business: 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: One of CS 230, 234, 330 and third-year standing

Antireq: CS 448

CS 438 cannot be counted for credit toward a BMath Honours Computer Science Degree.

Course Descriptions 16:103 Mathematics.

Computer Science

Scanned page 396

CS 443 Functional and Logic ProgrammingF,S 3C 0.5

Introduction to the concepts of functional programming and logic, including programming by specification, programming without side effects and the use of non-standard control structures. Fundamentals of logic, calculus, model theoretic semantics and proof procedures. Exposure to languages like PROLOG, LISP, HOPE, FP and NIAL.

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

Scanned page 396

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, 360 and fourth-year standing in a Computer Science Major program

Scanned page 396CS 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 or 242, and fourth-year standing in a Computer Science Major program

CS 354 is a recommended prerequi site.

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

Antireq: CS 438

16:104 Course Descriptions

Scanned page 396CS 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 350, one of CS 358, CS 369, EL E 323, and fourth-year standing in a Computer Science Major program

Scanned page 397CS 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 354 and fourth-year standing in a Computer Science Major program

CS 350 is recommended

Scanned page 397CS 452 today

CS 454 Distributed SystemsF,S 3C 0.5

A basic introduction to modern, looselycoupled distributed systems, including fairly comprehensive presentation of one or more example systems, discussions of software and hardware architecture, and theoretical treatment of some fundamental algorithms.

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

CS 350 is recommended

Scanned page 397CS 454 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, 333, CS 240 or 242, and fourth-year standing in a Computer Science Major program Antireq: CS 437

Scanned page 397CS 457 today

CS 458 Design of Microprocessor-Based SystemsF,S 3C 0.5

An introduction to the design of digital systems such as those used in microcomputers, control and industrial: applications, or those dedicated to specific tasks. Topics include: digital electronics, microprocessors, memory chips and systems, standard and specialized peripheral chips, development and integration systems, and case studies. Laboratory-oriented: small teams design and implement microprocessor-based systems..

Prereq: CS 358 or 369, and fourth-year standing in a Computer Science Major program

CS 350 is recommended

Scanned page 397

CS 462 Formal Languages and ParsingF 3C 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 397CS 462 today

CS 464A Computability and Recursive Function TheoryW 3C 05°

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 397

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 397CS 466 today

CS 468 Program VerificationW 3C 0.5

Methods of program verification. Implica-

tions for structured programming. Induc-

tive reasoning about recursive programs

and recursively defined data structures. Prereq: CS 360 and fourth-year

standing

Scanned page 397

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 372 or 375, or CS 337 and consent of instructor

CS 374 is recommended

Scanned page 397

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: One of CS 372, CS 375, C&O 350, or CS 337, and consent of instructor CS 374 is recommended Cross-listed as C&O 458

Scanned page 397

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 374 or 375, or CS 337 and MATH 332B and consent of instructor CS 372 is recommended

Scanned page 397

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: CS 374, or CS 337 and consent of instructor CS 372 is recommended

Scanned page 397CS 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 374, or CS 337 and consent of instructor.

CS 372 is recommended

Scanned page 398

CS 482 Techniques in Systems AnalysisF,W,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

Coreq: CS 448

Antireq: CS 432, 434

Scanned page 398CS 482 today

CS 486 Introduction to Artificial IntelligenceF,W,S 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 or 242, and fourth-year

. standing in a Computer Science Major program

Scanned page 398CS 486 today

CS 487 Introduction to Symbolic ComputationW 3C 0.5

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

Prereq: CS 240 or 242, PMATH 334 (or consent of instructor), and fourth-year standing

Scanned page 398CS 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, MATH 234A and fourth-year standing in a Computer Science Major program

Scanned page 398CS 488 today

CS 492 The Social Implications ofW 2C,1D 0.5

Computers

This course is designed to consider the

problems caused for organizations and

society by the advent of computer tech-

nology so that constructive solutions to

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

standing

Scanned page 398CS 492 today

CS 498 Advanced Topics in Computer Science See the Course Offerings List for topics0.5

available..

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

Scanned page 398

CS 499 Readings in Computer Science0.5

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

COURSES NOT OFFERED 1988-89

~ CS 117 Computers and Microcomputers.

Principles of Operation and Programming

Scanned page 398

CS 434 Computer Auditing

Listed without a description.

Scanned page 398

CS 442 Comparative Programming Languages

Listed without a description.

Scanned page 398CS 442 today

CS 456 Data Communications Course Descriptions 16:105

Listed without a description.

Scanned page 398CS 456 today