Computer Science

Academic Year 2022 – 2023

General Information

Address
Computer Science Building, 35 Olden Street
Phone

Program Offerings:

  • Ph.D.
  • M.S.E.

Graduate Program Administrator:

Director of Graduate Studies:

Overview

The Department of Computer Science accepts both beginning and advanced graduate students for study and research leading to the degree of Master of Science in Engineering (M.S.E.) and Doctor of Philosophy (Ph.D.). These degree programs are sufficiently flexible to adapt to individual plans of study and research.

Apply

Application deadline
December 1, 11:59 p.m. Eastern Standard Time (This deadline is for applications for enrollment beginning in fall 2023)
Program length
Ph.D. 5 years, M.S.E. 2 years
Fee
$75
GRE
General Test not accepted

Additional departmental requirements

Applicants are required to select a subplan when applying.

M.S.E.: Two supplemental essays are required.

  1.  Please describe any teaching experience you have had, in any subject, at any grade level. This can include but is not limited to experience as a teaching assistant, lab assistant, grader, tutor, or any other role in which you interacted with students or mentored your peers. 250 words max.
  2.  For those with teaching experience, describe a specific instance when you helped your student/students overcome a misunderstanding or understand a difficult concept. If you do not have any teaching experience, please describe an oral presentation or talk you gave that explains a particularly difficult concept. 250 words max.

M.S.E.: If  TOEFL is required, a minimum of 28 on the speaking subsection is required,

Program Offerings

Program description

The doctoral program in computer science combines coursework and participation in original research. Most students enter the program with an undergraduate degree in computer science, mathematics, or a related discipline. Some entering students may have a master’s degree, but that is not necessary for success in the program. Every admitted Ph.D. student is given financial support in the form of a first-year fellowship. In addition, all admitted Ph.D. students are automatically considered for the prestigious Wu and Upton Fellowships.

Courses

In preparation for the general examination, the doctoral candidate, in consultation with a faculty adviser, develops an integrated program of study in one of the departmental areas of research. Such preparation usually requires two academic years for students entering with a bachelor’s degree, and one year for students entering with a master’s. Students are required to stand for the general examination at the end of the second year.

A total of 6 courses are required. Three courses must be taken to satisfy the core breadth requirement, with one course from each of three main areas of computer science: Systems, Artificial Intelligence (AI), and Theory.  All students must fulfill the core breadth requirements plus one additional course by the end of the second year, demonstrating minimum competence in three main areas. The remaining three courses can be any 400- or 500-level course from any department in the University. Courses taken outside the Department of Computer Science require approval from the student’s academic adviser and the Director of Graduate Studies.

All courses must be taken for a grade. A grade of B+ or higher is required to get credit towards course requirements, although at most one B will be accepted for a course that does not satisfy the core breadth requirements. Individual research areas may request additional courses in excess of departmental requirements or may require students in that subfield to complete specific required courses in fulfillment of course requirements.

Breadth requirement core course list:

Systems

  • 475 Computer Architecture (See ELE 475)
  • 518 Advanced Computer Systems
  • 561 Advanced Computer Networks
  • 563 Wireless Networks

Artificial Intelligence

  • 511 Theoretical Machine Learning
  • 513 Foundations of Probabilistic Modeling
  • 524 Fundamentals of Machine Learning
  • 529 Advanced Computer Vision
  • 584 Advanced Natural Language Processing

Theory

  • 510 Program Languages
  • 516 Automated Reasoning About Software
  • 521 Advanced Algorithm Design
  • 522 Computational Complexity
  • 585 Information Theory and Applications

General exam

The general examination consists of a research seminar prepared under the supervision of a faculty member, followed by an in-depth oral examination on the contents of the seminar and the associated general area of research. The oral examination tests the student's knowledge in a number of topics relevant to the student's research area. These topics are specified beforehand by an examining committee in consultation with the student. The seminar is open to the public, and at least three computer science faculty members must attend. Two are invited by the student; the adviser chooses a  third faculty member who could be in any area of Computer Science or related fields.  The examining committee and the student agree upon a reading list for the exam. This document is to be made available to anyone present in the oral examination, and only questions pertaining to either the material described in the document or presented during the research seminar can be asked during the oral examination.

Original research results do not have to be presented, but problems whose solution may lead to a thesis should be discussed. In many cases, the student’s thesis is in the same area as the research seminar, but this is not required.

Qualifying for the M.A.

The Master of Arts (M.A.) degree is normally an incidental degree on the way to full Ph.D. candidacy once a student has successfully completed the general examination. The M.A. may also be awarded to students who, for various reasons, leave the Ph.D. program, provided the student has successfully completed the six required courses from the Breadth Requirement. Please note, students admitted to the Ph.D. program who do not wish to complete the program may be considered for an M.S.E. degree with approval from the department and the Graduate School. Ph.D. students who have already been awarded the incidental M.A. are not eligible to earn an M.S.E.

For students who entered the Ph.D. Program before Fall 2018: The Master of Arts degree can be awarded after successfully completing all the year 2 requirements -- 3 core courses, one additional course, and passing the general exam.  

For students who entered the Ph.D. Program Fall 2018 and after: The Master of Arts degree is typically awarded following the successful completion of the general examination.  For students who depart the program, the M.A. can be awarded after successfully completing the 6 required courses from the Breadth Requirements.

Teaching

Teaching experience is considered to be a significant part of graduate education. All Ph.D. candidates are therefore required to assist with course instruction for the equivalent of two terms.

Post-Generals requirements

Pre-FPO

The preliminary FPO is a research talk given to the anticipated FPO committee approximately six months before the FPO date. The pre-FPO covers results to date and planned research, and serves as a preliminary critique of the proposed dissertation. 

Graduate students will present a public talk followed by a private meeting with the committee.  The outcome of the pre-FPO is not graded. Graduate students are provided with valuable feedback to the committee expects will guide any final work and will be incorporated into the dissertation.

FPO Committee must be identical to the Pre-FPO committee; any subsequent changes to the committee require approval from the DGS.

Dissertation and FPO

The Ph.D. is awarded after the acceptance of the dissertation and completion of the final public oral.

Program description

The Master's degree at Princeton is a two year, full-time program. All admitted students will initially be enrolled in the Master of Science in Engineering (M.S.E.), thesis-required track. In the spring of year 1, as part of readmission, all students will be given the option to switch to the Master of Engineering (M.Eng.), non-thesis track. Students opting to remain on the M.S.E. track must have a confirmed research adviser and should also have a preliminary thesis proposal. Switching from the M.S.E. track to the M.Eng track will be permitted through January of Year 2.

All coursework must be taken for a grade. A minimum of 4 courses must be taken in year 1. If, due to scheduling conflicts,this is not possible, approval by the Director of Graduate Studies is required. In no event will time to degree be extended beyond two years.

Funding is normally in the form of teaching assistantships covering the four semesters of the program. Summer funding for M.S.E. candidates in the form of a research assistantship may be offered at the adviser's discretion.

Students wishing to continue on for a Ph.D. should apply through the normal application process during the fall of their second year of study.

The M.S.E. program is a two year, full-time program of coursework plus submission of an original thesis. Candidates choose a subarea of computer science on which to focus by taking appropriate courses, and writing a thesis under the direction of an adviser. Course requirements are fulfilled by taking six courses for a grade, at least three of which must be 500-level courses. The other eligible courses are 318, 320, 324, 326, 343, 352, 375, or any 400-level course, or 500-level COS course, including COS 597 and 598. You may view a list of approved courses outside of the department here.  Relevant courses from outside the department may be taken with Director of Graduate Studies consent. Candidates must maintain a B average, with no more than one C allowed. In order to be readmitted for a second year, candidates must have a confirmed thesis adviser and preliminary thesis proposal by the end of the first year.

In addition to satisfactory completion of coursework, candidates must prepare and submit an original thesis as well as present a public seminar on the research. The thesis will be reviewed and graded by your adviser plus one additional reader from the Princeton faculty. If the reader is from outside the Computer Science Department, approval by the Director of Graduate Studies is required. The public seminar is an ungraded 20-minute talk, followed by a 10-minute question session, given in the spring of year 2. This will allow your adviser and reader to give preliminary feedback prior to submission of the final thesis.

The written thesis should be a research paper of "scholarly quality" -- making a novel contribution to scholarship in the field. The thesis should motivate the chosen research problem, evaluate the proposed solution (e.g., via analysis, measurement, simulation, or prototype implementation), and compare the approach to the related work in the field. While there is no specific length requirement, a reasonable target is a typical conference paper (e.g., 10-15 pages in two-column format or 20-40 pages in single-column, double spaced format).

Candidates electing to switch to the M.Eng degree track must complete a total of eight courses over two years, and are not required to submit a thesis. Three of the eight must be 500-level, and the additional courses may be chosen from 318, 320, 324, 326, 343, 352, 375, any 400-level course, or 500-level COS course, including COS 597 and 598. Relevant courses from outside the department may be taken with Director of Graduate Studies consent. All courses must be taken for a grade. You may view a list of approved courses outside of the department here. Candidates must maintain a B average, with no more than one C allowed.

Acceleration of the M.Eng. (non-thesis track). Students in excellent academic standing who intend to transition to the M.Eng. track may request the department accelerate their two-year program by either one semester or one year, provided all the applicable following conditions are met:

1. Satisfactory performance in all past, current, and future Teaching Assistantship assignments at the University, as evaluated by the Instructor of Record of the course the student is assigned to;
2. The request must be made in writing to the department before the Faculty Deadline for Submission of Graduate Course Grades at the end of the first semester of study;
3. For one-semester acceleration requests: Three courses completed in the first semester, with all A grades (one A- permitted).
4. For one-year acceleration requests: Four courses completed in the first semester, with all A grades (one A- permitted).

The department will cancel the request if the student later chooses to remain on the M.S.E. track during their Year 1 reenrollment. Students who accelerate may choose to revert their program of study to its original
length by communicating this request in writing to the department.

For Princeton undergraduates interested in continuing at Princeton for a Master's Degree:  There is now a special policy that allows current Princeton students to count up to two courses taken as an undergraduate towards a Master's degree in Computer Science at Princeton. Those two courses must be upper-level COS courses that fulfill requirements of the Master's degree and have been taken in excess of the COS requirements for the undergraduate degree. For example, if you take ten COS departmentals as an undergraduate at Princeton, and two of them are advanced classes that satisfy requirements of the Master's program, then you can count both towards a Master's degree if you are accepted into the program.  This is a way to reduce your expected time to completion by approximately one semester.

Princeton students still have to apply to the Master's program through the regular admission process, and by the December 1st deadline. Admission is competitive. If you are interested in being pre-screened for admission, please contact the computer science graduate coordinator (gradinfo@cs). You will need to submit (1) a one page personal statement describing your preparation to date and why you are interested in the master's program; and (2) an unofficial copy of your transcript. In addition, have two letters of recommendation from COS professors emailed directly to the graduate coordinator. Once these materials have been received, the Director of Graduate studies will perform an informal review and provide feedback about whether admission into the Master's program is "likely," "unlikely," or "possible." This feedback is not binding -- it is meant only to help planning for senior year.

Teaching

The master’s program is fully funded by teaching assistantships. Master's students are required to hold a full teaching assistantship each semester that they are enrolled.

Thesis

Candidates for the M.S.E. must prepare and submit an original thesis as well as present a public seminar on the research. The thesis will be reviewed and graded by the student’s adviser plus one additional reader from the Princeton faculty. If the reader is from outside the Department of Computer Science, approval by the director of graduate studies is required. The public seminar is an ungraded 20-minute talk, followed by a 10-minute question session, given in the spring of year 2. This will allow the student’s adviser and reader to give preliminary feedback prior to submission of the final thesis.

The written thesis should be a research paper of scholarly quality, making a novel contribution to scholarship in the field. The thesis should motivate the chosen research problem, evaluate the proposed solution (e.g., via analysis, measurement, simulation, or prototype implementation), and compare the approach to the related work in the field. While there is no specific length requirement, a reasonable target is a typical conference paper (e.g., 10-15 pages in two-column format or 20-40 pages in single-column, double-spaced format).  Thesis is due to the adviser, reader, and department by April 25, 2022. Students may resubmit their thesis with revisions for final archiving by Dean's Date.  After being graded, a .pdf file is due to the Graduate Coordinator and should be uploaded to ProQuest.  Click here to review Mudd Library Thesis formatting guidelines.  

Faculty

  • Chair

    • Jennifer L. Rexford
    • Szymon M. Rusinkiewicz
  • Vice Chair

    • Szymon M. Rusinkiewicz
  • Associate Chair

    • Wyatt A. Lloyd
  • Director of Graduate Studies

    • Jia Deng (co-director)
    • Elad Hazan (co-director)
    • Kyle A. Jamieson (co-director)
  • Director of Undergraduate Studies

    • Brian W. Kernighan (co-director)
    • David P. Walker (co-director)
  • Professor

    • Ryan P. Adams
    • Andrew W. Appel
    • Sanjeev Arora
    • David I. August
    • Mark Braverman
    • Bernard Chazelle
    • Zeev Dvir
    • Adam Finkelstein
    • Michael J. Freedman
    • Tom Griffiths
    • Aarti Gupta
    • Elad Hazan
    • Kyle A. Jamieson
    • Brian W. Kernighan
    • Kai Li
    • Margaret R. Martonosi
    • Radhika Nagpal
    • Arvind Narayanan
    • Ben Raphael
    • Ran Raz
    • Jennifer L. Rexford
    • Szymon M. Rusinkiewicz
    • H. Sebastian Seung
    • Jaswinder P. Singh
    • Mona Singh
    • Robert E. Tarjan
    • Olga G. Troyanskaya
    • David P. Walker
  • Associate Professor

    • Gillat Kol
    • Wyatt A. Lloyd
  • Assistant Professor

    • Danqi Chen
    • Jia Deng
    • Adji Bousso Dieng
    • Felix Heide
    • Zachary Kincaid
    • Aleksandra Korolova
    • Amit A. Levy
    • Jonathan Mayer
    • Andrés Monroy-Hernández
    • Karthik Narasimhan
    • Ravi A. Netravali
    • Yuri Pritykin
    • Olga Russakovsky
    • Matt Weinberg
    • Huacheng Yu
    • Ellen Zhong
  • Associated Faculty

    • Amir Ali Ahmadi, Oper Res and Financial Eng
    • Jianqing Fan, Oper Res and Financial Eng
    • Jaime Fernandez Fisac, Electrical & Comp Engineering
    • Chi Jin, Electrical & Comp Engineering
    • Jason D. Lee, Electrical & Comp Engineering
    • Anirudha Majumdar, Mechanical & Aerospace Eng
    • Prateek Mittal, Electrical & Comp Engineering
    • Paul Seymour, Mathematics
    • John D. Storey, Integrative Genomics
    • Robert J. Vanderbei, Oper Res and Financial Eng
    • Janet A. Vertesi, Sociology
    • Mengdi Wang, Electrical & Comp Engineering
    • David Wentzlaff, Electrical & Comp Engineering
  • University Lecturer

    • Kevin Wayne
  • Senior Lecturer

    • Robert M. Dondero
    • Alan Kaplan
    • Christopher M. Moretti
  • Lecturer

    • Robert S. Fish
    • Ruth C. Fong
    • Donna S. Gabai
    • Dan Leyzberg
    • Xiaoyan Li
    • Jérémie Lumbroso
    • Iasonas Petras
    • Pedro Miguel Reis Bento Paredes
  • Visiting Professor

    • Katrina A. Ligett
    • Shimon Schocken

For a full list of faculty members and fellows please visit the department or program website.

Permanent Courses

Courses listed below are graduate-level courses that have been approved by the program’s faculty as well as the Curriculum Subcommittee of the Faculty Committee on the Graduate School as permanent course offerings. Permanent courses may be offered by the department or program on an ongoing basis, depending on curricular needs, scheduling requirements, and student interest. Not listed below are undergraduate courses and one-time-only graduate courses, which may be found for a specific term through the Registrar’s website. Also not listed are graduate-level independent reading and research courses, which may be approved by the Graduate School for individual students.

COS 510 - Programming Languages

Fundamental concepts underlying all programming languages; semantic aspects, including binding times, visibility, retention, storage management, abstraction mechanisms and extensibility; operational and denotational semantic specifications; and design and implementation issues, particularly for very high-level languages, including data representations, control regimes, code representations, and portability. Prerequisites: 226 and 320.

COS 511 - Theoretical Machine Learning

Course introduces the mathematical foundations of machine learning, including theoretical models of machine learning, and the design and analysis of learning algorithms. Topics include: bounds on the number of random examples needed to learn; learning from non-random examples in the on-line learning model (i.e., for investment portfolio selection); how to boost the accuracy of a weak learning algorithm; learning with queries; Fourier-based algorithms and support-vector machines.

COS 513 - Foundations of Probabilistic Modeling (also SML 513)

A study of the essential tools for analyzing the vast amount of data that have become available in modern scientific research. Mathematical foundations of the field will be studied, along with the methods underlying the current state of the art. Probabilisitc graphical models and a unifying formalism for descrtibing and extending previous methods from statistics and engineering will be considered. Prerequisites COS402 or COS424. Undergraduates by permission only.

COS 516 - Automated Reasoning about Software (also ECE 516)

An introduction to algorithmic techniques for reasoning about software. Basic concepts in logic-based techniques including model checking, invariant generation, symbolic execution, and syntax-guided synthesis; automatic decision procedures in modern solvers for Boolean Satisfiability (SAT) and Satisfiability Modulo Theory (SMT); and their applications in automated verification, analysis, and synthesis of software. Emphasis on algorithms and automatic tools.

COS 518 - Advanced Computer Systems

Survey of operating systems covering: early systems, virtual memory, protection, synchronization, process management, scheduling, input/output, file systems, virtual machines, performance analysis, software engineering, user interfaces, distributed systems, networks, current operating systems, case studies. Survey of research papers from classic literature through contemporary research. Prerequisite: COS 318 or equivalent.

COS 521 - Advanced Algorithm Design

Advanced methods of algorithmic design and analysis: data structures, network flows, and linear programming. Solution of linear programs: Karmarkar and Ellipsoid algorithms. Probabilistic techniques. A selection of topics from on-line computation, approximation algorithms for NP-hard problems, number theoretic algorithms, geometric algorithms, and parallel computation.

COS 522 - Computational Complexity (also MAT 578)

Introduction to research in computational complexity theory. Computational models: nondeterministic, alternating, and probabilistic machines. Boolean circuits. Complexity classes associated with these models: NP, Polynomial hierarchy, BPP, P/poly, etc. Complete problems. Interactive proof systems and probabilistically checkable proofs: IP=PSPACE and NP=PCP (log n, 1). Definitions of randomness. Pseudorandomness and derandomizations. Lower bounds for concrete models such as algebraic decision trees, bounded-depth circuits, and monotone circuits.

COS 524 - Fundamentals of Machine Learning

Computers have made it possible to collect vast amounts of data from a variety of sources. It is not always clear, however, how to use those data, and how to extract useful information from them. This course focuses on some of the most useful approaches to the problem of analyzing large complex data sets, exploring both theoretical foundations and practical applications of machine learning. Course covers classification, regression, clustering, dimension reduction, and time series models. Students gain experience analyzing a variety of data. Prerequisites are introductory linear algebra and statistics.

COS 526 - Neural Rendering (also ECE 576)

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

COS 528 - 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: 423 or the equivalent.

COS 529 - Advanced Computer Vision

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.

COS 532 - Computer Graphics: Modeling

Advanced topics in geometric modeling. Topics to be covered include methods for describing geometric primitives such as implicit surfaces and parametric patches, solid modeling and constructive solid geometry, boundary representations and topological representations, procedural models, and models appropriate for natural and biological shapes. Prerequisite: 426 or the equivalent.

COS 533 - Advanced Cryptography

This course covers a selection of advanced topics in cryptography, including some or all of the following: fully homomorphic encryption, zero knowledge proofs, traitor tracing, identity-based encryption, private information retrieval, garbled circuits, secret sharing, multiparty computation, lattice-based cryptography, and elliptic curve-based cryptography.

COS 534 - Fairness in Machine Learning

The course covers: sources of bias in machine learning; methods for detecting, measuring, and mitigating bias; individual fairness, group fairness, and the tension between them; data modeling versus algorithmic modeling;connections between fairness and privacy; bias in algorithmic decision making; bias in unsupervised machine learning; interpretability in ML and its connection to fairness. The syllabus is predominantly technical, supplemented by a few readings from social science, law, and public policy. Students take on hands-on empirical projects of their choosing.

COS 551 - Introduction to Genomics and Computational Molecular Biology (also MOL 551/QCB 551)

Introduction to basic computational and genomic methods for analysis of biological systems. Topics include: sequence similarity and alignment, phylogenic inference, gene recognition, gene expression analysis, transcriptional networks, structure prediction, functional genomics and proteomics. This is primarily a graduate-level course; interested undergraduates will require permission from instructors.

COS 557 - Analysis & Visualization of Large-Scale Genomic Data Sets (also MOL 557)

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; an 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.

COS 561 - 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.

COS 563 - Wireless Networks

This course is a graduate-level class that explores recent developments in wireless networks and wireless sensing systems. The class aims to develop students' taste in research: what constitutes a good research problem, and what constitutes convincing scientific evidence that a design solves a problem. Students conduct a semester-long project that reproduces research or creates new research, and read/discuss papers in small groups. Topics include abstracting underlying and overlying hardware/layers in the networking stack, integration with overlying applications, and concurrency, performance, and resource allocation in wireless networks.

COS 583 - Great Moments in Computing (also ECE 583)

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.

COS 584 - Advanced Natural Language Processing

Natural Language Processing (NLP) is witnessing exciting developments in core technologies and applications to a wide variety of domains. This graduate-level course focuses on an advanced study of frameworks, algorithms and methods in NLP -- including state-of-the-art techniques for problems such as language modeling, text classification, machine translation, and question answering. The course contains multiple programming assignments, paper readings, a mid-term and a final project. Students are expected to have taken at least one introductory course in machine learning prior to this class, and be comfortable with programming in Python.

COS 585 - 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. A basic knowledge in probability theory and linear algebra is required.

COS 589 - 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.

COS 590 - 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 is limited to post-generals students. Students will be permitted to enroll in this one-semester course at most twice. Participation will be considered exceptional.

COS 597A - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597B - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597C - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597D - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597E - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597F - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597G - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597I - Advanced Topics in Computer Science

An in-depth study of compiler backend techniques for modern computer architectures. The course includes coverage of the fundamentals and a survey of current research. Students work together on a research project. Familiarity with both computer architecture and compilers is recommended.

COS 597J - Advanced Topics in Computer Science

This seminar prepares computer science graduate students and advanced undergraduate students to effectively engage on matters of public policy and law. The core of the course is a survey of computer science research that has successfully influenced government decision making or commercial practices. Topics include consumer privacy, data security, net neutrality, government surveillance, artificial intelligence fairness, election integrity, and cryptocurrencies. Assignments challenge participants to develop their own research interests into deliverables for public policy and law audiences.

COS 597M - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 597N - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598 - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598A - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598B - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598C - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598D - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598E - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598F - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598G - Advanced Topics in Computer Science

Topics involving current research in computer science and applications in other fields.

COS 598H - Advanced Topics in Computer Science

This seminar reviews the latest developments in the theory of natural algorithms with a focus on biology. The course covers a number of topics from theoretical computer science, dynamical systems, statistical mechanics, machine learning, and evolutionary biology. No prerequisites are assumed except for a solid, general mathematical background.

ECE 539 - Special Topics in Data and Information Science (also COS 512/MAE 572)

Advanced studies in selected areas in signal processing, communication and information theory, decision and control, and system theory. Emphasis on recent developments and current literature. Content varies from year to year according to the instructor's and students' interests.

ECE 579 - Pervasive Information Systems (also COS 579)

Devices and systems that provide information anywhere, anytime. Goals of pervasive information: business, entertainment, government, etc. Components of pervasive information systems: low power electronics, audio/video, networking, etc. Human/computer interaction. Geographically distributed systems.

ECE 580U - Advanced Topics in Computer Engineering (also COS 598U)

Selected research topics in computer engineering. Emphasis is on new results and emerging areas. (More detailed outlines are contained in the booklet Course Outlines, issued by the department each year.)

SPI 586F - Topics in STEP (also COS 586)

Currently unavailable