Global Arc

1
Search International Offerings

You can now simultaneously browse international opportunities and on-campus courses; the goal is to plan coursework — before and/or after your trip — that will deepen your experiences abroad.

2
Add Your Favorites

Log in and add international activities and relevant courses to your Global Arc.

3
Get Advice

Download your Arc and share with your academic adviser, who can help you refine your choices.

4
Enroll, Apply and Commit

Register for on-campus classes through TigerHub, and apply for international experiences using Princeton’s Global Programs System.

5
Revisit and Continue Building

Return to the Global Arc throughout your Princeton career as you delve deeper into your interests. 

Refine search results

Subject

Displaying 3631 - 3640 of 4003
Close icon
Computer Science
Algorithms for Computational Biology
This course introduces algorithms for analyzing DNA, RNA, and protein, the three fundamental molecules in the cell. Students will learn algorithms on strings, trees, and graphs and their applications in: sequence comparison and alignment; molecular evolution and comparative genomics; DNA sequencing and assembly; recognition of genes and regulatory elements; and RNA structure and protein interaction networks. Students will also implement algorithms and apply them to biological data.
Close icon
Computer Science
The Efficient Universe
Computer science--and its core notion of efficient computations--provides a new way of looking at the world by bringing a quantitative perpective to fundamental notions such as randomness, proofs, games, and learning. The radical insight of efficient computations is the assumption of "bounded computational power"--that all observers (human, machine, or nature itself) in these scenarios should be considered computationally limited. This marriage of computational complexity with science and mathematics has led to startling ideas such as: zero-knowledge proofs, cryptography, pseudo-randomness, learning (theoretical AI), and quantum computing.
Close icon
Computer Science
Quantum Physics, Qubits, and Nanoscience
An elementary introduction to quantum mechanics, especially aimed at students interested in interdisciplinary areas like nanoscience and quantum computing. Using "qubits" (basic building blocks of quantum computation, information, and cryptography), we give simple treatments of standard QM topics such as superposition, tensor products, Bell's inequalities and Heisenberg uncertainty principle, as well as "advanced" topics like multi-particle systems and spin. We also discuss the computational power of quantum computers and cryptosystems as well as their possible lab implementations.
Close icon
Computer Science
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. Two 90-minute classes, one self-scheduled hardware laboratory. Prerequisites: COS 217.
Close icon
Computer Science
Junior Independent Work (B.S.E. candidates only)
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. B.S.E. candidates only.
Close icon
Computer Science
Junior Independent Work (B.S.E. candidates only)
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. B.S.E. candidates only.
Close icon
Computer Science
Distributed Systems
This course covers the design and implementation of distributed systems. Students will gain an understanding of the principles and techniques behind the design of modern, reliable, and high-performance distributed systems. Topics include server design, network programming, naming, concurrency and locking, consistency models and techniques, security, and fault tolerance. Modern techniques and systems employed at some of the largest Internet sites (e.g., Google, Facebook, Amazon) will also be covered. Through programming assignments, students will gain practical experience designing, implementing, and debugging real distributed systems.
Close icon
Computer Science
Theory of Algorithms
Design and analysis of efficient data structures and algorithms. General techniques for building and analyzing algorithms. Introduction to NP-completeness. Two 90-minute lectures. Prerequisites: 226 and 240 or instructor's permission.
Close icon
Computer Science
Fundamentals of Machine Learning
Computers have made it possible to collect vast amounts of data from a wide variety of sources. It is not always clear, however, how to use the data, and how to extract useful information from them. This problem is faced in a tremendous range of social, economic and scientific applications. The focus will be 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. Two 90-minute lectures. Prereq: MAT 202 and COS 126 or equivalent.
Close icon
Computer Science
Computer Graphics
The principles underlying the generation and display of graphical pictures by computer. Hardware and software systems for graphics. Topics include: hidden surface and hidden line elimination, line drawing, shading, half-toning, user interfaces for graphical input, and graphic system organization. Two 90-minute lectures. Prerequisites: 217 and 226.