uwloo

Computer Science (CS)

45 courses in the 1986–87 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 2CaL 0.5

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

Antireq: At most, 2 of CS 100, 102, 112, 115, 116, 118

CS 100 cannot be counted for credit

_ toward a BMath degree.

Scanned page 381CS 100 today

CS 102 Introduction to ComputerF,W,S 302. 0.5

Programming 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 dlements, sequential operations, iterative statements, selaction statements, data aggregations, functions and subroutines. Prereq: Computer literacy (e.g. CS

_ 100 or hight school computing).

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 ail divisions will be offered each term.

Antireq: At most, 2 of CS 100, 102, 112, 118, 116, 118 -

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

Scanned page 381

CS 140 Introduction to Mathematical Problem Solving by ComputerF,W,S 362 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 —

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

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

Scanned page 381

CS 180 Introduction to File ProcessingF,W 20,2 06

Introduction to the use of computers. Concept of an algorithm. Language arid notation for describing algorithms. Anaiysis and solution of problems' dealing with files. Introduction to a procedureoriented 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

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

-CS 30 FW X 05.

Machine .

The intent is to give a basic under” - standing of whet goes on inside a computer, of machine architecture, and of some fundamental operating system services. Topics include: detailed introduction to hardware; representation of data; mémory: 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.

Antireq: CS 335.

CS3SH4 FW X 05

Software Systems

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 librarias; 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 360 is recommended as a pre/ corequisite. ..

Scanned page 381

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, MATH 2348, and third-year standing in.a Computer Science Major program

CS HS FWS 3X 05 Digital Networks 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

Scanned page 382CS 360 today

CS 375 Introduction to Numerical Analysis Pittalis in computation;. Solution of JinearF,W,S 3 0.5

algebraic equations; polynomial interpolation; least squares; numerical integra-

tion and differentiation. The intent is to

expose students to the theory behind | modern computer techniques for solving mathematical problems.

Prereq: CS 240, MATH 2308, 234A and third-year standing in a Computer Science Major program.

Antireq: CS 337, 370/371 ©

Scanned page 382

CS 430 Applications Software EngineeringF 3C-05 |

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

C 42 FS KX 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 934 or 438, and third-year standing —

Antireq: CS. 434, 482 ©

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

cS 45 W XxX 05

Topics in Computing Systems _ 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. , standing

GS 435 cannot be counted for credit

" toward a BMath Honours Computer

Science degree.

Scanned page 382CS 430 today

CS 437 Simulation by ComputerW X 05 :

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

Prereq: CS 334 or 436, 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 382

CS 438 F,W,S 3C 0.5

Computer Applications in Business: Data Bases A.user-oriented approach to the management of large colfections of data. Methods used for the storage, selection and presentation of data. Common data base management systems.

Prereq: CS 234 or 330, and third-year standing. .

Antireq: CS 448

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

Formerly: CS 338

Scanned page 382

CS 442 Comparative Programming LanguagesW SC 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

C 443 F,S 30 05 Functional and Logic Programming Introduction to the concepts of functional programming and logic, including programming by specification, programming. without side effects and the use of non-standard contro! structures. Funda: mentals 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 Selence Major Program

Scanned page 382CS 442 today

CS 234 Programming Principles and PracticeF,W,S 2CeT 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 highrlevel 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 102, 140, 180 or equivalent.

Antireq: CS 240

Scanned page 383CS 234 today

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

To give a basic understanding of what goes on inside a computer, of machine organization, and of machine and assembly lanquage 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 102, 140, 180 or equivalent.

Antireq: CS 117, 250

Scanned page 383

CS 240 Programming Principles, Languages, and Techniques aF,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 thew effective use..Specific topics include structured programming, linked-list processing, recursion, string Processing, tree processing and language development.

Prereq: CS 250 sind second-year standing in 4 Computer Science Major

Antireq: CS 234

Scanned page 383CS 240 today

CS 250 Fundamentals of Computers and Computer SystemsFLW SCT 05 .

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, 235

Scanned page 383

CS 316 Introduction to Statistical Problem Solving by ComputerW ACL 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.

Scanned page 383

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. 140. 180. or equivalent, and a knowledge of , accounting (e.g. ACC 101/102 or ACC 129/122).

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

1699 Mathematics.

CS 3%4 FS 3C 05 Data Types and Structures . 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

Antireq: CS 340

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

Scanned page 383CS 330 today

CS 335 Computing SystemsW.3XC 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.

Qperating systems; linkers, loaders, and

libraries. Prereq: CS 234, 235 and third-year Standing Antireq: CS 350 CS 335 cannot be counted for credit toward a BMath Honours Computer Science degree. .

CS 337, W 3C 05

introduction to Numerical Analysis Pitfalls in computation; solution of linear algebraic equations; polynomial interpolation; least squares, numerical integra-

* tion and differentiation. The intent is to

expose students to the theory behind modern algorithms for solving mathematical problems.

Prereq: CS 140, MATH 130B, 1348 and third-year standing. MATH 2308, 234A are recommended

Antireq: CS 370/371, 378

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

Scanned page 383CS 335 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 third: year standing in a Computer Science Major program

Antireq: CS 334

Scanned page 383

CS 444 Compiler ConstructionW XC O05

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 founthyear standing in a Computer Science Major program

Scanned page 384CS 444 today

CS 446 Software System Design and imptementationF,W,S X 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 prerequi site.

Scanned page 384CS 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 coliections 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 . Antiragq: cs 498

Scanned page 384CS 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 jogic circuits. Discussion. of “building block" - central processing units, stores, input/ output systems, and bus structures. Case studies of machines.

Prereq: CS 368 or Et. E 323, CS 360 and fourth- -year standing in a Computer Science Major program

Scanned page 384CS 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 architec: ture 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 384CS 452 today

CS 454 Principies of Operating SystemsF,W,S 3C 0.5

A study of operating systems from both architectural and implementation viewpoints. Memory management, processor scheduling, protection and security; atomic actions and system structure, concurrency control, communications reliability and recovery; extensions of basic concepts to distributed systems. Preraq: CS 350, 354 and fourth-year standing in a Computer Science Major

program

Scanned page 384CS 454 today

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 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: CS 354, STAT 230 and fourth-

year standing in a Computer Science Major program.

CS 457 is a recommended corequisite. .

Scanned page 384CS 456 today

CS 457 Queueing Models: Analysis, Simulation, and ComputerW 3C O5

Applications

An introduction to the ‘basic results. of Queueing theory and the-techniques of discrete event simulation. Emphasis is placed on the. application of queueing modeis io computer systems and computer communication networks, Prereq: STAT 231, 333, CS 240, 350

and fourth-year standing in a Computer .

Science Major program Antireq: CS 437

Course Descriptions 16.101

Scanned page 384CS 457 today

CS 458 Design of Microprocessor BasedF,S 3C 0.5

Systems. 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. Laboratary-oriented: small teams dasign and implement microprocessor-based systems.

Prereq: CS 360, 369 and fourth-year Standing in a Computer Science Major program.

Scanned page 384

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

Prereq: CS 360 and fourth-year standing

Scanned page 384CS 462 today

CS 464A Computability and RecursiveW 30 0.5

Function Theory. 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 384

CS 466 Aigosithm 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 prob lems.

Prereq: CS 340 and fourth-year standing .

CS 360 is recommended.

16.102 Course Descriptions Mathematics: Computer Science Mathematics

Scanned page 384CS 466 today

CS 468 Program VerificationW 3C 0.5

Methods of program verification. Implica-

tions for structured programming. (nduc-

tive reasoning about recursive programs

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

standing

Scanned page 385

CS 472 Numerical Linear Algebra.W 3C 06

Direct methods for the numerical solution of linear systems of equations and linear least squares problems. Numerical methods for solving the algebraic eigen value problem.

Prereq: CS 337 or 375, and fourthyear standing

Scanned page 385

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 implemen: tation.

Prereq: (1 ‘of CS 337, 375, C&O 350.

or consent of instructor) and fourth-year

standing Cross-listed as C&O 458.

Scanned page 385

CS 474 Numerical ApproximationS & 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 tational functions. Efficiant algorithms for obtaining approximations, including the Fast Fourier Transform. The design of built-in functions.

Prereq: CS 337 or 378, ‘MATH 332B, and fourth-year standing

x. 476 F 3C 05 ft Solution of Differential

and Integral Equations Initial value problems; existence and uniqueness of solutions, one step methods, multistep. methods, stability, error analysis. Boundary vatue problems: shooting and discretization methods, implementation problems especially for non-linear equations. Integra! equations; correspondence to ordinary differential equations, initial value and boundary value problems, solution techniques. Prereq: CS 337 or 375, and fourth-

year standing

Scanned page 385

CS 478 Numerical Solution of PartialW 3c O05

Differential Equations

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 385

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

mation systems. Survey of current topics |

of interest such as distributed processing, microcomputers and on-line

“systems.

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

Antireq: CS 432, 434

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

Scanned page 385CS 486 today

CS 487 Introduction to SymbolicW 3c 0.5

Computation. 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 sotution of differential equations. Prereq: CS 240, PMATH 334 (or consent of instructor), and fourth-year standing.

Scanned page 385CS 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 385CS 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 technology so that constructive solutions to these problems may be discussed.

Prereq: CS 340 and fourth-year standing

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

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.

Scanned page 385

CS 116 Introduction-to Computing

Not offered in 1986–87.

Scanned page 385CS 116 today

CS 117 Computers and Microcom- puters: Principles of Operation and Programming

Not offered in 1986–87.

Scanned page 385

CS 434 Computer Auditing Mathematics

Not offered in 1986–87.

Scanned page 385