Fall Term Schedule
Fall 2025
Number | Title | Instructor | Time |
---|
CSC 400-1
Ehsan Hoque
TR 11:05AM - 12:20PM
|
An introduction to the technical, social, economic, and political aspects of graduate education in computer science at Rochester. Class meetings consist primarily of group discussions and presentations that focus on a broad range of topics, and are intended to improve the critical analysis, technical writing, presentation, and problem-solving skills of students. Both class discussions and written assignments are drawn from material presented in other first-year graduate courses offered within the department. The course also offers a forum for individual department faculty members to discuss their research interests and recent results. Satisfactory performance is required of all first-year PhD students.
|
CSC 404-1
Michael Huang
MW 2:00PM - 3:15PM
|
B
|
CSC 412-1
Yukang Yan
TR 11:05AM - 12:20PM
|
This course will explore the design, implementation, and evaluation of user interfaces. Students will study the theoretical methods for interface design and evaluation, including requirements gathering, usability heuristics, user interface inspections, usability studies, information visualization, and prototyping. Case studies of interface successes and failures will augment theory with practical experiences. Students will apply this methodology to assignments in the design, implementation, and evaluation cycle. Students taking this course at the graduate level will have additional readings and assignments.
|
CSC 413-01
Mujdat Cetin
MW 2:00PM - 3:15PM
|
This course provides a broad introduction to augmented and virtual reality (AR/VR) systems. The course involves lectures covering an overview of all aspects of the AR/VR domain, as well as individual work performed by each student aimed at providing more intensive training on various aspects of AR/VR. Topics covered in the lectures and class workshops include history, conceptual origins, and design/evaluation principles of AR/VR technologies; optics/platforms/sensors/displays; auditory perception and spatial audio; graphics and computation; data processing and machine intelligence for AR/VR; introduction to AR/VR programming tools; societal implications and ethical aspects. At the end of the course, students will have gained familiarity with the techniques, languages, and cultures of fields integral to the convergent research theme of AR/VR. This course is co-instructed by Daniel Nikolov, Mujdat Cetin, Zhiyao Duan, Chenliang Xu, and Yuhao Zhu, and it includes additional guest lectures and workshops.
|
CSC 427-01
Irving Barron Martinez
MW 10:25AM - 11:40AM
|
This course will introduce the students to the basic concepts of digital image processing, and establish a good foundation for further study and research in this field. The theoretical components of this course will be presented at a level that seniors and first year graduate students who have taken introductory courses in vectors, matrices, probability, statistics, linear systems, and computer programming should be comfortable with. Topics cover in this course will include intensity transformation and spatial filtering, filtering in the frequency domain, image restoration, morphological image processing, image segmentation, image registration, and image compression. The course will also provide a brief introduction to python (ipython), the primary programming language that will be used for solving problems in class as well as take-home assignments. prerequisites: ECE 242 and ECE 440 & 446 are recommended or permission of instructor
|
CSC 435-1
Jiaming Liang
TR 9:40AM - 10:55AM
|
This course primarily focuses on algorithms for large-scale optimization problems arising in machine learning and data science applications. The first part will cover first-order methods including gradient and subgradient methods, mirror descent, proximal gradient method, accelerated gradient method, Frank-Wolfe method, and inexact proximal point methods. The second part will introduce algorithms for nonconvex optimization, stochastic optimization, distributed optimization, manifold optimization, reinforcement learning, and those beyond first-order.
|
CSC 440-01
Monika Polak
TR 2:00PM - 3:15PM
|
This course is designed to develop your understanding of the fundamental concepts in data mining and how they can be used to answer questions about real-world problems. These methods, and the underlying models, can be used to learn from existing data to make predictions about new data. The course will help you understand the mindset of creating a data project pipeline by covering topics on model development, causal inference, and traditional data mining. The class will both emphasize individual work and also team work by helping students solidify their knowledge through a final project.
|
CSC 441-01
Ralf Haefner
TR 12:30PM - 1:45PM
|
IThis is a rotating topics course that includes the study of both the computations performed by the brain and of computational models of neuronal responses. Primary focus will be on the visual system. This course is taught at an introductory level in odd numbered years and an advanced level in even numbered years.
|
CSC 442-1
Jian Kang
TR 3:25PM - 4:40PM
|
Introduces fundamental principles and techniques from Artificial Intelligence, including heuristic search, automated reasoning, handling uncertainty, and machine learning, to prepare students for advanced AI courses.
|
CSC 445-01
Chenliang Xu
TR 9:40AM - 10:55AM
|
Much of the recent advances in machine learning and artificial intelligence have been dominated by neural network approaches broadly described as deep learning. This course provides an overview of the most important deep learning techniques covering both theoretical foundations and practical applications. The applications focus on problems in image understanding and language modeling utilizing state-of-the-art deep learning libraries and tools, which are introduced in the course.
|
CSC 452-01
Yanan Guo
MW 3:25PM - 4:40PM
|
Introduction to computer architecture and the layering of hardware/software systems. Topics include instruction set design; logical building blocks; computer arithmetic; processor organization; the memory hierarchy (registers, caches, main memory, and secondary storage); I/Obuses, devices, and interrupts; microcode and assembly language; virtual machines; the roles of the assembler, linker, compiler, and operating system; technological trends and the future of computing hardware. Several programming assignments required.
|
CSC 453-01
Chen Ding
MW 3:25PM - 4:40PM
|
Modern software is complex and more than a single person can fully comprehend. This course teaches collaborative programming which is multi-person construction of software where each person's contribution is non-trivial and clearly defined and documented. The material to study includes design principles, safe and modular programming in modern programming languages including Rust, software teams and development processes, design patterns, and productivity tools. The assignments include collaborative programming and software design and development in teams. Students in CSC 453 have additional reading and requirements.
|
CSC 454-01
Michael Scott
MW 10:25AM - 11:40AM
|
Design and implementation of programming languages, with an emphasis on imperative languages and on implementation tradeoffs. In-depth examination of 'how programming languages work.' Topics include fundamental language concepts (names, values, types, abstraction, control flow); compilation and interpretation (syntactic and semantic analysis, code generation and optimization); major language paradigms (imperative, object-oriented, functional, logic-based, concurrent). Course projects include assignments in several different languages, with an emphasis on compilation issues.
|
CSC 456-1
John Criswell
TR 2:00PM - 3:15PM
|
Principles of operating system design, explored within the practical context of traditional, embedded, distributed, and real-time operating systems. Topics include device management, process management, scheduling, synchronization principles, memory management and virtual memory, file management and remote files, protection and security, fault tolerance, networks, and distributed computing. CSC 456, a graduate-level course, requires additional readings and assignments.
|
CSC 457-1
Andrew Read-McFarland
MW 4:50PM - 6:05PM
|
Introduction to computer networks and computer communication: Architecture and Protocols:. Design of protocols for error recovery, reliable delivery, routing and congestion control. Store-and-forward networks, satellite networks, local area networks and locally distributed systems. Case studies of networks, protocols and protocol families. Emphasis on software design issues in computer communication.
|
CSC 459-1
Yuhao Zhu
WF 2:00PM - 3:15PM
|
We will first study the fundamental building blocks of visual computing, including human visual system, camera imaging, computer graphics, image/video compression, and display technologies. We will then explore application domains that build on top of these fundamental building blocks such as Augmented/Virtual Reality, computational photography, autonomous machines, and digital cultural heritage. The course will necessarily span many scientific and engineering domains such as visual neuroscience, cognition, optics, signal processing, and computer systems.
|
CSC 461-01
Eustrat Zhupa
MW 12:30PM - 1:45PM
|
This course presents the fundamental concepts of database design and use. It provides a study of data models, data description languages, and query facilities including relational algebra and SQL, data normalization, transactions and their properties, physical data organization and indexing, security issues and object databases. It also looks at the new trends in databases. The knowledge of the above topics will be applied in the design and implementation of a database application using a target database management system as part of a semester-long group project.
|
CSC 462-1
Anson Kahng
TR 4:50PM - 6:05PM
|
This course will cover foundational concepts in descriptive analyses, probability, and statistical inference. Topics to be covered include data exploration through descriptive statistics (with a heavy emphasis on using R for such analyses), elementary probability, diagnostic testing, combinatorics, random variables, elementary distribution theory, statistical inference, and statistical modeling. The inference portion of the course will focus on building and applying hypothesis tests and confidence intervals for population means, proportions, variances, and correlations. Non-parametric alternatives will also be introduced. The modeling portion of the course will include ANOVA, and simple and multiple regression and their respective computational methods. Students will be introduced to the R statistical computing environment. PREREQUISITES: MTH 150 or MTH 150A; AND MTH 142 or MTH 161 or MTH 171 (or equivalent)
|
CSC 464-1
Zhiyao Duan
TR 12:30PM - 1:45PM
|
Computer audition is the study of how to design a computational system that can analyze and process auditory scenes. Example problems in this field include source separation (splitting audio mixtures into individual source tracks), pitch estimation (estimating the pitches played by each instrument), timbre modeling (finding features to distinguish different kinds of instruments), and source localization (finding where the sound comes from). This course will cover both fundamentals and state-of-the-art research in this field, which applies various kinds of signal processing and machine learning techniques. Multiple programming assignments will help students practice what they learn, and a final research project will lead students through the entire research process. Prerequisites: ECE 246/446 or ECE 272/472 or other equivalent signal processing courses, and Python/Matlab programming. Knowledge of machine learning techniques such as Markov models, support vector machines and neural networks is also helpful, but not required.
|
CSC 474-1
Gaurav Sharma
MW 4:50PM - 6:05PM
|
Classical computation models and complexity classes, linear algebra formulation of quantum mechanics, quantum computation models, qubits, quantum circuits, and quantum computation complexity classes, Glover's search and Shor's factorization quantum algorithms, adiabatic quantum computation. Prerequisites: Linear Algebra (UR Math 165 or equivalent), College Physics (UR PHYS 122 or equivalent), or instructor permission
|
CSC 476-01
Yanan Guo
MW 4:50PM - 6:05PM
|
This course delves into advanced topics in computer architecture such as out-of-order execution, speculative execution, cache protocols, and advanced memory techniques. It will also introduce the security problems caused by these designs, such as side-channel attacks, Rowhammer attacks, and Spectre/Meltdown vulnerabilities. Students will learn about the design of modern processors and their impact on performance and security.
|
CSC 477-01
Christopher Kanan
TR 3:25PM - 4:40PM
|
Deep learning systems are now being widely productionized at large corporations and many AI-centric start-ups have been created. Productionizing AI systems requires more than just algorithmic considerations. We need to organize the data for training these systems, measure the bias present in these systems after training them, monitor them over time, and more. This course covers these topics, including, but are not limited to, deploying AI systems, MLOps, model versioning, dataset curation, data management, AI ethics/fairness, detecting and mitigation of bias, detecting out-of-distribution inputs, domain shift, data-centric AI, real-time machine learning, continual machine learning, monitoring AI systems after deployment, model/data parallelism, managing AI projects/teams, training and inference on edge-devices, and launching AI start-ups. Prerequisites: At least one course that covers neural networks or instructor permission. Students are expected to be familiar with Python, one or more deep learning toolboxes, deep learning, and machine learning more broadly. Students should have at least a high-level understanding of backpropagation, multi-layer perceptrons, transformers, convolutional neural networks, and neural network fine-tuning.
|
CSC 480-01
Monika Polak
MW 2:00PM - 3:15PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-02
Monika Polak
M 4:50PM - 6:05PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-03
Monika Polak
W 4:50PM - 6:05PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-04
Monika Polak
W 6:15PM - 7:30PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-05
Monika Polak
R 4:50PM - 6:05PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-06
Monika Polak
R 6:15PM - 7:30PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-07
Monika Polak
T 6:15PM - 7:30PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 480-08
Monika Polak
R 3:25PM - 4:15PM
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
CSC 481-1
Andrew Read-McFarland
MW 9:00AM - 10:15AM
|
The modern study of cryptography investigates techniques for facilitating interactions between distrustful entities. In this course we introduce some of the fundamental concepts of this study. Emphasis will be placed on the foundations of cryptography and in particular on precise definitions and proof techniques. The main skills that will be assumed from these courses are: the ability to understand and write formal mathematical definitions and proofs and 2) comfort with reasoning about algorithms, such as proving their correctness and analyzing their running times. It is also important that you are familiar with basic probability.
|
CSC 482-01
Daniel Stefankovic
TR 11:05AM - 12:20PM
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
CSC 482-02
Daniel Stefankovic
T 6:15PM - 7:30PM
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
CSC 482-03
Daniel Stefankovic
W 6:15PM - 7:30PM
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
CSC 482-04
Daniel Stefankovic
M 6:15PM - 7:30PM
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
CSC 482-05
Daniel Stefankovic
W 7:40PM - 8:55PM
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
CSC 484-1
Daniel Stefankovic
MW 4:50PM - 6:05PM
|
Advanced study of design and analysis of algorithms. Topics typically include: growth of functions; recurrences; probabilistic analysis and randomized algorithms; maximum flow; sorting networks; expander graphs; matrix operations; linear programming; discrete Fourier transform; number-theoretic algorithms; string matching; computational geometry; NP-completeness; approximation algorithms. Students taking this course at the 400 level may be required to complete additional tests, readings or assignments.
|
CSC 489-01
Anson Kahng
MW 4:50PM - 6:05PM
|
This class will provide an introduction to topics at the intersection of computer science and economics, including game theory, auctions, incentive-compatible mechanism design, matching algorithms, human computation (e.g., crowdsourcing and peer prediction), trust and reputation systems, and social choice (voting) theory. We hope to convey the fact that the relationship between computer science and economics is a two-way street: It is important to consider incentives and strategic action are important when designing computation-intensive systems, and efficient and robust algorithms enable the deployment of impactful economic ideas.
|
CSC 495-01
James Allen
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-02
John Criswell
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-03
Zhen Bai
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-04
Chen Ding
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-05
Gaurav Sharma
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-06
Daniel Gildea
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-07
Lane Hemaspaandra
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-08
Ehsan Hoque
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-09
Yukang Yan
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-10
Jiebo Luo
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-11
Fatemeh Nargesian
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-12
Randal Nelson
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-13
Sreepathi Pai
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-14
Lenhart Schubert
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-15
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-16
Daniel Stefankovic
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-17
Muthu Venkitasubramaniam
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-18
Chenliang Xu
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-19
Yuhao Zhu
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-20
Aaron White
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-21
Thomas Howard
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495-22
Christopher Kanan
|
This course provides master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 495A-1
|
This course is designed for master's students conducting their research while studying in absentia. It allows students to remain enrolled and actively engaged in research while away from campus. This course provides Master’s students with the opportunity to conduct, develop, and refine their research projects. Students will engage in research relevant to their field of study and make progress toward completing their degrees.
|
CSC 511-01
Hangfeng He
MW 9:00AM - 10:15AM
|
This seminar offers an introduction to Large Language Models (LLMs), covering essential concepts such as Transformers, BERT, GPT-3, InstructGPT, prompting & decoding, and emergent abilities. Students will engage with a range of topics through paper presentations on themes such as Tool-Augmented LLMs, Multimodal Learning, LLMs for Science, Social and Ethical Concerns, Superintelligence Concerns, and Democratizing LLMs. Participants are required to present and discuss papers, write critical literature reviews, reproduce paper results, and collaborate on team projects. This seminar aims to provide a thorough understanding of LLMs, exploring their origins, opportunities, and concerns to enhance professional expertise in the field.
|
CSC 513-01
Mujdat Cetin; Zhen Bai
TR 9:40AM - 10:55AM
|
This is the third course offered as part of the PhD training program on augmented and virtual reality (AR/VR). The goal of the course is to provide interdisciplinary collaborative project experience in AR/VR. The course involves small teams of students from multiple departments working together on semester-long projects on AR/VR with the guidance of one or more faculty involved in the PhD training program. The expected end products of this Practicum course are tangible artifacts that represent what the students have learned, discovered, or invented. Types of artifacts include research papers; patent applications; open-source software; as well as online tutorials and videos for undergraduates, K-12 students, or the general public. Prerequisites: ECE 410-1 or OPT 410-1 or BME 410-1 or BCSC 570-1 or NSCI 415-1 or CSC 413-1 or CVSC 534-1 Instructors: Lead - Mujdat Cetin, Zhen Bai, Jannick Rolland, Michele Rucci
|
CSC 595-1
John Criswell
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-10
Jiebo Luo
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-11
Fatemeh Nargesian
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-13
Sreepathi Pai
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-14
Lenhart Schubert
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-15
Michael Scott
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-16
Daniel Stefankovic
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-17
Hangfeng He
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-18
Chenliang Xu
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-19
Yuhao Zhu
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-2
Jiaming Liang
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-20
Aaron White
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-21
Gonzalo Mateos Buckstein
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-22
Thomas Howard
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-23
Gregory Heyworth
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-24
Christopher Kanan
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-25
Mujdat Cetin
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-26
Anson Kahng
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-27
Jian Kang
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-28
Kaave Hosseini
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-29
Adam Sefkow
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-3
Zhen Bai
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-4
Chen Ding
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-5
Sandhya Dwarkadas
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-6
Daniel Gildea
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-7
Lane Hemaspaandra
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-8
Ehsan Hoque
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 595-9
Yukang Yan
|
This course provides PhD students with fewer than 90 credits the opportunity to conduct, develop, and refine their doctoral research projects. Students will engage in research relevant to their field of study and make progress toward completing their dissertations.
|
CSC 597-2
M 11:50AM - 1:05PM
|
No description
|
CSC 895-1
|
Blank Description
|
CSC 897-1
Daniel Gildea
|
Blank Description
|
CSC 897A-1
Muthu Venkitasubramaniam
|
Blank Description
|
CSC 899-01
James Allen
|
Blank Description
|
CSC 986V-1
|
No description
|
CSC 995-1
Daniel Gildea
|
Blank Description
|
CSC 997-1
Daniel Gildea
|
Blank Description
|
CSC 999-01
Daniel Gildea
|
Blank Description
|
Fall 2025
Number | Title | Instructor | Time |
---|---|
Monday | |
CSC 597-2
M 11:50AM - 1:05PM
|
|
No description
|
|
CSC 480-02
Monika Polak
M 4:50PM - 6:05PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 482-04
Daniel Stefankovic
M 6:15PM - 7:30PM
|
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
|
Monday and Wednesday | |
CSC 481-1
Andrew Read-McFarland
MW 9:00AM - 10:15AM
|
|
The modern study of cryptography investigates techniques for facilitating interactions between distrustful entities. In this course we introduce some of the fundamental concepts of this study. Emphasis will be placed on the foundations of cryptography and in particular on precise definitions and proof techniques. The main skills that will be assumed from these courses are: the ability to understand and write formal mathematical definitions and proofs and 2) comfort with reasoning about algorithms, such as proving their correctness and analyzing their running times. It is also important that you are familiar with basic probability.
|
|
CSC 511-01
Hangfeng He
MW 9:00AM - 10:15AM
|
|
This seminar offers an introduction to Large Language Models (LLMs), covering essential concepts such as Transformers, BERT, GPT-3, InstructGPT, prompting & decoding, and emergent abilities. Students will engage with a range of topics through paper presentations on themes such as Tool-Augmented LLMs, Multimodal Learning, LLMs for Science, Social and Ethical Concerns, Superintelligence Concerns, and Democratizing LLMs. Participants are required to present and discuss papers, write critical literature reviews, reproduce paper results, and collaborate on team projects. This seminar aims to provide a thorough understanding of LLMs, exploring their origins, opportunities, and concerns to enhance professional expertise in the field.
|
|
CSC 427-01
Irving Barron Martinez
MW 10:25AM - 11:40AM
|
|
This course will introduce the students to the basic concepts of digital image processing, and establish a good foundation for further study and research in this field. The theoretical components of this course will be presented at a level that seniors and first year graduate students who have taken introductory courses in vectors, matrices, probability, statistics, linear systems, and computer programming should be comfortable with. Topics cover in this course will include intensity transformation and spatial filtering, filtering in the frequency domain, image restoration, morphological image processing, image segmentation, image registration, and image compression. The course will also provide a brief introduction to python (ipython), the primary programming language that will be used for solving problems in class as well as take-home assignments. prerequisites: ECE 242 and ECE 440 & 446 are recommended or permission of instructor
|
|
CSC 454-01
Michael Scott
MW 10:25AM - 11:40AM
|
|
Design and implementation of programming languages, with an emphasis on imperative languages and on implementation tradeoffs. In-depth examination of 'how programming languages work.' Topics include fundamental language concepts (names, values, types, abstraction, control flow); compilation and interpretation (syntactic and semantic analysis, code generation and optimization); major language paradigms (imperative, object-oriented, functional, logic-based, concurrent). Course projects include assignments in several different languages, with an emphasis on compilation issues.
|
|
CSC 461-01
Eustrat Zhupa
MW 12:30PM - 1:45PM
|
|
This course presents the fundamental concepts of database design and use. It provides a study of data models, data description languages, and query facilities including relational algebra and SQL, data normalization, transactions and their properties, physical data organization and indexing, security issues and object databases. It also looks at the new trends in databases. The knowledge of the above topics will be applied in the design and implementation of a database application using a target database management system as part of a semester-long group project.
|
|
CSC 404-1
Michael Huang
MW 2:00PM - 3:15PM
|
|
B
|
|
CSC 413-01
Mujdat Cetin
MW 2:00PM - 3:15PM
|
|
This course provides a broad introduction to augmented and virtual reality (AR/VR) systems. The course involves lectures covering an overview of all aspects of the AR/VR domain, as well as individual work performed by each student aimed at providing more intensive training on various aspects of AR/VR. Topics covered in the lectures and class workshops include history, conceptual origins, and design/evaluation principles of AR/VR technologies; optics/platforms/sensors/displays; auditory perception and spatial audio; graphics and computation; data processing and machine intelligence for AR/VR; introduction to AR/VR programming tools; societal implications and ethical aspects. At the end of the course, students will have gained familiarity with the techniques, languages, and cultures of fields integral to the convergent research theme of AR/VR. This course is co-instructed by Daniel Nikolov, Mujdat Cetin, Zhiyao Duan, Chenliang Xu, and Yuhao Zhu, and it includes additional guest lectures and workshops.
|
|
CSC 480-01
Monika Polak
MW 2:00PM - 3:15PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 452-01
Yanan Guo
MW 3:25PM - 4:40PM
|
|
Introduction to computer architecture and the layering of hardware/software systems. Topics include instruction set design; logical building blocks; computer arithmetic; processor organization; the memory hierarchy (registers, caches, main memory, and secondary storage); I/Obuses, devices, and interrupts; microcode and assembly language; virtual machines; the roles of the assembler, linker, compiler, and operating system; technological trends and the future of computing hardware. Several programming assignments required.
|
|
CSC 453-01
Chen Ding
MW 3:25PM - 4:40PM
|
|
Modern software is complex and more than a single person can fully comprehend. This course teaches collaborative programming which is multi-person construction of software where each person's contribution is non-trivial and clearly defined and documented. The material to study includes design principles, safe and modular programming in modern programming languages including Rust, software teams and development processes, design patterns, and productivity tools. The assignments include collaborative programming and software design and development in teams. Students in CSC 453 have additional reading and requirements.
|
|
CSC 457-1
Andrew Read-McFarland
MW 4:50PM - 6:05PM
|
|
Introduction to computer networks and computer communication: Architecture and Protocols:. Design of protocols for error recovery, reliable delivery, routing and congestion control. Store-and-forward networks, satellite networks, local area networks and locally distributed systems. Case studies of networks, protocols and protocol families. Emphasis on software design issues in computer communication.
|
|
CSC 474-1
Gaurav Sharma
MW 4:50PM - 6:05PM
|
|
Classical computation models and complexity classes, linear algebra formulation of quantum mechanics, quantum computation models, qubits, quantum circuits, and quantum computation complexity classes, Glover's search and Shor's factorization quantum algorithms, adiabatic quantum computation. Prerequisites: Linear Algebra (UR Math 165 or equivalent), College Physics (UR PHYS 122 or equivalent), or instructor permission
|
|
CSC 476-01
Yanan Guo
MW 4:50PM - 6:05PM
|
|
This course delves into advanced topics in computer architecture such as out-of-order execution, speculative execution, cache protocols, and advanced memory techniques. It will also introduce the security problems caused by these designs, such as side-channel attacks, Rowhammer attacks, and Spectre/Meltdown vulnerabilities. Students will learn about the design of modern processors and their impact on performance and security.
|
|
CSC 484-1
Daniel Stefankovic
MW 4:50PM - 6:05PM
|
|
Advanced study of design and analysis of algorithms. Topics typically include: growth of functions; recurrences; probabilistic analysis and randomized algorithms; maximum flow; sorting networks; expander graphs; matrix operations; linear programming; discrete Fourier transform; number-theoretic algorithms; string matching; computational geometry; NP-completeness; approximation algorithms. Students taking this course at the 400 level may be required to complete additional tests, readings or assignments.
|
|
CSC 489-01
Anson Kahng
MW 4:50PM - 6:05PM
|
|
This class will provide an introduction to topics at the intersection of computer science and economics, including game theory, auctions, incentive-compatible mechanism design, matching algorithms, human computation (e.g., crowdsourcing and peer prediction), trust and reputation systems, and social choice (voting) theory. We hope to convey the fact that the relationship between computer science and economics is a two-way street: It is important to consider incentives and strategic action are important when designing computation-intensive systems, and efficient and robust algorithms enable the deployment of impactful economic ideas.
|
|
Tuesday | |
CSC 480-07
Monika Polak
T 6:15PM - 7:30PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 482-02
Daniel Stefankovic
T 6:15PM - 7:30PM
|
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
|
Tuesday and Thursday | |
CSC 435-1
Jiaming Liang
TR 9:40AM - 10:55AM
|
|
This course primarily focuses on algorithms for large-scale optimization problems arising in machine learning and data science applications. The first part will cover first-order methods including gradient and subgradient methods, mirror descent, proximal gradient method, accelerated gradient method, Frank-Wolfe method, and inexact proximal point methods. The second part will introduce algorithms for nonconvex optimization, stochastic optimization, distributed optimization, manifold optimization, reinforcement learning, and those beyond first-order.
|
|
CSC 445-01
Chenliang Xu
TR 9:40AM - 10:55AM
|
|
Much of the recent advances in machine learning and artificial intelligence have been dominated by neural network approaches broadly described as deep learning. This course provides an overview of the most important deep learning techniques covering both theoretical foundations and practical applications. The applications focus on problems in image understanding and language modeling utilizing state-of-the-art deep learning libraries and tools, which are introduced in the course.
|
|
CSC 513-01
Mujdat Cetin; Zhen Bai
TR 9:40AM - 10:55AM
|
|
This is the third course offered as part of the PhD training program on augmented and virtual reality (AR/VR). The goal of the course is to provide interdisciplinary collaborative project experience in AR/VR. The course involves small teams of students from multiple departments working together on semester-long projects on AR/VR with the guidance of one or more faculty involved in the PhD training program. The expected end products of this Practicum course are tangible artifacts that represent what the students have learned, discovered, or invented. Types of artifacts include research papers; patent applications; open-source software; as well as online tutorials and videos for undergraduates, K-12 students, or the general public. Prerequisites: ECE 410-1 or OPT 410-1 or BME 410-1 or BCSC 570-1 or NSCI 415-1 or CSC 413-1 or CVSC 534-1 Instructors: Lead - Mujdat Cetin, Zhen Bai, Jannick Rolland, Michele Rucci
|
|
CSC 400-1
Ehsan Hoque
TR 11:05AM - 12:20PM
|
|
An introduction to the technical, social, economic, and political aspects of graduate education in computer science at Rochester. Class meetings consist primarily of group discussions and presentations that focus on a broad range of topics, and are intended to improve the critical analysis, technical writing, presentation, and problem-solving skills of students. Both class discussions and written assignments are drawn from material presented in other first-year graduate courses offered within the department. The course also offers a forum for individual department faculty members to discuss their research interests and recent results. Satisfactory performance is required of all first-year PhD students.
|
|
CSC 412-1
Yukang Yan
TR 11:05AM - 12:20PM
|
|
This course will explore the design, implementation, and evaluation of user interfaces. Students will study the theoretical methods for interface design and evaluation, including requirements gathering, usability heuristics, user interface inspections, usability studies, information visualization, and prototyping. Case studies of interface successes and failures will augment theory with practical experiences. Students will apply this methodology to assignments in the design, implementation, and evaluation cycle. Students taking this course at the graduate level will have additional readings and assignments.
|
|
CSC 482-01
Daniel Stefankovic
TR 11:05AM - 12:20PM
|
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
|
CSC 441-01
Ralf Haefner
TR 12:30PM - 1:45PM
|
|
IThis is a rotating topics course that includes the study of both the computations performed by the brain and of computational models of neuronal responses. Primary focus will be on the visual system. This course is taught at an introductory level in odd numbered years and an advanced level in even numbered years.
|
|
CSC 464-1
Zhiyao Duan
TR 12:30PM - 1:45PM
|
|
Computer audition is the study of how to design a computational system that can analyze and process auditory scenes. Example problems in this field include source separation (splitting audio mixtures into individual source tracks), pitch estimation (estimating the pitches played by each instrument), timbre modeling (finding features to distinguish different kinds of instruments), and source localization (finding where the sound comes from). This course will cover both fundamentals and state-of-the-art research in this field, which applies various kinds of signal processing and machine learning techniques. Multiple programming assignments will help students practice what they learn, and a final research project will lead students through the entire research process. Prerequisites: ECE 246/446 or ECE 272/472 or other equivalent signal processing courses, and Python/Matlab programming. Knowledge of machine learning techniques such as Markov models, support vector machines and neural networks is also helpful, but not required.
|
|
CSC 440-01
Monika Polak
TR 2:00PM - 3:15PM
|
|
This course is designed to develop your understanding of the fundamental concepts in data mining and how they can be used to answer questions about real-world problems. These methods, and the underlying models, can be used to learn from existing data to make predictions about new data. The course will help you understand the mindset of creating a data project pipeline by covering topics on model development, causal inference, and traditional data mining. The class will both emphasize individual work and also team work by helping students solidify their knowledge through a final project.
|
|
CSC 456-1
John Criswell
TR 2:00PM - 3:15PM
|
|
Principles of operating system design, explored within the practical context of traditional, embedded, distributed, and real-time operating systems. Topics include device management, process management, scheduling, synchronization principles, memory management and virtual memory, file management and remote files, protection and security, fault tolerance, networks, and distributed computing. CSC 456, a graduate-level course, requires additional readings and assignments.
|
|
CSC 442-1
Jian Kang
TR 3:25PM - 4:40PM
|
|
Introduces fundamental principles and techniques from Artificial Intelligence, including heuristic search, automated reasoning, handling uncertainty, and machine learning, to prepare students for advanced AI courses.
|
|
CSC 477-01
Christopher Kanan
TR 3:25PM - 4:40PM
|
|
Deep learning systems are now being widely productionized at large corporations and many AI-centric start-ups have been created. Productionizing AI systems requires more than just algorithmic considerations. We need to organize the data for training these systems, measure the bias present in these systems after training them, monitor them over time, and more. This course covers these topics, including, but are not limited to, deploying AI systems, MLOps, model versioning, dataset curation, data management, AI ethics/fairness, detecting and mitigation of bias, detecting out-of-distribution inputs, domain shift, data-centric AI, real-time machine learning, continual machine learning, monitoring AI systems after deployment, model/data parallelism, managing AI projects/teams, training and inference on edge-devices, and launching AI start-ups. Prerequisites: At least one course that covers neural networks or instructor permission. Students are expected to be familiar with Python, one or more deep learning toolboxes, deep learning, and machine learning more broadly. Students should have at least a high-level understanding of backpropagation, multi-layer perceptrons, transformers, convolutional neural networks, and neural network fine-tuning.
|
|
CSC 462-1
Anson Kahng
TR 4:50PM - 6:05PM
|
|
This course will cover foundational concepts in descriptive analyses, probability, and statistical inference. Topics to be covered include data exploration through descriptive statistics (with a heavy emphasis on using R for such analyses), elementary probability, diagnostic testing, combinatorics, random variables, elementary distribution theory, statistical inference, and statistical modeling. The inference portion of the course will focus on building and applying hypothesis tests and confidence intervals for population means, proportions, variances, and correlations. Non-parametric alternatives will also be introduced. The modeling portion of the course will include ANOVA, and simple and multiple regression and their respective computational methods. Students will be introduced to the R statistical computing environment. PREREQUISITES: MTH 150 or MTH 150A; AND MTH 142 or MTH 161 or MTH 171 (or equivalent)
|
|
Wednesday | |
CSC 480-03
Monika Polak
W 4:50PM - 6:05PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 480-04
Monika Polak
W 6:15PM - 7:30PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 482-03
Daniel Stefankovic
W 6:15PM - 7:30PM
|
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
|
CSC 482-05
Daniel Stefankovic
W 7:40PM - 8:55PM
|
|
How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
|
|
Wednesday and Friday | |
CSC 459-1
Yuhao Zhu
WF 2:00PM - 3:15PM
|
|
We will first study the fundamental building blocks of visual computing, including human visual system, camera imaging, computer graphics, image/video compression, and display technologies. We will then explore application domains that build on top of these fundamental building blocks such as Augmented/Virtual Reality, computational photography, autonomous machines, and digital cultural heritage. The course will necessarily span many scientific and engineering domains such as visual neuroscience, cognition, optics, signal processing, and computer systems.
|
|
Thursday | |
CSC 480-08
Monika Polak
R 3:25PM - 4:15PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 480-05
Monika Polak
R 4:50PM - 6:05PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|
|
CSC 480-06
Monika Polak
R 6:15PM - 7:30PM
|
|
This course studies fundamental computer models and their computational limitations. Finite-state machines and pumping lemmas, the context-free languages, Turing machines, decidable and Turing-recognizable languages, undecidability, NP-completeness.
|