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 11 - 20 of 47
Close icon
Computer Science
Compiling Techniques
The principal algorithms and concepts associated with translator systems. Topics include lexical analysis, syntactic analysis, parsing techniques, symbol table management, code generation and optimization, run time system design, implementation issues related to programming language design. Course will include a large-scale programming project utilizing the above topics. Three lectures. Prerequisites: 217 and 226 or instructor's permission.
Close icon
Computer Science
Information Technology and Public Policy
This course surveys recurring, high-profile issues in technology policy and law. Each session will explore a challenging topic, including consumer privacy, data security, electronic surveillance, net neutrality, online speech, algorithmic fairness, cryptocurrencies, election security, and offensive operations. The seminar will also cover foundational technical concepts that affect policy and law, including internet architecture, cryptography, systems security, privacy science, and artificial intelligence. Materials and discussion will draw extensively from current events and primary sources.
Close icon
Computer Science
Ethics of Computing
The course aims to help students think critically about the ethical and social aspects of computing technology. Topics include ethical foundations; political economy of the tech industry; algorithmic fairness; AI and labor; AI safety; AI and climate; social media and platform power; information security; privacy; values in design; research ethics; professional ethics; technology and social good; digital colonialism; law & policy. Activities will include readings, technical work, and case studies of contemporary debates.
Close icon
Computer Science
Introduction to Machine Learning
This course is a broad introduction to different machine learning paradigms and algorithms and provides a foundation for further study or independent work in machine learning and data science. Topics include linear models for classification and regression, support vector machines, clustering, dimensionality reduction, deep neural networks, Markov decision processes, planning, and reinforcement learning. The goals of this course are three-fold: to understand the landscape of machine learning, how to compute the math behind techniques, and how to use Python and relevant libraries to implement and use various methods.
Close icon
Computer Science
Functional Programming
An introduction to the principles of typed functional programming. Programming recursive functions over structured data types and informal reasoning by induction about the correctness of those functions. Functional algorithms and data structures. Principles of modular programming, type abstraction, representation invariants and representation independence. Parallel functional programming, algorithms and applications.
Close icon
Computer Science
Advanced Programming Techniques
The practice of programming. Emphasis is on the development of real programs, writing code but also assessing tradeoffs, choosing among design alternatives, debugging and testing, and improving performance. Issues include compatibility, robustness, and reliability, while meeting specifications. Students will have the opportunity to develop skills in these areas by working on their own code and in group projects. Two 90-minute lectures. Prerequisites: 217 and 226 (as corequisite).
Close icon
Computer Science
Advanced Programming Techniques (Non-credit)
COS 333I offers AB COS concentrators an option for completing one semester of independent work. As such, it does not carry course credit but it does follow the structure and format of the course COS 333. By taking this course not-for-credit, students in COS 333I will have the opportunity to develop their programming skills by working on their own code and in group projects to satisfy the JIW requirement for the semester in which they are enrolled. The cumulative grade for this work will be reflected on students' transcripts as COS 981.
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.