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.

COS525 - Mathematical Analysis of Algorithms

Methods for determining the average-case performance of fundamental algorithms; ordinary and exponential generating functions, real asymptotics, complex asymptotics, singularity analysis, and Mellin transforms; and application to the analysis of Quicksort, hashing, binary tree search, digital search, communication protocols, multidimensional search, set merging, and other combinatorial algorithms. The course is intended to survey the major approaches and applications and to serve as an introduction to research in the field.

COS526 - Advanced Computer Graphics

Advanced topics in computer graphics, with a focus on learning recent methods in rendering, modeling, and animation. Appropriate for students who have taken COS 426 or equivalent and would like further exposure to computer graphics.

COS527 - Probabilistic Algorithms

Construction and analysis of algorithms that solve various problems efficiently in a probabilistic sense; algorithms that work almost always and for almost all inputs; expected performance of heuristic algorithms; and fundamental limitations on probabilistic computations and other complexity issues.

COS528 - Data Structures and Graph Algorithms

Data structures and algorithms for graph and network problems, including disjoint set union, heaps, search trees, search on graphs, minimum spanning trees, shortest paths, network flows, and matchings. The intent of the course is to examine the most efficient algorithms known for a variety of combinatorial problems and to discover the principles underlying the design and analysis of these algorithms. The emphasis is on asymptotic worst-case and amortized analysis.

Prerequisite(s): COS 423 or equivalent

COS529 - Advanced Computer Vision (Spring)

Advanced topics in computer vision, with a focus ~n recent methods and current research. Topics include 3D vision, recognition, and the intersection of computer vision and other fields. Appropriate for students who have taken COS 429 or equivalent and would like further exposure to computer vision.

Classes: Two 90-minute lectures

COS533 - Advanced Cryptography (Fall)

This course covers a selection of topics in cryptography, including some or all of the following: one-way functions, mathematical foundations of group-based and lattice-based cryptography, proof systems, multi-party computation, fully homomorphic encryption, obfuscation, and (post-)quantum cryptography. This course is intended to serve as an introduction to cryptography from the foundations up to present-day research.

Classes: Two 90-minute lectures

COS534 - Fairness in Machine Learning

Machine learning discovers and reproduces patterns in existing data. Thus, unthinking application of ML risks perpetuating societal biases including racial and gender bias. This course is about the emerging science of fairness in ML. Topics include: sources of bias in ML; methods for detecting, measuring, and mitigating bias; comparison of fairness criteria; data modeling versus algorithmic modeling; causal inference and fairness; other topics in AI ethics including privacy, accountability, transparency, power, and justice. Students take on hands-on empirical projects of their choosing.

COS551 - Introduction to Computational Molecular Biology

Introduction to basic computational methods used for problems arising in molecular biology. Topics include computational approaches to: sequence similarity and alignment, phylogenic inference, gene recognition, gene expression analysis, structure prediction, and whole- and cross-genome analysis.

Cross-listed as MOL551 Department of Molecular Biology.

COS557 - Analysis and Visualization of Large-Scale Genomic Data Sets

Introduces students to computational issues involved in analysis and display of large-scale biological data sets. Algorithms covered will include clustering and machine learning techniques for gene expression and proteomics data analysis, biological networks, joint learning from multiple data sources, and visualization issues for large-scale biological data sets. No prior knowledge of biology or bioinformatics is required; and introduction to bioinformatics and the nature of biological data will be provided. In depth knowledge of computer science is not required, but students should have some understanding of programming and computation.

Cross-listed as MOL557 Department of Molecular Biology.

COS561 - Advanced Computer Networks

Survey of computer networks covering end-to-end principle, multiplexing, virtualization, packet switching vs. circuit switching, router design, network protocols, congestion control, internet routing architecture, network measurement, network management, and overlay networks. Survey of research papers from classic literature through contemporary research.

COS583 - Great Moments in Computing

Course covers pivotal developments in computing, including hardware, software, and theory. Material will be covered by reading seminal papers, patents, and descriptions of highly-influential architectures. Course emphasizes a deep understanding of the discoveries and inventions that brought computer systems to where they are today, and class is discussion-oriented. Final project or paper required. Graduate students and advanced undergraduates from ELE, COS, and related fields welcome.

Cross-listed as ELE583.

Prerequisite(s): COS 217 and 226 or equivalent. Undergrads: Juniors and seniors only

COS585 - Information Theory and Applications

The notions of entropy and information, originated in statistical physics and electrical engineering, have become central in almost all branches of modern science. The course gives an introduction to information theory and its applications, from the perspective of math, computer science and theoretical computer science. The course is intended for students from all areas of computer science, as well as math, physics, bio-informatics and electrical engineering. Background in probability theory and linear algebra is required.

COS585 - Information Theory and Applications (Fall)

The notions of entropy and information, originated in statistical physics and electrical engineering, have become central in almost all branches of modern science. The course gives an introduction to information theory and its applications, from the perspective of math, computer science and theoretical computer science. The course is intended for students from all areas of computer science, as well as math, physics, bio-informatics and electrical engineering.

Classes: One 3 hour course

COS589 - Extramural Summer Research Project

Summer research project designed in conjunction with the student's advisor and an industrial, NGO, or government sponsor that will provide practical experience relevant to the student's research area. Start date no earlier than June 1. A final paper is required.

COS590 - Extramural Research Internship

One-term full time research internship at a host institution to perform scholarly research directly relevant to a student's dissertation work. Research objectives will be determined by the student's advisor in consultation with the outside host. Monthly progress reports and a final paper are required. Enrollment limited to post-generals students. Students will be permitted to enroll in this one-semester course at most twice. Participation will be considered exceptional.

COS591, 592 - Seminar in Computer Systems

Discussion and study of problems and research results of current interest in computer systems.

COS593, 594 - Advanced Topics in the Theory of Algorithms

Topics in computational complexity, the analysis of algorithms, and other areas of theoretical computer science.

Prerequisite(s): COS487 or equivalent

COS595, 596 - Advanced Topics in Software Systems

Research-oriented topics in the design and implementation of software systems. Specific topics are determined by the current literature and by student and faculty interest.

Prerequisite(s): COS226, COS318, COS320

COS597, 598 - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields. Click here to see recently taught topics.

Follow us: Facebook Twitter Linkedin