Computer Science

PhD

In New Haven (USA)

Price on request

Description

  • Type

    PhD

  • Location

    New haven (USA)

Professors Dana Angluin, James Aspnes, Dirk Bergemann,* Ronald Coifman,* Julie Dorsey, Stanley Eisenstat, Joan Feigenbaum, Michael Fischer, David Gelernter, Mark Gerstein,* John Lafferty,* Rajit Manohar,* Drew McDermott (Emeritus), Dragomir Radev, Vladimir Rokhlin,† Holly Rushmeier, Brian Scassellati, Martin Schultz (Emeritus), Zhong Shao, Avi Silberschatz, Daniel Spielman, Leandros Tassiulas,* Y. Richard Yang, Steven Zucker†

Facilities

Location

Start date

New Haven (USA)
See map
06520

Start date

On request

About this course

Algorithms and computational complexity, artificial intelligence, data networking, databases, graphics, machine learning, programming languages, robotics, scientific computing, security and privacy, and systems.

Applicants for admission should have strong preparation in mathematics, engineering, or science. They should be competent in programming but need no computer science beyond that basic level. The GRE General Test is required.There is no foreign language requirement . To be admitted to candidacy, a student must (1) pass ten courses (including CPSC 690 and CPSC 691) with at least two grades of Honors, the remainder at least High Pass, including three advanced courses in an area of specialization; (2) take six advanced courses in areas of general computer science; (3) successfully complete a...

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Computational
  • Music
  • Programming
  • Engineering
  • Systems
  • Project
  • Graphics
  • Sound
  • Algebra
  • Calculus
  • Design
  • Biology
  • Algorithms
  • Operating Systems
  • Internet
  • Object-oriented training
  • Networks
  • Computing
  • Networking
  • Evaluation

Course programme

Courses

CPSC 522a, Operating SystemsZhong Shao

The design and implementation of operating systems. Topics include synchronization, deadlocks, process management, storage management, file systems, security, protection, and networking.
MW 2:30pm-3:45pm

CPSC 523b, Principles of Operating SystemsAbraham Silberschatz

A survey of the underlying principles of modern operating systems. Topics include process management, memory management, storage management, protection and security, distributed systems, and virtual machines. Emphasis on fundamental concepts rather than implementation.
TTh 9am-10:15am

CPSC 524a, Parallel Programming TechniquesAndrew Sherman

Practical introduction to parallel programming, emphasizing techniques and algorithms suitable for scientific and engineering computations. Aspects of processor and machine architecture. Techniques such as multithreading, message passing, and data parallel computing using graphics processing units. Performance measurement, tuning, and debugging of parallel programs. Parallel file systems and I/O.
MW 9am-10:15am

CPSC 527a or b, Object-Oriented ProgrammingStaff

Object-oriented programming as a means to efficient, reliable, modular, reusable code. Use of classes, derivation, templates, name-hiding, exceptions, polymorphic functions, and other features of C++.
HTBA

CPSC 529b, Introduction to Human-Computer InteractionMarynel Vazquez

This course introduces students to the interdisciplinary field of human-computer interaction (HCI), with particular focus on human-robot interaction (HRI). The first part of the course covers principles and techniques in the design, development, and evaluation of interactive systems. It provides students with an introduction to UX design and user-centered research. The second part focuses on the emergent field of HRI and several other nontraditional interfaces, e.g., AR/VR, tangibles, crowdsourcing. The course is organized as a series of lectures, presentations, a midterm exam, and a term-long group project on designing a new interactive system. After CPSC 201 and 202 or equivalents. Students who do not fit this profile may be allowed to enroll with the permission of the instructor.
MW 2:30pm-3:45pm

CPSC 531a, Computer Music: Algorithmic and Heuristic CompositionScott Petersen

Study of the theoretical and practical fundamentals of computer-generated music. Music and sound representations, acoustics and sound synthesis, scales and tuning systems, algorithmic and heuristic composition, and programming languages for computer music. Theoretical concepts are supplemented with pragmatic issues expressed in a high-level programming language.
TTh 11:35am-12:50pm

CPSC 532b, Computer Music: Sound Representation and SynthesisScott Petersen

Study of the theoretical and practical fundamentals of computer-generated music, with a focus on low-level sound representation, acoustics and sound synthesis, scales and tuning systems, and programming languages for computer music generation. Theoretical concepts are supplemented with pragmatic issues expressed in a high-level programming language. Prerequisite: ability to read music.
MW 11:35am-12:50pm

CPSC 533a, Computer NetworksYang Yang

An introduction to the design, implementation, analysis, and evaluation of computer networks and their protocols. Topics include layered network architectures, applications, transport, congestion, routing, data link protocols, local area networks, performance analysis, multimedia networking, network security, and network management. Emphasis on protocols used in the Internet.
TTh 1pm-2:15pm

CPSC 534b, Topics in Networked SystemsYang Yang

Study of networked systems such as the Internet and mobile networks which provide the major infrastructure components of an information-based society. Topics include the design principles, implementation, and practical evaluation of such systems in new settings, including cloud computing, software-defined networking, 5G, Internet of things, and vehicular networking.
MW 4pm-5:15pm

CPSC 537a, Introduction to Database SystemsAbraham Silberschatz

An introduction to database systems. Data modeling. The relational model and the SQL query language. Relational database design, integrity constraints, functional dependencies, and natural forms. Object-oriented databases. Implementation of databases: file structures, indexing, query processing, transactions, concurrency control, recovery systems, and security.
TTh 9am-10:15am

CPSC 539b, Software EngineeringRuzica Piskac

Introduction to building a large software system in a team. Learning how to collect requirements and write a specification. Project planning and system design. Increasing software reliability: debugging, automatic test generation. Introduction to type systems, static analysis, and model checking.
MW 11:35am-12:50pm

CPSC 546b, Data and Information VisualizationHolly Rushmeier

Visualization is a powerful tool for understanding data and concepts. This course provides an introduction to the concepts needed to build new visualization systems, rather than to use existing visualization software. Major topics are abstracting visualization tasks, using visual channels, spatial arrangements of data, navigation in visualization systems, using multiple views, and filtering and aggregating data. Case studies to be considered include a wide range of visualization types and applications in humanities, engineering, science, and social science. Prerequisite: CPSC 223.
TTh 9am-10:15am

CPSC 551b, The User InterfaceDavid Gelernter

The user interface (UI) in the context of modern design, where tech has been a strong and consistent influence from the Bauhaus and U.S. industrial design of the 1920s and 1930s through the IBM-Eames design project of the 1950s to 1970s. The UI in the context of the windows-menus-mouse desktop, as developed by Alan Kay and Xerox in the 1970s and refined by Apple in the early 1980s. Students develop a detailed design and simple implementation for a UI.
TTh 11:35am-12:50pm

CPSC 553a / CB&B 555a / GENE 555a, Machine Learning for BiologySmita Krishnaswamy

This course introduces biology as a systems and data science through open computational problems in biology, the types of high-throughput data that are being produced by modern biological technologies, and computational approaches that may be used to tackle such problems. We cover applications of machine-learning methods in the analysis of high-throughput biological data, especially focusing on genomic and proteomic data, including denoising data; nonlinear dimensionality reduction for visualization and progression analysis; unsupervised clustering; and information theoretic analysis of gene regulatory and signaling networks. Students’ grades are based on programming assignments, a midterm, a paper presentation, and a final project.
TTh 11:35am-12:50pm

CPSC 554a, Software Analysis and VerificationRuzica Piskac

Introduction to concepts, tools, and techniques used in the formal verification of software. State-of-the-art tools used for program verification; detailed insights into algorithms and paradigms on which those tools are based, including model checking, abstract interpretation, decision procedures, and SMT solvers.
MW 11:35am-12:50pm

CPSC 556b / ENAS 951b, Wireless Technologies and the Internet of ThingsWenjun Hu

Fundamental theory of wireless communications and its application explored against the backdrop of everyday wireless technologies such as WiFi and cellular networks. Channel fading, MIMO communication, space-time coding, opportunistic communication, OFDM and CDMA, and the evolution and improvement of technologies over time. Emphasis on the interplay between concepts and their implementation in real systems. The labs and homework assignments require Linux and MATLAB skills and simple statistical and matrix analysis (using built-in MATLAB functions).
MW 2:30pm-3:45pm

CPSC 565b, Theory of Distributed SystemsJames Aspnes

Models of asynchronous distributed computing systems. Fundamental concepts of concurrency and synchronization, communication, reliability, topological and geometric constraints, time and space complexity, and distributed algorithms.
MW 1pm-2:15pm

CPSC 567a, Cryptography and Computer SecurityStaff

A survey of such private and public key cryptographic techniques as DES, RSA, and zero-knowledge proofs, and their application to problems of maintaining privacy and security in computer networks. Focus on technology, with consideration of such societal issues as balancing individual privacy concerns against the needs of law enforcement, vulnerability of societal institutions to electronic attack, export regulations and international competitiveness, and development of secure information systems.
TTh 2:30pm-3:45pm

CPSC 568a, Computational ComplexityJoan Feigenbaum

Introduction to the theory of computational complexity. Basic complexity classes, including polynomial time, nondeterministic polynomial time, probabilistic polynomial time, polynomial space, logarithmic space, and nondeterministic logarithmic space. The roles of reductions, completeness, randomness, and interaction in the formal study of computation.
TTh 1pm-2:15pm

CPSC 570b, Artificial IntelligenceBrian Scassellati

Introduction to artificial intelligence research, focusing on reasoning and perception. Topics include knowledge representation, predicate calculus, temporal reasoning, vision, robotics, planning, and learning.
MWF 10:30am-11:20am

CPSC 573a, Intelligent Robotics LaboratoryBrian Scassellati

Students work in small teams to construct novel research projects using one of a variety of robot architectures. Project topics may include human-robot interaction, adaptive intelligent behavior, active perception, humanoid robotics, and socially assistive robotics.
MWF 10:30am-11:20am

CPSC 574a, Computational Intelligence for GamesJames Glenn


TTh 4pm-5:15pm

CPSC 575a / ENAS 575a, Computational Vision and Biological PerceptionSteven Zucker

An overview of computational vision with a biological emphasis. Suitable as an introduction to biological perception for computer science and engineering students, as well as an introduction to computational vision for mathematics, psychology, and physiology students.
MW 2:30pm-3:45pm

CPSC 576b / AMTH 667b / ENAS 576b, Advanced Computational VisionSteven Zucker

Advanced view of vision from a mathematical, computational, and neurophysiological perspective. Emphasis on differential geometry, machine learning, visual psychophysics, and advanced neurophysiology. Topics include perceptual organization, shading, color, and texture.
TTh 2:30pm-3:45pm

CPSC 577b, Natural Language ProcessingDragomir Radev

Linguistic, mathematical, and computational fundamentals of natural language processing (NLP). Topics include part of speech tagging, Hidden Markov models, syntax and parsing, lexical semantics, compositional semantics, machine translation, text classification, discourse, and dialogue processing. Additional topics such as sentiment analysis, text generation, and deep learning for NLP.
TTh 1pm-2:15pm

CPSC 578a, Computer GraphicsHolly Rushmeier

Introduction to the basic concepts of two- and three-dimensional computer graphics. Topics include affine and projective transformations, clipping and windowing, visual perception, scene modeling and animation, algorithms for visible surface determination, reflection models, illumination algorithms, and color theory.
TTh 9am-10:15am

CPSC 579b, Advanced Topics in Computer GraphicsJulie Dorsey

An in-depth study of advanced algorithms and systems for rendering, modeling, and animation in computer graphics. Topics vary and may include reflectance modeling, global illumination, subdivision surfaces, NURBS, physically based fluids systems, and character animation.
M 9:25am-11:15am

CPSC 635b, Topics on the Hardware/Software InterfaceAbhishek Bhattacharjee

This course focuses on advanced topics in computer systems, particularly at the intersection of architecture and systems software (i.e., operating systems, firmware, device drivers, etc.). The goal is to give students exposure to building hardware and low-level software support for emerging high-performance server systems used in data centers. Key topics include the virtual memory abstraction, cache coherence, and memory consistency, particularly in the context of performance and energy efficiency. We study the impact of hardware heterogeneity on these trends; and the emergence of hardware accelerators (i.e., GPUs, FPGAs, fixed-function accelerators, etc.) and novel memory technologies (i.e., high-bandwidth die-stacked memory) introduces many system performance and programmability challenges. The course prepares students to understand these challenges and provides the background to architecture systems that embrace extreme heterogeneity. Prerequisites: the course is aimed at Computer Science graduate students with a background in systems programming; solid undergraduate exposure to systems programming (CPSC 323) and operating systems (CPSC 422 and/or CPSC 423) is assumed; exposure to other systems classes (e.g., CPSC 424, CPSC 437) is useful but not required. Students who do not fit this profile may be allowed to enroll with permission of the instructor.
MW 4pm-5:15pm

CPSC 640b, Topics in Numerical ComputationVladimir Rokhlin

This course discusses several areas of numerical computing that often cause difficulties to non-numericists, from the ever-present issue of condition numbers and ill-posedness to the algorithms of numerical linear algebra to the reliability of numerical software. The course also provides a brief introduction to “fast” algorithms and their interactions with modern hardware environments. The course is addressed to Computer Science graduate students who do not necessarily specialize in numerical computation; it assumes the understanding of calculus and linear algebra and familiarity with (or willingness to learn) either C or FORTRAN. Its purpose is to prepare students for using elementary numerical techniques when and if the need arises.
MW 2:30pm-3:45pm

CPSC 645b, Topics in Theoretical Machine LearningNisheeth Vishnoi

This course focuses on important topics in machine learning where a theoretical understanding is currently lacking or under development. Representative topics include: physics-inspired algorithms for optimization and sampling, algorithms beyond worst case, symmetry in learning and optimization, algorithmic fairness and interpretability, stability, generalization, and deep learning. The format is a mix of lectures and seminars in which students read research papers and present their key conceptual/technical contributions along with their shortcomings. Class projects aim to address some of these identified shortcomings. The focus of a project is on building a principled understanding of the topics above via a mix of modeling, proofs, and empirical evaluation. The projects are intended to serve as a starting point for a subsequent publication in a machine-learning conference. Enrollment limited to fifteen. If fewer than fifteen graduate students enroll, Yale College undergraduates will be allowed to enroll with permission of the instructor. Prerequisites: solid background in calculus, linear algebra, stochastic processes, and programming; algorithms at the level of CPSC 365 or 366. Students who do not fit this profile may be allowed to enroll with permission of the instructor.
M 1:30pm-3:20pm

CPSC 659a, Building Interactive MachinesMarynel Vazquez

This course brings together methods from machine learning, computer vision, robotics, and human-computer interaction to enable interactive machines to perceive and act in dynamic environments. Part of the course examines approaches for perception with a variety of devices and algorithms; the other part focuses on methods for decision-making. The course is a combination of lectures, reviews of state-of-the-art papers, discussions, coding homework, and a final team project. Prerequisites: a basic understanding of probability, calculus, and algorithms is expected, as well as proficiency in Python and high-level familiarity with C++. Students who do not fit this profile may be allowed to enroll with permission of the instructor.
MW 1pm-2:15pm

CPSC 662a / AMTH 561a, Spectral Graph TheoryDaniel Spielman

An applied approach to spectral graph theory. The combinatorial meaning of the eigenvalues and eigenvectors of matrices associated with graphs. Applications to optimization, numerical linear algebra, error-correcting codes, computational biology, and the discovery of graph structure.
MW 2:30pm-3:45pm

CPSC 663b / AMTH 663b, Deep Learning Theory and ApplicationsSmita Krishnaswamy

Deep neural networks have gained immense popularity in the past decade due to their outstanding success in many important machine-learning tasks such as image recognition, speech recognition, and natural language processing. This course provides a principled and hands-on approach to deep learning with neural networks. Students master the principles and practices underlying neural networks, including modern methods of deep learning, and apply deep learning methods to real-world problems including image recognition, natural language processing, and biomedical applications. Course work includes homework and a final project—either group or individual, depending on the total number enrolled—with both a written and oral (i.e., presentation) component.
TTh 4pm-5:15pm

Computer Science

Price on request