Electrical & Computer Eng
- COS 302/SML 305/ECE 305: Mathematics for Numerical Computing and Machine LearningThis course provides a comprehensive and practical background for students interested in continuous mathematics for computer science. The goal is to prepare students for higher-level subjects in artificial intelligence, machine learning, computer vision, natural language processing, graphics, and other topics that require numerical computation. This course is intended students who wish to pursue these more advanced topics, but who have not taken (or do not feel comfortable) with university-level multivariable calculus (e.g., MAT 201/203) and probability (e.g., ORF 245 or ORF 309). See "Other Information"
- COS 375/ECE 375: Computer Architecture and OrganizationAn introduction to computer architecture and organization. Instruction set design; basic processor implementation techniques; caches and virtual memory, CPUs, GPUs, storage systems, hardware-software APIs, compilers. Goal: building understanding of the systems you design and program. Design trade-offs among cost, performance, complexity, and power dissipation.
- COS 461/ECE 471: Computer NetworksThe course's goal is to teach students how today's Internet works. Topics covered include the Internet protocol, Internet routing, routers, packet switching, network management, network monitoring, congestion control, reliable transport, network security, and applications of ML on networking. Through programming assignments, students will gain practical experience building network components and operating an Internet-like network infrastructure.
- COS 516/ECE 516: Automated Reasoning about SoftwareAn introduction to algorithmic techniques for reasoning about software. Basic concepts in logic-based techniques including model checking, invariant generation, symbolic execution; automatic decision procedures in modern solvers for Boolean Satisfiability (SAT) and Satisfiability Modulo Theories (SMT); and their applications in automated verification, analysis, and synthesis of software. Emphasis on algorithms and automatic tools.
- ECE 115: Introduction to Computing: Programming Autonomous VehiclesECE 115 is an introductory programming course designed for students with minimal or no prior computing experience. Students learn core programming concepts by working with autonomous robotic vehicles, making the learning process hands-on and practical. The curriculum covers essential programming fundamentals including control flow, iteration, functions, recursion, object-oriented programming, and data structures such as lists and arrays. Through integrated lab sessions, students apply these concepts directly by programming real robotic platforms. This course serves as an alternative to COS 126.
- ECE 206/COS 306: Contemporary Logic DesignIntroduction of the basic concepts in logic design that form the basis of computation and communication circuits. This course will start from scratch and end with building a working computer on which we will run small programs.
- ECE 298: Sophomore Independent WorkProvides an opportunity for a student to concentrate on a state-of-the-art project in electrical engineering and computer engineering. Topics may be selected from suggestions by faculty members or proposed by the students. The final choice must be approved by the faculty advisor. There is no formal reading list; however, a literature search is a normal part of most projects.
- ECE 302: Robotic and Autonomous Systems LabComprehensive, laboratory-based course in electronic system design and analysis. Covers formal methods for the design and analysis of moderately complex real-world electronic systems. Course is centered around a semester-long design project involving a computer-controlled vehicle designed and constructed by teams of two students. Integrates microprocessors, communications, and control.
- ECE 308: Electronic and Photonic DevicesIntro to fundamentals and operation of semiconductor devices and the micro/nano fabrication technologies used to make them. The devices include field-effect transistors, photodetectors and solar cells, light-emitting diodes and lasers. Applications to be discussed include computing and microchips, optical transmission of info (the internet backbone), displays and renewable energy. Students will fabricate their own devices in a clean room and test them via microprobes. Special emphasis will be placed on the interplay between the material properties, fabrication capabilities, device performance and ultimate system performance.
- ECE 364: Machine Learning for Predictive Data AnalyticsMachine learning for predictive data analytics; information-based learning; similarity-based learning; probability-based learning; error-based learning; deep learning; evaluation.
- ECE 396/COS 396: Introduction to Quantum ComputingThis course will introduce the matrix form of quantum mechanics and discuss the concepts underlying the theory of quantum information. Some of the important algorithms will be discussed, as well as physical systems which have been suggested for quantum computing.
- ECE 398: Junior Independent WorkProvides an opportunity for a student to concentrate on a "state-of-the-art" project in electrical engineering and computer engineering. Topics may be selected from suggestions by faculty members or proposed by the student. The final choice must be approved by the faculty advisor. There is no formal reading list; however, a literature search is a normal part of most projects.
- ECE 435: Machine Learning and Pattern RecognitionThis course is an introduction to the theoretical foundations of machine learning. A variety of classical and recent results in machine learning and statistical analysis are discussed, including: classification, regression, regularization, optimization, gradient descent, neural networks, convolutional networks, and reinforcement learning.
- ECE 441/ENE 441: Solid-State Physics IAn introduction to the properties of solids. Theory of free electrons--classical and quantum. Crystal structure and methods of determination. Electron energy levels in a crystal: weak potential and tight-binding limits. Classification of solids--metals, semiconductors and insulators. Types of bonding and cohesion in crystals. Lattice dynamics, phonon spectra and thermal properties of harmonic crystals.
- ECE 445: Solid-State Electronic DevicesThe physics and technology of solid-state electronic devices. Covers electronic structure of semiconductors, energy bands and doping, followed by discussion of carrier transport by drift and diffusion and recombination/generation. Detailed analysis of p-n junctions, bipolar transistors and field effect transistors. Survey of a wide range of devices, including photodetectors, solar cells, light-emitting diodes and semiconductor lasers, highlighting contemporary concepts such as thin film electronics and 2D semiconductors.
- ECE 450: Biosensing and DiagnosticsAn introductory multidisciplinary course for undergraduate and first-year graduate engineering students, covering fundamental principles, applications, and new advances in biosensing and diagnostics. Topics include biomarkers (small molecules, proteins, nucleic-acids, and cells), detection methods (electrochemical assay, colorimetric assay, immunoassay, nucleic acid hybridization assay, PCR, pure physical detection), signal generation, assay enhancement, assay characterization/validation, molecular binding theory, small molecule detection (hapten), competitive assays, self-flow assays, diagnostics, FDA 510(k), microfluidics, microarrays, etc.
- ECE 453: Optical and Quantum ElectronicsFundmentals of light-matter interactions, waveguides and resonators, nonlinear optics and lasers.
- ECE 462/COS 462: Design of Very Large-Scale Integrated (VLSI) SystemsAnalysis and design of digital integrated circuits using deep sub-micron CMOS technologies as well as emerging and post-CMOS technologies (Si finFETs, III-V, carbon). Emphasis on design, including synthesis, simulation, layout and post-layout verification.Analysis of energy, power, performance, area of logic-gates, interconnect and signaling structures.
- ECE 482: Digital Signal ProcessingThe lectures will cover: (1) Basic principles of digital signal processing. (2) Design of digital filters. (3) Fourier analysis and the fast Fourier transform. (4) Roundoff errors in digital signal processing. (5) Applications of digital signal processing.
- ECE 488: Fundamental Image Processing: From Mars to Hollywood with a Stop at the HospitalWe cover the world of digital imaging, from how digital cameras form images to how special effects are used in Hollywood movies and how the Mars Rover sends photographs across millions of miles of space. The course starts by looking at how the human visual system works and then teaches the engineering, mathematics, and CS that makes digital images work. We will learn algorithms used for adjusting images, explore JPEG and MPEG standards for encoding and compressing video images, and go on to learn about image segmentation, noise removal and filtering. We will end with image processing techniques used in medicine and special projects.
- ECE 498: Senior Thesis I (Year-Long)The senior thesis (498-499) is a year-long project in which students complete a substantial piece of research and scholarship under the supervision and advisement of a Princeton faculty member in science, engineering, or a technical field. The work requires sustained investment and attention throughout the academic year. An interim written report is due at the end of the fall semester and students will be assigned a final letter grade in both 498 (Senior Thesis I) and 499 (Senior Thesis II). Required works-in-progress submissions, due dates, as well as how students' grades for the semester are outlined below.
- ECE 511: Quantum Mechanics with ApplicationsThis course covers the principles of quantum mechanics of relevance to students in applied physics, materials science and engineering. Topics include the concept of Hilbert Spaces, Schrodinger and Heisenberg Representations, Bound State and scattering problems in one, two and three dimensions, consequences of symmetry, Angular momentum algebra, Approximation methods for stationary states, Many-body systems, Time dependent Perturbation Theory, and Second Quantization.
- ECE 514: Extramural Research InternshipFull-time research internship at a host institution, to perform scholarly research relevant to student's dissertation work. Research objectives are determined by advisor in conjunction with outside host. A mid-semester progress review and a final paper are required. Enrollment limited to post-generals students for up to two semesters. Special rules apply to international students regarding CPT/OPT use. Students may register by application only.
- ECE 518: Selected Topics in Computer Engineering and Information Sciences and SystemsThis course introduces first year graduate students to the research of the faculty in the area of Computer Engineering and Information Sciences and Systems. It helps first year graduate students find a research advisor.
- ECE 519: Selected Topics in Solid-State Electronics: Advanced Topics in Electronic and Optoelectronic Materials and DevicesIntroduction to the topics and methods of research in electronic materials and devices, providing an overview of current research of the faculty in electronic materials and devices, and in optical and optoelectronic engineering.
- ECE 524: Foundations of Reinforcement LearningThe course is a graduate level course, focusing on theoretical foundations of reinforcement learning. It covers basics of Markov Decision Process (MDP), dynamic programming-based algorithms, policy optimization, planning, exploration, as well as information theoretical lower bounds. Various advanced topics are also discussed, including off-policy evaluation, function approximation, partial observable MDP and deep reinforcement learning. This course puts special emphases on the algorithms and their theoretical analyses. Prior knowledge on linear algebra, probability theory, and stochastic process is required.
- ECE 531: Robot Planning Meets Machine LearningPlanning and learning are essential for intelligent robots. In this graduate course, we consider how planning and learning can be combined to accomplish difficult tasks over long time horizons with sparse feedback, complicated constraints, and multiple forms of uncertainty. The course has two parts. In Part 1, the instructor lectures on planning and students complete problem sets to establish a common technical foundation. In Part 2, students present papers on machine learning for planning while working on extended final projects.
- ECE 532/COS 572/MAE 572: Safety-Critical Robotics and AIRobotic and AI systems are unlocking transformative impact but also raising urgent safety questions. This course covers the mathematical foundations of safety-critical autonomy and introduces the key algorithmic paradigms (control barrier functions, Hamilton-Jacobi reachability, model-predictive shielding) under a unified safety filter framework. By dissecting the safety challenges in autonomous driving, robot learning, human interaction, and AI alignment, students learn the importance of quantifying uncertainty, minding the gap between models and reality, and ensuring safety - even under black swan events - without sacrificing performance.
- ECE 535: Machine Learning and Pattern RecognitionThis course is an introduction to the theoretical foundations of machine learning. A variety of classical and recent results in machine learning and statistical analysis are discussed, including: Bayesian classification, regression, regularization, sparse regression, support vector machines, kernels, neural networks and gradient descent.
- ECE 538B: Special Topics in Information Sciences and Systems: Theory of Deep Weakly Supervised LearningGraduate level course focusing on theoretical foundations of deep learning with a focus on weakly supervised aspects. The class covers the theoretical analysis tools used in deep learning including stochastic gradient, uniform convergence theory and statistical learning. The course focuses primarily on unsupervised learning and weakly supervised learning. Topics include generative models, self-training, transfer learning, representation learning, semi-supervised learning and other forms of self-supervised learning. Prior knowledge on statistics, linear algebra, probability theory and optimization is required.
- ECE 554/MSE 553: Nonlinear OpticsA general introduction to nonlinear optics, including harmonic generation, parametric amplification and oscillation, electro-optic effects, photorefractive materials, nonlinear spectroscopy, and nonlinear imaging.
- ECE 560/PHY 565/MSE 556: Fundamentals of NanophotonicsIntroduction to theoretical techniques for understanding and modeling nanophotonic systems, emphasizing important algebraic properties of Maxwell's equations. Topics covered include Hermitian eigensystems, photonic crystals, Bloch's theorem, symmetry, band gaps, omnidirectional reflection, localization and mode confinement of guided and leaky modes. Techniques covered include Green's functions, density of states, numerical eigensolvers, finite-difference and boundary-element methods, coupled-mode theory, scattering formalism, and perturbation theory.
- ECE 562: Design of Very Large-Scale Integrated (VLSI) SystemsAnalysis and design of digital integrated circuits using deep sub-micron CMOS technologies as well as emerging and post-CMOS technologies (Si finFETs, III-V, carbon). Emphasis on design, including synthesis, simulation, layout and post-layout verification. Analysis of energy, power, performance, area of logic-gates, interconnect and signaling structures.
- ECE 568/QSE 503: Implementations of Quantum InformationThis course provides an overview of experimental approaches to quantum information processing and quantum computing. We discuss the basic principles of quantum computing to understand the physical requirements, and then survey current research on implementing quantum information processing in various physical systems, in part by reading recent experimental literature. Specific topics covered include gate-based and adiabatic quantum computing, topologically protected quantum architectures, as well as several physical qubit systems: trapped ions/atoms, superconducting circuits, and electron and nuclear spins in solids.
- ECE 574: Security and Privacy in Computing and CommunicationsAs our society transitions towards an information-driven paradigm, concerns about security and privacy of computing and communication have come to a forefront. This course exposes students to foundational principles and mechanisms that enable security and privacy in computing and communications. In addition, we study the interdisciplinary dimension of security and privacy by exploring its intersections with machine learning and computer networks.
- ECE 580: Advanced Topics in Computer Engineering: Domain-specific computer systems architectureThe course explores computing's evolving landscape, highlighting the interplay among hardware accelerators, software, and domain-specific needs. It covers key trends like Moore's Law, Amdahl's law and energy efficiency challenges. It dives into the vast platform landscape - CPUs, GPUs, CGRAs, FPGAs, ASICs (TPUs), distributed systems, and their roles in accelerating applications in AI, genomics, etc. Through case-study led lectures, and capstone projects, students gain the skills to design, analyze, and implement efficient algorithms and systems tailored to specific domains with an understanding of performance and benchmarking.
- ECE 582: Wireless and High Speed Integrated Circuits and SystemsThis course aims to cover the fundamentals of the wireless and high-speed integrated circuits for future wireless technology. We cover analysis and design of high-speed and wireless ICs that enables modern wireless communication across device-circuits-system level abstractions. The understanding of these fundamental concepts prepares students for a wide range of advanced topics from circuits and systems for communication to emerging areas of sensing and biomedical electronics.
- ECE 597: Electrical Engineering Graduate Project CourseGraduate Project Course. Under the direction of a faculty member the student carries out a graduate-level project and presents their results.
- EGR 491/ECE 491/ENT 491: High-Tech EntrepreneurshipThis hands-on course introduces students to analysis and actions required to launch and commercialize a tech company, through the use of Harvard Business School cases, visits from entrepreneurs, and two "field assignments". You will learn conceptual frameworks and analytical techniques for evaluating technologies, markets, and commercialization strategies. Additionally, you will learn how to attract and motivate the resources needed to start a company (e.g. people, corporate partners and venture capital), prepare business plans, structure relationships, refine product-market fit, and create and grow enterprise value.
- MAE 345/COS 346/ECE 345/ROB 345: Introduction to RoboticsRobotics is a rapidly-growing field with applications including unmanned aerial vehicles, autonomous cars, and robotic manipulators. This course will provide an introduction to the basic theoretical and algorithmic principles behind robotic systems. The course will also allow students to get hands-on experience through project-based assignments on quadrotors. In the final project, students will implement a vision-based obstacle avoidance controller for a quadrotor. Topics include motion planning, control, localization, mapping, and vision.