Quick links

Course Catalog

This catalog is a list of courses that the department may offer in a given year. Not all courses in the catalog are offered every year.

If you are looking for current course information:
-View the Registrar's course offerings page for courses offered this semester.
-Students and faculty can refer to the Undergraduate Announcement for the academic year undergraduate course information.

Undergraduate courses are in the 100 - 400 listing. Graduate courses are in the 400 - 500 listing.

COS352 - Artificial Intelligence and Public Policy

See WWS352 Princeton School of Public and International Affairs.
Classes: One 3 hour course

COS375 - Computer Architecture and Organization (Spring)

An introduction to computer architecture and organization. Instruction set design; basic processor implementation techniques; performance management; caches and virtual memory; pipelined processor design; design trade-offs among cost, performance, and complexity.

Cross-listed as ELE375 Department of Electrical and Computer Engineering.

Classes: Two 90-minute classes, one self-scheduled hardware laboratory.
Prerequisite(s): COS 217

COS381 - Networks: Friends, Money and Bytes (Spring)

COS396 - Introduction to Quantum Computing (Fall)

COS397 - Junior Independent Work (B.S.E. candidates only) (Fall)

Offered in the fall, juniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student.

Prerequisite(s): B.S.E. candidates only.

COS398 - Junior Independent Work (B.S.E. candidates only) (Spring)

Offered in the spring, juniors are provided with an opportunity to concentrate on a "state-of-the-art" project in computer science. Topics may be selected from suggestions by faculty members or proposed by the student.

Prerequisite(s): B.S.E. candidates only.

COS401 - Introduction To Machine Translation (Spring)

COS402 - Machine Learning and Artificial Intelligence

This course will provide a basic introduction to the core principles, algorithms and techniques of modern artificial intelligence and machine learning research and practice. Main topics will include: 1. Problem solving using search, with applications to game playing 2. Probabilistic reasoning in the presence of uncertainty 3. Hidden Markov models and speech recognition 4. Markov decision processes and reinforcement learning 5. Machine learning using decision trees, neural nets and more. 6. Basic principles of mathematical optimization for learning.

Classes: Two 90-minute lectures.
Prerequisite(s): 226.and 340

COS423 - Theory of Algorithms (Spring)

Design and analysis of efficient data structures and algorithms. General techniques for building and analyzing algorithms. Introduction to NP-completeness.

Classes: Two 90-minute lectures and one precept.
Prerequisite(s): COS 226 and 340, or permission of instructor.

COS424 - Fundamentals of Machine Learning (Spring)

Computers have made it possible, even easy, to collect vast amounts of data from a wide variety of sources. It is not always clear, however, how to use those data, and how to extract useful information from them. This problem is faced in a tremendous range of business and scientific applications. This course will focus on some of the most useful approaches to the problem of analyzing large complex data sets, exploring both theoretical foundations and practical applications. Students will gain experience analyzing several types of data, including text, images, and biological data.

Cross-listed as SML 302 Center for Statistics and Machine Learning.

Classes: Two 90-minute lectures.
Prerequisite(s): MAT 202 and COS 126 or equivalent or permission of instructor.

COS425 - Database and Information Management Systems

Theoretical and practical aspects of database systems and systems for accessing and managing semi-structured information (e.g., Web information repositories). Topics include: relational and XML models, storage and indexing structures, query expression and evaluation, concurrency and transaction management, search effectiveness.

Classes: Two 90-minute lectures.
Prerequisite(s): 217 and 226.

COS426 - Computer Graphics (Spring)

Introduction to computer graphics. Topics include image synthesis, 3D modeling, image processing and animation. Encourage hands-on experience.

Classes: Two 90-minute lectures.
Prerequisite(s): COS 217 and COS 226. MAT 202 or equivalent recommended.

COS429 - Computer Vision

An introduction to the concepts of 2D and 3D computer vision. Topics include low-level image processing methods such as filtering and edge detection; segmentation and clustering; optical flow and tracking; shape reconstruction from stereo, motion, texture, and shading. Throughout the course, there will also be examination of aspects of human vision and perception that guide and inspire computer vision techniques.

Classes: Two 90-minute lectures.
Prerequisite(s): 217 and 226.

COS432 - Information Security (Fall, Spring)

Security issues in computing, communications, and electronic commerce. Goals and vulnerabilities; legal and ethical issues; basic cryptology; private and authenticated communication; electronic commerce; software security; viruses and other malicious code; operating system protection; trusted systems design; network security; firewalls; policy, administration and procedures; auditing; physical security; disaster recovery; reliability; content protection; privacy.

Classes: Two 90-minute lectures.
Prerequisite(s): COS 217 and COS 226.

COS433 - Cryptography (Spring)

An introduction to modern cryptography with an emphasis on fundamental ideas. The course will survey both the basic information and complexity-theoretic concepts as well as their (often surprising and counter-intuitive) applications. Among the topics covered will be private key and public key encryption schemes, digital signatures, pseudorandom generators and functions, chosen ciphertext security; and time permitting, some advanced topics such as zero knowledge proofs, secret sharing, private information retrieval, and quantum cryptography.

Cross-listed as MAT473 Department of Mathematics.

Classes: Two 90-minute lectures.
Prerequisite(s): 226 or permission of instructor.

COS435 - Information Retrieval, Discovery, and Delivery

This course examines the methods used to gather, organize and search for information in large digital collections (e.g. web search engines). We study classic techniques of indexing documents and searching text and also new algorithms that exploit properties of the Web (e.g. links) social networks and other digital collections, including multimedia collections. Techniques include those for relevance and ranking of documents, exploiting user history, and information clustering. We also examine systems aspects of search technology: how distributed computing and storage are used to make information delivery efficient.

Classes: Two 90-minute lectures.
Prerequisite(s): COS226 and MAT 202.

COS436 - Human-Computer Interface Technology (Fall)

Creating technologies that fit into people's everyday lives involves more than having technically sophisticated algorithms, systems, and infrastructure. It involves understanding how people think and behave and using this info. to design user-facing interfaces that enhance and augment human capabilities. You will be introduced to the field of human-computer interaction and the tools, techniques, and principles that guide research on people. Design and implement user-facing systems that bring joy rather than frustrate the user and put these skills into practice in a semester long group project involving the creation of an interactive system.

Cross-listed as ELE469 Department of Electrical and Computer Engineering.

Classes: Two 90-minute lectures.
Prerequisite(s): COS 217 or ELE 302.

COS441 - Programming Languages (See COS 510)

How to design and analyze programming languages and how to use them effectively. Functional programming languages, object-oriented languages; type systems, abstraction mechanisms, operational semantics, safety and security guarantees. Implementation techniques such as object representations and garbage collection will also be covered. See COS 510

Classes: Three lectures.
Prerequisite(s): COS 217 and 226.

COS445 - Economics and Computing (Spring)

Computation and other aspects of our lives are becoming increasingly intertwined. In this course we will study a variety of topics on the cusp between economics and computation. Topics to be covered include: games on networks, auctions, mechanism and market design, reputation, computational social choice. The aim of the course is two-fold: (1) to understand the game-theoretic issues behind systems involving computation such as online networks, and (2) to learn how algorithms and algorithmic thinking can help with designing better decision and allocation mechanisms in the offline world.

Classes: Two 90-minute lectures and one 50 minute precept
Prerequisite(s): COS226, MAT 175 or MAT 202 or 204 or 217, or instructor's permission.

COS448 - Innovating Across Technology, Business, and Marketplaces (Spring)

This course introduces computer science and technology-oriented students to issues tackled by Chief Technology Officers: the technical visionaries and managers innovating at the boundaries of technology and business. These individuals are partners to the organization¿s business leaders, not merely implementers of business goals. The course covers companies from ideation and early-stage startup, to growth-stage startup, to mature company, covering the most relevant topics at each stage, including ideation, financing, product-market fit, go-to-market approaches, strategy, execution, and management. Exciting industry leaders guest lecture.

Cross-listed as EGR448.

Prerequisite(s): COS 217 or COS 226 or equivalent
Follow us: Facebook Twitter Linkedin