Fall 2022

Computer and Electronic Music through Programming, Performance, and Composition
An introduction to the fundamentals of computer and electronic music. The music and sound programming language ChucK, developed here at Princeton, will be used in conjunction with Max/MSP, another digital audio language, to study procedural programming, digital signal processing and synthesis, networking, and human-computer interfacing.
Instructors: Jeffrey Snyder
Computer Architecture and Organization
An introduction to computer architecture and organization. Instruction set design; basic processor implementation techniques; performance measurement; caches and virtual memory; pipelined processor design; design trade-offs among cost, performance, and complexity.
Instructors: David August
Computer Graphics
This course will study topics in computer graphics, covering methods in image processing, 3D modeling, rendering, and animation. The course is mainly project based and encourages hands-on programming experience.
Instructors: Szymon Rusinkiewicz
Computer Science: An Interdisciplinary Approach
Weekly: two recorded video lectures, one class meeting, two preceptorials. An introduction to computer science in the context of scientific, engineering, and commercial applications. The goal of the course is to teach basic principles and practical issues, while at the same time preparing students to use computers effectively for applications in computer science, physics, biology, chemistry, engineering, and other disciplines. Topics include: hardware and software systems; programming in Java; algorithms and data structures; fundamental principles of computation; and scientific computing, including simulation, optimization, and data analysis.
Instructors: Ruth Fong, Alan Kaplan, Kevin Wayne
Computers in Our World
Computers are all around us. How does this affect the world we live in? This course is a broad introduction to computing technology for humanities and social sciences students. Topics will be drawn from current issues and events, and will include discussion of how computers work; what programming is and why it is hard; how the Internet and the Web work; security and privacy.
Instructors: Brian Kernighan
Computing and Optimization for the Physical and Social Sciences
An introduction to several fundamental and practically-relevant areas of modern optimization and numerical computing. Topics include computational linear algebra, first and second order descent methods, convex sets and functions, basics of linear and semidefinite programming, optimization for statistical regression and classification, and techniques for dealing with uncertainty and intractability in optimization problems. Extensive hands-on experience with high-level optimization software. Applications drawn from operations research, statistics and machine learning, economics, control theory, and engineering.
Instructors: Amir Ali Ahmadi
Conspiracy in America
How do we analyze conspiracy narratives and conspiratorial thinking at a moment when the government spies on its citizens and profitable technology companies have turned surveillance itself into an economic necessity? Under what historical, political, and economic conditions do conspiracies proliferate? In this course we analyze conspiracies, paranoia, rumors, and the contemporary economies of dis/information and post-facts. Course material will be drawn from American history, from the 19th century to the present, and will include manifestos, films, novels, online fora, and theoretical texts in psychoanalysis, narrative theory and politics.
Instructors: Zahid Chaudhary
Contemporary Logic Design
Introduction to the basic concepts in logic design that form the basis of computation and communication circuits. Logic gates and memeory elements. Timing methodologies. Finite state systems. Programmable logic. Basic computer organization.
Instructors: Sharad Malik, Hossein Valavi
Creative Ecologies: American Environmental Narrative and Art, 1980-2020
This seminar explores how writers and artists--alongside scientists and activists--have shaped American environmental thought from 1980 to today. The seminar asks: How do different media convey the causes and potential solutions to environmental challenges, ranging from biodiversity loss and food insecurity to pollution and climate change? What new art forms are needed to envision sustainable and just futures? Course materials include popular science writing, graphic narrative, speculative fiction, animation art, documentary film, and data visualization along with research from anthropology, ecology, history, literary studies, and philosophy.
Instructors: Allison Carruth
Design of Very Large-Scale Integrated (VLSI) Systems
Analysis 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.
Instructors: Hossein Valavi