Quick links

Course Catalog

This catalog is a list of courses that the department may offer in a given year. Not all courses in the catalog are offered every year.

If you are looking for current course information:
-View the Registrar's course offerings page for courses offered this semester.
-Students and faculty can refer to the Undergraduate Announcement for the academic year undergraduate course information.

Undergraduate courses are in the 100 - 400 listing. Graduate courses are in the 400 - 500 listing.

COS451 - Computational Geometry (Fall)

Introduction to basic concepts of geometric computing, illustrating the importance of this new field for computer graphics, solid modelling, robotics, databases, pattern recognition, and statistical analysis. Algorithms for geometric problems. Fundamental techniques, for example, convex hulls, Voronoi diagrams, intersection problems, multidimensional searching.

Classes: Two 90-minute lectures.
Prerequisite(s): 226 and 340 or equivalent.

COS455 - Introduction to Genomics and Computational Molecular Biology (Fall)

See QCB455.

COS461 - Computer Networks

This course studies computer networks and the applications and services that run on them. The course covers concepts in networking including: packet switching; Internet routing and business relationships; IPv4 and IPv6 addressing; the domain name system (DNS), router, switch, and middlebox design; network security; content distribution networks; wireless networks; and networked applications such as streaming video. The course will also include several programming assignments, ranging from client-server programming to network measurement, analysis, and inference

Classes: Two lectures, one preceptorial.
Prerequisite(s): COS 217.

COS462 - Design of Very Large Scale Integrated (VLSI) Systems (Fall)

COS463 - Wireless Networks (Spring)

This course surveys the design and implementation of wireless networks, from underlying digital signals, through bits and error control methods, to their interaction with overlying inter-networking protocols. The course will provide an introduction to the wireless physical layer in a way that is accessible for students with solely a computer systems and networking background. Students will gain an understanding of the principles and techniques behind the design of modern wireless local- and wide-area networks, as well as their interaction with the rest of the Internet.

Cross-listed as ELE463 Department of Electrical and Computer Engineering.

Classes: Two 90-minute lectures and one 50 minute precept
Prerequisite(s): Prerequisite - COS 217. Knowledge of C and one other programming language helpful, but not required.

COS475 - Computer Architecture (Fall)

COS485 - Neural Networks: Theory and Application (Spring)

Organization of synaptic connectivity as the basis of neural computation and learning. Multilayer perceptrons, convolutional networks, and recurrent networks. Backpropagation and Hebbian learning. Models of perception, language, memory, and neural development.

Classes: Two 90-minute lectures and one 50 minute precept
Prerequisite(s): Familiarity with linear algebra, multivariate calculus, and probability theory. Knowledge of Python recommended.

COS487 - Theory of Computation (Fall)

Introduction to computability and complexity theory. Topics will include models of computation such as finite automata, pushdown automata, and Turing machines; decidability and decidability; computational complexity; P, NP, and NP completeness; others.

Cross-listed as MAT407 Department of Mathematics.

Classes: Two lectures, one precept.
Prerequisite(s): COS 340 or equivalent mathematical maturity..

COS488 - Introduction to Analytic Combinatorics (Spring)

Analytic Combinatorics aims to enable precise quantitative predictions of the properties of large combinatorial structures. The theory has emerged over recent decades as essential both for the scientific analysis of algorithms in computer science and for the study of scientific models in many other disciplines. This course combines motivation for the study of the field with an introduction to underlying techniques, by covering as applications the analysis of numerous fundamental algorithms from computer science. The second half of the course introduces Analytic Combinatorics, starting from basic principles.

Cross-listed as MAT474.

Prerequisite(s): COS 226, 340 or equivalent background in mathematics.

COS495 - Special Topics in Computer Science (Spring)

These courses cover one or more advanced topics in computer science. The courses are offered only when there is an opportunity to present material not included in the established curriculum; the subjects vary from term to term.

Cross-listed as EGR485.

Classes: Three classes.

COS496 - Special Topics in Computer Science (Fall)

These courses cover one or more advanced topics in computer science. The courses are offered only when there is an opportunity to present material not included in the established curriculum; the subjects vary from term to term.

Complex networks arise through the analysis of complex systems in many areas of study. Well known areas include social network analysis (e.g. Facebook friends), text citation analysis (e.g. Wikipedia) and biological network analysis (e.g. protein-protein interactions). Complex networks can be distinguished from random networks and from regular networks, such as grids, which are often created by design for applications such as interconnecting computers. This course examines methods of analysis of complex networks and how this analysis can be applied to enhance our understanding of real-world systems.

Cross-listed as .

Prerequisite(s): COS 226 and some experience with linear algebra..

COS497 - Senior Independent Work (B.S.E. candidates only) (Fall)

Offered in the fall, seniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student.

Prerequisite(s): B.S.E. candidates only.

COS498 - Senior Independent Work (B.S.E. candidates only) (Spring)

Offered in the spring, seniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student. The final choice must be approved by the faculty advisor.

Prerequisite(s): B.S.E. candidates only.
Follow us: Facebook Twitter Linkedin