CS 354
Prereq/Coreq: EL E 427
Course Descriptions 16:49
Electrical Engineering
51 courses in the 1989–90 Undergraduate Calendar, read from the scanned original. The text comes from OCR, so check the scanned page before relying on a detail.
Prereq/Coreq: EL E 427
Course Descriptions 16:49
Electrical Engineering
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 Honours or four-year General degree.
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).
102 HUM (humanities). Not all divisions will be offered each term.
CS 102 cannot be counted for credit toward a BMath Honours or four-year General dagree.
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 software 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
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 Coliege in the Winter term
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 equivalent
Antireq: CS 131, 132, 234, 240, 241, 242
CS 212 cannot be counted for credit toward a BMath Honours or four-year General degree.
Course Descriptions 16:105 Mathematics.
Computer Science
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
The relationship between high-levet 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, 250
The function of modern operating systems and their relationship to the computer architecture that underlies their implementation, including file systems, I/O 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
This is an applications oriented course which prepares the nonmathematica) 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.
16:106 Course Descriptions Mathematics: Computer Science
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 in a Computer Science Major program.
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 thirdyear standing
Antireq: CS 340
CS 334 cannot be counted for credit in a Computer Science Major program.
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)
Antireq: CS 350, 351
CS 335 cannot be counted for credit in a Computer Science Major program.
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 132 or 140, MATH 1348 or 136, MATH 1308 or 138, and thirdyear standing. MATH 235 or (MATH 230B and 234A) is recommended.
Antireq: CS 372, 374
CS 337 cannot be counted for credit in a Computer Science Major program.
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
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; inpuVoutput; linking and toading.
Prereq: CS 250 or EL E 222, and third-year standing in a Computer Science Major program. CS 358 or EL E 323 is strongly recommended.
Antireq: CS 242, 335, 351
The final offering wil! be Winter, 1990..
Boolean atgebra. Design and analysis of both combinational and sequential circuits. Registers, counters, memory, programmable logic. CPU control logic, the arithmetic-logic unit. Input/output and interrupts.
Prereq: CS 242 and third-year standing in a Computer Science Major program .
Antireq: CS 335, 350, 358, EL E 323
An introduction to the system software of modern computing systems, with an emphasis on the management of hardware resources and the support of multiple processes. Major topics: object-oriented programming, critical sections and synchronization, primitives for concurrency control, the deadlock problem, memory management, file systems, introduction to distributed computing.
Prereq: CS 340 and third-year standing in a Computer Science Major program. CS 351 is recommended.
This course has been revised for students who have taken CS 242. Winter, 1990 will be the last offering of the old version and simultaneously the first offering of the new version. In that term, students who have taken CS 241, 242 should select the MCS division of CS 354; students who have taken CS 240, 250 should select the MCQ division.
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, C&O 230, and third-year standing
Pitfalls in computation. Direct solution of linear algebraic systems. Iterative solution of linear algebraic systems. Least-squares computations. Iterative solution of f(x) = 0. Minimization of functions of several variables.
Prereq: CS 132 or 140, MATH 230B or 237, MATH 234A or 235
Antireq: CS 337
Pitfalls in computation. Polynomial interpolation. Orthogonal polynomials and least-squares approximations. Numerical integration and differentiation. Data fitting.
Prereq: CS 132 or 140, MATH 230B or 237, MATH 234A or 235
Antireq: CS 337
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 of 234, anda CS half-credit labelled CS 330 or higher, and third-year standing
Coreq: CS 335 is recommended
Antireq: CS 446
CS 430 cannot be counted for credit in a Computer Science Major program.
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 thirdyear standing
Antireq: CS 482
CS 432 cannot be counted for credit in a Computer Science Major program.
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 in a Computer Science Major program.
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 230 or 234, STAT 220, and third-year standing
Antireq: CS 457
CS 437 cannot be counted for credit in a Computer Science Major program.
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 in a Computer Science Major program.
An exposure to important concepts and issues in contemporary programming languages. Data types, abstraction, and polymorphism. Program structure. Lambda calculus and functional programming, logic programming, object-oriented programming. Semantics of programming languages. Critical comparison of language features and programming methodologies using examples drawn from a variety of programming languages including Lisp, Prolog, ML, Ada, Smalltalk, Icon, APL, and Lucid. Programming assignments involve the use of some of these languages.
Prereq: CS 340 and fourth-year standing in a Computer Science Major program
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 ’
Course Descriptions 16:107 Mathematics: Computer Science
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 fourthyear standing in a Computer Science Major program. CS 354 is recommended.
Antireq: CS 430
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
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 351 or (CS 242 and ELE 323) or (CS 350 and CS 358) or (CS 350 and EL E 323), and fourth-year standing in a Computer Science Major program
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 contral, data acquisition and communication.
Prereq: CS 354 and fourth-year standing in a Computer Science Major program. CS 350 or 351 is recom mended.
16:108 Course Descriptions
An introduction to distributed systems, emphasizing the multiple levels of software in such systems. Specific topics include fundamentals of data communications, network architecture and protocols, local-area networks, concurrency control in distributed systems, recovery in distributed systems, and clock synchronization.
Prereq: CS 354 and fourth-year standing in a Computer Science Major program. CS 350 or 351 is recommended.
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 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
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 microprocessorbased systems.
Prereq: CS 351 or 358, and fourthyear standing ina Computer Science Major program. CS 350 is recommended for those students who do not have CS 351.
Languages and their representations. Grammars — Chomsky hierarchy. 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 and fourth-year standing
The classification of problems according to the computational resources required for their solution, with emphasis on properties of feasible computations rather than on specific algorithms. Topics include: time and space complexity, tfactable and intractable problems, computation using randomness, parallel computation. Prereq: CS 360 and fourth-year Standing
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 tight: sorting and order statistics, data structures, arithmetic computations, the NP-complete problems.
Prereq: CS 340 and fourth-year standing. CS 360 is recommended.
Direct methods for the numerical solution of linear systems of equations and linear least squares problems. Numerical methods for solving the algebraic eigenvalue probiem.
Prereq: CS 372, or CS 337 and consent of instructor. CS 374 is recommended.
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, C&O 350, or CS 337 and consent of instructor. CS 374 is recommended.
Crosslisted as C&O 458
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.
Cross-listed as AM 441
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
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 fourthyear standing in a Computer Science Major program
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
Software and hardware for interactive computer graphics. Implementation of device drivers, 3-0 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 or 235, and fourth-year standing in a Computer Science Major program
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 in a Computer Science Major program
An introduction to the subject of computer law, examining current legal issues and problems relating to the use of computer- based information systems, the protection of computer software and data bases, and the acquisition and sale of computer systems.
Prereq: Fourth-year standing in a Computer Science Major program
available. Prereq: Fourth-year standing in a Computer Science Major program
This course cannot be used to satisfy any 400-level course requirement ina Computer Science Major program.
Not offered in 1989–90.