29 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.
CO 220Introductory CombinatoricsW 3C 0.5
Elementary principles of enumeration. Principle of inclusion-exclusion, generating functions, recurrence equations. Elementary graph theory and graphical algorithms. Introduction to design theory. Antireq: C&O 230 C&O 220 cannot be counted for credit toward a BMath Honours degree.
Structure and classification of optimization problems. The concepts of algorithm and heuristic. Continuous models. Linear models. Methods of branch-and-bound, implicit enumeration and approximation. Applications.
The combinatorics of ordinary and exponential generating functions. Matrix methods, and decompositions. The Lagrange theorem. Applications to enumeration of sequences, trees, covers, lattice paths and partitions.
A first course in error-correcting codes. Linear block codes, Hamming-Golay codes and multiple error-correcting BCH codes are studied. Various encoding and decoding schemes are considered. Prereq: MATH 224B Offered at St. Jerome's College.
An introduction to the ideas, methods and applications of graph theory. Finding shortest paths and maximum matchings in weighted graphs. Determining the connectivity of a graph.
A continuation of C&O 342. Planar graphs and embeddings in other surfaces. Vertex, edge and face colourings. The four-colour problem. Hamilton cycles. Applications to scheduling problems.
A first course in problem formulation and solution techniques in linear programming. The simplex and revised simplex methods. Active set formulation of the simplex method. Theory and applications of duality theory. Sensitivity Analysis. Prereq: MATH 224A Antireq: ACTSC 335
Review of linear programming. Shortest path problems. The max-flow and minimum cost-flow problems. A study of the network simplex, augmentation and out-of-kilter algorithms. Applications to problems of transportation, distribution, man-job assignments and critical-path planning.
An applications-oriented course that illustrates how various mathematical models and methods of optimization can be used to solve problems arising in business, industry and science.
CO 380Mathematical Discovery and InventionW,S 3C 0.5
A course in problem solving. 100 problems are studied. Problems are taken mainly from the elementary parts of algebra, geometry, number theory, combinatorics and probability.
Although the mathematics for this course is technically elementary, the course is intended for third and fourthyear students, and the mathematical maturity of a senior student will be assumed.
An introduction to the combinatorial aspects of the real plane. Main topics covered are the enumeration of various combinatorial objects in the plane, Sylvester's Triad Problem, Pick’s Theorem, partitioning the interior of a rectangle into squares of different sizes, an introduction to the theory of convex sets in the plane. Helly’s theorem and certain ramifications will be explored. Prereq: MATH 130B, 134A/B Although the mathematics for this course is technically elementary, the course is intended for third and fourthyear students, and the mathematical maturity of a senior student will be assumed.
The course is an extension of C&O 330. The combinatorics of Eulerian generating functions, continued fractions, orthogonal polynomials and the ring of formal Laurent series. Enumeration under group action.
CO 437Cryptography and Communications SecurityW 3C 05 :
Conventional or single key cryptography from the Caesar cipher to the U.S. Data Encryption Standard. Public or two key cryptography. Applications include secrecy/privacy, user or message authentication, financial transactions security.
An undergraduate seminar in combinatorics. The primary objective is to study current work in specific areas of combinatorics. Course content may vary from term to term.
An in-depth study of one or two topics in graph theory. Course content may vary from term to term. Topics may include planar graphs, extremal graph theory, directed graphs, enumeration, algebraic graph theory, probabilistic graph theory, ° connectivity, graph embedding, colouring problems.
Packing, covering and partitioning problems. Integer programming. Good algorithms for optimum assignments, matchings, flows, anti-chains and connectivity. Paths, trees and flowers. Min-max relations. Convexification of discrete problems. Vertices and facets of convex polyhedra. The concepts of NP and co-NP. Reducing NP problems to integer programming.
A study of several techniques for solving integer (linear) programming probleins. Cutting planes, implicit enumeration, branch-and-bound. Introduction to Boolean and pseudo-Boolean programming. Applications to problems of optimum routing, site location, set covering and packing, logic and lattice theory.
Sequencing algorithms for scheduling tasks on single machines, parallel machines, and flow shops. Applications to scheduling computers and manufacturing facilities. Combinatorial techniques used in algorithm development and convergence proofs.
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 CS 473
An undergraduate seminar in optimization. The primary objective is to study recent work in specific areas of optimization. Course content may vary from term
A detailed presentation of optimality conditions and effective algorithms for the solution of a quadratic programming problem. All concepts are developed as natural extensions of their counterparts in linear programming. Applications from Portfolio analysis, engineering plasticity, regression, pattern recognition.
Geometry and numerical algorithms of nonlinear optimization. Variable metric and conjugate gradient methods. Convex programming. Feasible and nonfeasible direction methods. Recursive quadratic Programming, nonorthogonal projections and active set strategies.
Topics include: famous construction problems, Mascheroni’s theorem, amicable pairs, perfect numbers and related numbers; Pythagorean triples; some of Archimedes’ great accomplishments: squaring the parabola; estimation of pi; Archimedes’ ”Method”, the volume of the sphere; inscribed regular polygons. ‘
Although the mathematics for this course is technically elementary, the course is intended for third and fourthyear students, and the mathematical maturity of a senior student will be assumed.
Although the mathematics for this course is technically elementary, the course is intended for third and fourthyear students, and the mathematical maturity of a senior student will be assumed.
CO 499Reading in Combinatorics and OptimizationF,W,S 2R 0.5
Prereq: Consent of department
Computer Science
Course Descriptions
Courses not offered in the current academic year are listed at the end of this section.
Introductory Notes
1. The Department of Computer Science has two distinct streams of courses, one for students who have been admitted to a Computer Science Major program, and another especially designed for nonspecialists who wish to become sophisticated computer users. Within this context, Computer Science Major programs include Honours Computer Science, Honours Co-op Computer Science with Electrical Engineering Electives, Honours Co-op Computer Science-information Systems Option, Honours Computer Science/Business Administration, Honours Computer Science/ Chartered Accountancy, Honours Computer Science/Management Accounting, and all Joint and Double Honours BMath programs involving Computer Science as one of the majors.
CS 131 and 132, required in all BMath programs, are restricted to students in the Faculty of Mathematics. All other CS courses numbered with a middle digit of 0 through 3 are non-specialist courses. As such, they will not normally be open to Computer Science Major students, but they will be available to all other students in the University, subject to resource limitations.
Several CS Major courses are also open to other students. In addition, where resources permit, students with exceptionally high academic standing in other programs may be considered for admission to restricted CS Major courses on an individual basis: To be considered, students should first obtain a written recommendation from their Faculty Advisor and then consult a Computer Science Advisor.
2. The Computer Science Department is experiencing demand for its courses beyond available resources. Thus, accessibility to Computer Science courses cannot be guararr teed to all students. Every effort will be made to accommodate those
students who preregister during published University preregistration periods. While priority will be given to these preregistrants, admission to specific courses cannot be guararteed and course substitutions may be required to satisfy degree requirements.
Regular students will not normally be permitted to enrol in Computer Science courses during the Spring term. (See section 5.3 on page 13:26.) Co-op students will not normally be permitted to enrol in Computer Science courses while on a work term. All other part-time students, as well as full-time nondegree and post-degree students, will normally be limited to at most one Computer Science course per term from the non-specialist offerings. (Post-degree students on academic leave from their home institution should consult a Computer Science Advisor to arrange an appropriate selection of courses.) For courses that are over-subscribed, however, priority for registration will normally be given to students registered full-time in a degree program.
Limits on the number of CS courses students may take concurrently will be published at preregistration time. Normally, all students in first and second year may preregister for at most one CS course per term, and students other than Computer Science Majors may preregister for at most two CS courses per term in third and fourth year.
Computer Science courses may not normally comprise more than onethird of a student's total credits accumulated at the University of Waterloo.
Please note that the terms in which courses are offered may deviate from those indicated below. Students are advised to consult the University Course Offerings List published at preregistration time.
More detailed course descriptions and course outlines are available upon request from the Computer Science Department. Students in faculties other than Mathematics should take particular note of the following courses: CS 100, 102, 212, 230, 316.
For the purposes of satisfying
prerequisites for non-specialist
courses, the second entry in each of the following course pairings may normally be substituted for the first entry of that pairing: (CS 230 and 242), (CS 334 and 340), and (CS 335 and 350/354)..
9. The prerequisite phrase "x-year standing” means that a student must be registered in year x or higher.
10. The following courses are offered in conjunction with the Division of Math ematics for Industry and Commerce: CS 330, 432, 438, 446, 448 and 482.