CINXE.COM
Computer Science | Undergraduate Announcement
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <meta charset="utf-8" /> <link rel="canonical" href="https://ua.princeton.edu/fields-study/departmental-majors-degree-bachelor-arts/computer-science" /> <meta property="og:site_name" content="Undergraduate Announcement" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://ua.princeton.edu/fields-study/departmental-majors-degree-bachelor-arts/computer-science" /> <meta property="og:title" content="Computer Science" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="icon" href="/sites/g/files/toruqf6786/themes/site/favicon.ico" type="image/vnd.microsoft.icon" /> <title>Computer Science | Undergraduate Announcement</title> <link rel="stylesheet" media="all" href="/modules/contrib/linkpurpose/library/css/linkpurpose.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/align.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/fieldgroup.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/container-inline.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/clearfix.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/details.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/hidden.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/item-list.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/js.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/nowrap.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/position-container.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/reset-appearance.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/resize.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-counter.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-counters.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-general-info.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/tablesort.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/components/progress.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/components/ajax-progress.module.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/libraries/custom/select2/dist/css/select2.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/libraries/custom/select2/dist/css/select2-off-canvas.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/select2_simple/css/select2_simple.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/ps_core/css/global.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/ps_core/layouts/threecol_33_34_33/threecol_33_34_33.css?sm81ex" /> <link rel="stylesheet" media="all" href="/modules/contrib/paragraphs/css/paragraphs.unpublished.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/assets/vendor/normalize-css/normalize.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/normalize-fixes.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/action-links.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/breadcrumb.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/button.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/collapse-processed.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/container-inline.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/details.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/exposed-filters.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/field.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/form.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/icons.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/inline-form.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/item-list.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/link.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/links.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/menu.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/more-link.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/pager.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tabledrag.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tableselect.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tablesort.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tabs.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/textarea.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/ui-dialog.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/messages.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/progress.css?sm81ex" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/node.css?sm81ex" /> <link rel="stylesheet" media="all" href="//use.typekit.net/xxx7asp.css" /> <link rel="stylesheet" media="all" href="//use.typekit.net/bok5fgz.css" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_base/bootstrap/css/bootstrap.min.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_base/css/styles.css?sm81ex" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_tiger/css/styles.css?sm81ex" /> <link rel="stylesheet" media="all" href="/sites/g/files/toruqf6786/themes/site/css/styles.css?sm81ex" /> <link rel="stylesheet" media="all" href="/sites/g/files/toruqf6786/files/asset_injector/css/hero_text-32a43ccb88c3ce15f31502153495dd15.css?sm81ex" /> <link rel="stylesheet" media="all" href="/sites/g/files/toruqf6786/files/asset_injector/css/quick_fos_bug_fix-ea5dacca5f84cd11950ce862ee78727d.css?sm81ex" /> <link rel="stylesheet" media="all" href="/sites/g/files/toruqf6786/files/asset_injector/css/theme_updates_temp-37a16acec3bd72813bb12b74948a2692.css?sm81ex" /> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/51","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"gtag":{"tagId":"UA-81724964-1","consentMode":false,"otherIds":["G-385041046","G-1GCMYCJGED"],"events":[],"additionalConfigInfo":{"cookie_domain":"none"}},"ajaxPageState":{"libraries":"eJxtUluS4yAMvJATV032PioZZCARiEUwlezpV857Hh-m6JYsdQuhKnVI5UiuS5ud6j5SE-h07hP-DP4dyZ1gFYVlBFjT-bekHikTjOqxk1qpXCfHlneZF1R63DOpYiB94CLeYtJo9m1U5P0qLd-IYjfk9I-mIBKYoGOYgx3f8R6PeJ44lVMdrYrSnErqU8WGoWGN-qj9Yvaj1LFw0kh-qubLJJpOc9ltDFJfnMhpl8UPpieXqYwdlYjFUdtYdyKfbA7gkFlGn78T16TNkxNmrErXUYMSNhft3rJCo09Cvhe8545c9InvHb09hBsv-opwsXlE1Li9zluNwLIgP-Fx5ArboGDz8KSvzEIRP5O8_mUJJv2WPpRawUzP4BfpMYXI9vW3zj02IrMAhwMc_ti5RXoK1Exx6bY-Hz-Yw6TEtlEfoClX3rq8w0kvant126eB85qIvYKsoH34C3jqmHiL3GzvtF9MffgPaIsleA","theme":"ua","theme_token":null},"ajaxTrustedUrl":[],"linkpurpose":{"domain":"https:\/\/ua.princeton.edu","ignore":"#toolbar-administration a, .princeton-branding a, .copyright a, .block-ps-social a","noIconOnImages":true,"purposeDocument":true,"purposeDocumentMessage":"Link downloads document","purposeDownload":true,"purposeDownloadMessage":"Link downloads file","purposeApp":true,"purposeAppMessage":"Link opens app","purposeExternal":true,"purposeExternalMessage":"Link is external","purposeMail":true,"purposeMailMessage":"Link sends email","purposeTel":true,"purposeTelMessage":"Link opens phone app","purposeNewWindow":true,"purposeNewWindowMessage":"Link opens in new window","css_url":"\/modules\/contrib\/linkpurpose"},"all_documents_new_window":false,"select2_simple":{"selector":".node-form select:not(.disable-select2,[name$=\u0027[actions][bundle]\u0027],.ui-timepicker-select,[name*=\u0027field_ps_timeline_feature_items\u0027]),.select2-form select[multiple],form.layout-builder-configure-block select[multiple]"},"user":{"uid":0,"permissionsHash":"41e8bcbc3ad263ad533c14be8794719407aaeafe77402a3015313ef2b02f6068"}}</script> <script src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script> <script src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script> <script src="/core/misc/drupalSettingsLoader.js?v=10.3.6"></script> <script src="/core/misc/drupal.js?v=10.3.6"></script> <script src="/core/misc/drupal.init.js?v=10.3.6"></script> <script src="/core/assets/vendor/tabbable/index.umd.min.js?v=6.2.0"></script> <script src="/modules/contrib/google_tag/js/gtag.js?sm81ex"></script> <script src="/core/misc/progress.js?v=10.3.6"></script> <script src="/core/assets/vendor/loadjs/loadjs.min.js?v=4.3.0"></script> <script src="/core/misc/debounce.js?v=10.3.6"></script> <script src="/core/misc/announce.js?v=10.3.6"></script> <script src="/core/misc/message.js?v=10.3.6"></script> <script src="/profiles/ps/themes/ps_base/js/message.theme.js?sm81ex"></script> <script src="/core/misc/ajax.js?v=10.3.6"></script> <script src="/themes/contrib/stable/js/ajax.js?v=10.3.6"></script> <script src="/modules/contrib/google_tag/js/gtag.ajax.js?sm81ex"></script> </head> <body class="not-front section-fields-study page-node-51 content-type-ua-field-of-study flavor1 fontset2 menu4 layout-block-padding-none layout-above-section-spacing-small layout-below-section-spacing-small"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div class="page page-container"> <header role="banner" class="header region region-header" id="header"> <h1 class="sr-only sr-site-name">Undergraduate Announcement 2024 - 2025</h1> <div class="skip-links"> <a href="#main-content" class="sr-only sr-only-focusable"><span class="hide-on-focus">Off screen link: </span>Skip to content</a> <a href="#edit-search-keys" class="sr-only sr-only-focusable"><span class="hide-on-focus">Off screen link: </span>Skip to search</a> </div> <div class="header-container container"> <div class="princeton-branding"> <div class="container"> <a href="http://www.princeton.edu" class="pu-logo" title="Princeton University"> <img src="/profiles/ps/themes/ps_base/images/pu-logo.svg" alt="Princeton University"/> </a> </div> </div> <div class="site-branding"> <div class="container"> <div class="row"> <div class="site-info with-slogan with-slogan-suffix"> <div class="site-name"> <a href="/" title="Home" rel="home">Undergraduate Announcement</a> </div> <div class="site-slogan"> 2024 - 2025 </div> </div> </div> </div> </div> <nav aria-label="site" class="main-menu"> <h2 class="sr-only">Main Menu</h2> <div class="container navbar-expand-lg"> <button class="toggle-mobile-menu unbutton" type="button" data-toggle="collapse" data-target="#menu-container" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle navigation"> <span class="toggle-mobile-menu-icon"> <span class="toggle-mobile-menu-title">Menu</span> <i class="fa fa-bars" aria-hidden="true"></i> </span> </button> <div id="menu-container" class="collapse navbar-collapse"> <ul class="fixed-col-4 menu4-fixed nav navbar-nav main" role="list"> <li class="nav-item expanded"> <a href="/policies-resources" data-drupal-link-system-path="node/33">Policies & Resources</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <div class="mega-menu-container collapse submenu"> <div class="mega-menu-heading">Policies & Resources</div> <ul class="mega-menu-fixed-submenu" role="list"> <li class="submenu-item"> <a href="/policies-resources/academic-calendar" data-drupal-link-system-path="node/23">Academic Calendar</a> </li> <li class="submenu-item"> <a href="/policies-resources/university-administrators" data-drupal-link-system-path="node/24">University Administrators</a> </li> <li class="submenu-item"> <a href="/policies-resources/admission-financial-aid-fees" data-drupal-link-system-path="node/13">Admission, Financial Aid, Fees</a> </li> <li class="submenu-item"> <a href="/policies-resources/undergraduate-honor-system" data-drupal-link-system-path="node/16">The Undergraduate Honor System</a> </li> <li class="submenu-item expanded"> <a href="/policies-resources/undergraduate-program" data-drupal-link-system-path="node/12">The Undergraduate Program</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse" role="list"> <li class="submenu-item"> <a href="/policies-resources/undergraduate-program/program-study-degree-bachelor-arts" data-drupal-link-system-path="node/14">Program of Study for the Degree of Bachelor of Arts</a> </li> <li class="submenu-item"> <a href="/policies-resources/undergraduate-program/program-study-degree-bachelor-science-engineering" data-drupal-link-system-path="node/15">Program of Study for the Degree of Bachelor of Science in Engineering</a> </li> </ul> </li> <li class="submenu-item"> <a href="/policies-resources/general-education-requirements" data-drupal-link-system-path="node/25">General Education Requirements</a> </li> <li class="submenu-item expanded"> <a href="/policies-resources/academic-regulations" data-drupal-link-system-path="node/18">Academic Regulations</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse" role="list"> <li class="submenu-item"> <a href="/policies-resources/academic-regulations/academic-year" data-drupal-link-system-path="node/26">The Academic Year</a> </li> <li class="submenu-item"> <a href="/policies-resources/academic-regulations/reading-period-deans-date-and-end-term-work" data-drupal-link-system-path="node/27">Reading Period, Dean's Date, and End-of-Term Work</a> </li> <li class="submenu-item"> <a href="/policies-resources/academic-regulations/grading" data-drupal-link-system-path="node/28">Grading</a> </li> <li class="submenu-item"> <a href="/policies-resources/academic-regulations/graduation-and-honors" data-drupal-link-system-path="node/29">Graduation and Honors</a> </li> <li class="submenu-item"> <a href="/policies-resources/academic-regulations/academic-standing-leaves-absence-and-reinstatement" data-drupal-link-system-path="node/19">Academic Standing, Leaves of Absence, and Reinstatement</a> </li> </ul> </li> <li class="submenu-item"> <a href="/policies-resources/special-features-undergraduate-program" data-drupal-link-system-path="node/20">Special Features of the Undergraduate Program</a> </li> <li class="submenu-item"> <a href="/policies-resources/academic-advising-and-academic-resources" data-drupal-link-system-path="node/17">Academic Advising and Academic Resources</a> </li> <li class="submenu-item"> <a href="/policies-resources/other-resources" data-drupal-link-system-path="node/21">Other Resources</a> </li> </ul> </li> <li class="nav-item expanded active"> <a href="/fields-study" data-drupal-link-system-path="node/156">Fields of Study</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <div class="mega-menu-container collapse submenu"> <div class="mega-menu-heading">Fields of Study</div> <ul class="mega-menu-fixed-submenu" role="list"> <li class="submenu-item"> <a href="/academic-unit-category/departmental-majors-degree-bachelor-arts">Degree of Bachelor of Arts</a> </li> <li class="submenu-item"> <a href="/academic-unit-category/departmental-majors-degree-bachelor-science-engineering">Degree of Bachelor of Science in Engineering</a> </li> <li class="submenu-item"> <a href="/academic-unit-category/minors">Minors</a> </li> <li class="submenu-item"> <a href="/academic-unit-category/certificate-programs">Certificate Programs</a> </li> </ul> </li> <li class="nav-item"> <a href="/academic-unit-category/councils-centers-and-institutes">Councils, Centers & Institutes</a> </li> <li class="nav-item expanded"> <a href="/academic-unit-category/committees-and-other-programs">Other Programs</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <div class="mega-menu-container collapse submenu"> <div class="mega-menu-heading">Other Programs</div> <ul class="mega-menu-fixed-submenu" role="list"> <li class="submenu-item"> <a href="/fields-study/other-programs/princeton-writing-program" data-drupal-link-system-path="node/126">Princeton Writing Program</a> </li> <li class="submenu-item"> <a href="/fields-study/other-programs/program-freshman-seminars" data-drupal-link-system-path="node/79">Program of Freshman Seminars</a> </li> </ul> </li> </ul> </div> </div> </nav> <div class="search-bar" id="search-bar"> <div class="container navbar-expand-lg" role="search"> <h2 class="sr-only">Search</h2> <button class="toggle-searchbar unbutton" type="button" data-toggle="collapse" data-target="#search-bar-container" aria-controls="search-bar-container" aria-expanded="false" aria-label="Toggle search"> <span class="toggle-search-icon"> <i class="fa-solid fa-search" aria-hidden="true"></i> </span> </button> <div id="search-bar-container" class="collapse navbar-collapse"> <div class="search-block-form contextual-region block block-search container-inline" id="block-searchform"> <form action="/search" method="get" id="search-block-form" accept-charset="UTF-8"> <div id="search-toggled" class="form-group js-form-item form-item js-form-type-search form-type-search js-form-item-keys form-item-keys form-no-label"> <label for="edit-search-keys" class="visually-hidden">Search</label> <input placeholder="Search" type="search" id="edit-search-keys" name="keys" value="" size="15" maxlength="128" class="form-search form-control"> </div> <div data-drupal-selector="edit-search-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-search-actions"><input type="submit" id="edit-search-submit" value="Submit" class="button js-form-submit form-submit btn btn-primary"> </div> </form> </div> </div> </div> </div> </div> </header> <div class="breadcrumb region region-breadcrumb" id="breadcrumb"> <div class="container"> <nav role="navigation" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="/">Home</a> </li> <li class="breadcrumb-item"> <a href="/fields-study">Fields of Study</a> </li> <li class="breadcrumb-item"> <a href="/fields-study/departmental-majors-degree-bachelor-arts">Departmental Majors for the Degree of Bachelor of Arts</a> </li> </ol> </nav> </div> </div> <div class="highlighted" id="highlighted"> <div class="container"> <div class="region region-highlighted"> <div data-drupal-messages-fallback class="hidden"></div> </div> </div> </div> <div id="main" class="main-container"> <div class="container"> <div class="row"> <main class="main main-content col-md-12"> <a id="main-content" class="sr-only skip-link"></a> <div class="region region-content"> <div id="block-ua-page-title" data-block-plugin-id="page_title_block" class="with-block-description block block-core block-page-title-block"> </div> <div id="block-ua-content" data-block-plugin-id="system_main_block" class="with-block-description block block-system block-system-main-block"> <article class="node node--type-ua-field-of-study node--view-mode-full"> <div class="fos-detail-title"> <h1><span class="field field--name-title field--type-string field--label-hidden">Computer Science</span> </h1> </div> <nav aria-label="On this page" class="jump-link-menu-horizontal jump-link-menu"> <div class="container"> <h2 class="jump-link-title"> Jump To: </h2> <div class="jump-link-menu__wrapper"> <div class="jump-link-menu__dropdown"> <button aria-expanded="false" type="button" class="jump-link-menu__open-dropdown">Jump To:</button> <ul class="jump-link-menu__dropdown-nav"></ul> </div> <div class="jump-link-menu__nav-wrapper"> <div class="jump-link-menu__nav-left"> <button type="button" aria-label="Scroll left"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="sc-gsDKAQ gxFfgh"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.2071 7.29289C14.5976 7.68342 14.5976 8.31658 14.2071 8.70711L10.9142 12L14.2071 15.2929C14.5976 15.6834 14.5976 16.3166 14.2071 16.7071C13.8166 17.0976 13.1834 17.0976 12.7929 16.7071L8.79289 12.7071C8.60536 12.5196 8.5 12.2652 8.5 12C8.5 11.7348 8.60536 11.4804 8.79289 11.2929L12.7929 7.29289C13.1834 6.90237 13.8166 6.90237 14.2071 7.29289Z" fill="currentColor"></path></svg> </button> </div> <ul class="nav"></ul> <div class="jump-link-menu__nav-right"> <button type="button" aria-label="Scroll right"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="sc-gsDKAQ gxFfgh"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.79289 16.7071C9.40237 16.3166 9.40237 15.6834 9.79289 15.2929L13.0858 12L9.79289 8.70711C9.40237 8.31658 9.40237 7.68342 9.79289 7.29289C10.1834 6.90237 10.8166 6.90237 11.2071 7.29289L15.2071 11.2929C15.3946 11.4804 15.5 11.7348 15.5 12C15.5 12.2652 15.3946 12.5196 15.2071 12.7071L11.2071 16.7071C10.8166 17.0976 10.1834 17.0976 9.79289 16.7071Z" fill="currentColor"></path></svg> </button> </div> </div> </div> </div> </nav> <div class="node__content"> <!--<div class="fos-detail-sidebar"> <h2 class="visually-hidden">General Information</h2> <div class="divider"></div> <h3>Program Offerings:</h3> <ul> <li> A.B. </li> <li> Minor </li> </ul> <div class="divider"></div> </div> --> <div class="fos-detail-main"> <div class="fos-detail-main-program-offerings fos-detail-main-section"> <h2 class="fos-detail-program-offerings-label">Program Offerings</h2> <ul class="fos-detail-prog-offerings-tabs"> <li> <a href="#prog-offering-1" class="tabby-first">A.B.</a> </li> <li> <a href="#prog-offering-2" >Minor</a> </li> </ul> <div class="fos-detail-prof-offerings-content"> <div id="prog-offering-1"> <div class="paragraph paragraph--type--ua-degree-and-reqs paragraph--view-mode--default"> <div class="field--type-entity-reference-taxonomy-term field field--name-field-ua-dar-degree field--type-entity-reference field--label-above"> <div class="field__label">Offering type</div> <div class="tid-1 field__item">A.B.</div> </div> <div class="clearfix text-formatted field field--name-field-ua-dar-prog-desc field--type-text-long field--label-hidden field__item"><p><span>With computation and computer science now permeating all corners of society and the economy, a computer science education has become a good launching pad for almost any career. Core concepts and skills emphasized in the computer science curriculum include theoretical and quantitative analysis of computation; design/engineering principles of advanced computer systems; and foundations and methods of AI and machine learning. The curriculum provides additional flexibility to explore subdisciplines of computer science (programming languages, formal methods, software engineering, computer graphics, information security), or to branch out into exciting cross-disciplinary investigations (neuroscience and cognitive science, computational biology, information policy, robotics, data science, etc.). Most computer science majors enjoy programming. Quite a few start with zero or minimal background and can enhance their skills while progressing through the curriculum.</span></p><p><span>The plan below applies to the Class of 2025 and beyond; the requirements for the Class of 2024 and earlier are available from the </span><a href="https://www.cs.princeton.edu/ugrad/becoming-cs-major/requirements"><span>Computer Science Department website</span></a><span> and the archived version of the </span><a href="https://ua.princeton.edu/archive"><span>Undergraduate Announcement</span></a><span>.</span></p></div> <div class="field field--name-field-ua-goals field--type-text-long field--label-above"> <h3 class="field__label">Goals for Student Learning</h3> <div class="field__item"><p>The following are the key learning goals for a major in computer science:</p><ul><li>Students will be able to understand, modify, debug, refactor and analyze programs in a variety of different programming languages. </li><li>Students will be able to learn new programming languages and computational paradigms they encounter in the future.</li><li>Students will be able to read and comprehend technical literature in computer science.</li><li>Students will be able to plan and complete a one- or two-term project in an area of computer science of their choice.</li><li>Students will be able to identify, isolate and solve important technical subproblems that lead to a solution to a more significant problem.</li><li>Students will be able to present technical ideas in computer science clearly, both orally and in written form.</li><li>Students will be able to identify and assess related work in their area of study.</li><li>Students will demonstrate an ability to work independently in accomplishing all of the above goals.</li></ul></div> </div> <div class="field field--name-field-ua-prerequisites field--type-text-long field--label-above"> <h3 class="field__label">Prerequisites</h3> <div class="field__item"><p>The <a href="https://www.cs.princeton.edu/ugrad/becoming-cs-major/prerequisites">prerequisites</a> for A.B. students are any one of MAT 202/204/217 or EGR 154; COS 126 (or ECE 115); COS 217 and 226. Students should plan to take COS 126 in the first year. COS 217 and COS 226 <strong>must </strong>be completed<em> before </em>junior year. One or both of these are <a href="http://www.cs.princeton.edu/ugrad/becoming-cs-major/prerequisites">prerequisites</a> for all later computer science courses.</p></div> </div> <div class="field field--name-field-ua-admission-to-program field--type-text-long field--label-above"> <h3 class="field__label">Admission to the Program</h3> <div class="field__item"><p><em><strong>Information for First-Year Students. </strong></em>Students with a general interest in the sciences or engineering are encouraged to take <a href="http://www.cs.princeton.edu/ugrad/becoming-cs-major/prerequisites">COS 126</a> in the first year<em>.</em> This provides useful background for applications work in any science or engineering major and preserves the option of later electing a computer science major.</p></div> </div> <div class="field field--name-field-ua-program-of-study field--type-text-long field--label-above"> <h3 class="field__label">Program of Study</h3> <div class="field__item"><h6>Departmental Requirements</h6><p>Course Requirements: Majors must take at least<strong> eight departmental courses</strong> on a graded basis. These fall into three categories: foundation, core courses, and electives. </p><p><strong>Foundation</strong></p><p>Students must take COS 240 (Reasoning and Computation), to be completed before the end of junior year.</p><p><strong>Core Courses</strong></p><p><strong>Students must take a total of four courses, one from each of the four categories listed below:</strong></p><p>1. <strong>Computer Systems</strong>:<strong> </strong>COS 316 (Principles of Computer System Design) or COS 375 (Computer Architecture and Organization)</p><p>Alternatives:</p><ul><li>COS 318 (Operating Systems)</li><li>COS 418 (Distributed Systems)</li><li>COS 461 (Computer Networks)</li></ul><p>2. <strong>Artificial Intelligence and Machine Learning</strong>: COS 324 (Introduction to Machine Learning)</p><p>Alternatives:</p><ul><li>COS 424 (Fundamentals of Machine Learning)</li><li>COS 429 (Computer Vision)</li><li>COS 484 (Natural Language Processing)</li></ul><p>3. <strong>Theoretical Computer Science</strong></p><ul><li>COS 423 (Theory of Algorithms)</li><li>COS 433 (Cryptography)</li><li>COS 445 (Networks, Economics, and Computing)</li><li>COS 487 (Theory of Computation)</li></ul><p>4. <strong>Breadth</strong>: This category contains courses that either explore another subdiscipline beyond Systems/Theory/AIML or provide experience with real-world applications. Students must complete at least one. </p><ul><li>COS 326 (Functional Programming)</li><li>COS 333 (Advanced Programming Techniques)</li><li>COS 343 (Algorithms for Computational Biology)</li><li>COS 426 (Computer Graphics)</li><li>COS 432 (Information Security)</li><li>COS 436 (Human-Computer Interaction)</li><li>COS 448 (Innovating across Technology, Business, and Markets)</li></ul><p><strong>Electives </strong></p><p>Students must take three COS courses numbered at the <strong>300 or 400 level </strong>(500-level graduate courses do not count as electives). Alternatively, up to two electives may be chosen from a list of approved courses from other departments (see the <a href="https://www.cs.princeton.edu/ugrad/class-of-2025-departmental-requirements">department website</a> for an up-to-date list). </p><p>Students should consult with a computer science academic adviser on their course selections once they decide to become computer science majors. <a href="http://www.cs.princeton.edu/ugrad/advisors">Academic advisers</a> are listed on the Department of Computer Science webpage.</p><h4>Interdisciplinary Studies</h4><p>The pervasive nature of modern computing has introduced many interactions between computer science and other disciplines. Basic preparation in computer science is valuable for a broad variety of careers because of the computer's central role in society. Professionals who understand computers are far more effective in their work. In the past, a large amount of technical preparation was required before interesting applications could be considered; today's undergraduates can use computers to study important problems in other disciplines.</p><p>Some possible areas for interdisciplinary study are mathematics, music, art, economics, electrical and computer engineering, molecular biology, neurosciences and linguistics.</p><p>Many Princeton undergraduates view their four years at Princeton as an opportunity to gain an education before immersing themselves in rigorous training for careers in law, business or medicine. Computer science students are no exception. Through the choice of electives, students may create a specialized interdisciplinary program or a broad program with computer science as the core of preprofessional study. The former requires consultation with advisers in the related disciplines to determine what constitutes a reasonable cognate specialization, and the latter is constrained by the requirement of a coherent program of study in the major.</p><p> </p></div> </div> <div class="field field--name-field-ua-independent-work field--type-text-long field--label-above"> <h3 class="field__label">Independent Work</h3> <div class="field__item"><p>All A.B. majors will engage in <a href="http://www.cs.princeton.edu/ugrad/independent-work">independent work</a> supervised by a member of the department. IW projects involve the study and solution of specific problems in or related to computer science. These may arise from varied motivations, such as research questions intrinsic to the field; entrepreneurial activities; software design; policy or ethics issues in the tech world; applications of computer science to other disciplines or societal problems. Many students come up with their own IW topics; others may formulate them with help from faculty advisers.</p><p>In the fall term of junior year, majors must enroll in a <a href="https://www.cs.princeton.edu/ugrad/independent-work/ab-junior-research-workshops">Junior Research Workshop (JRW)</a>, while simultaneously enrolling in a “Methods” 3xx course offered that term. The Methods course and the JRW complement each other and enable students to write a comprehensive proposal for a spring IW project by the end of the fall term, which can be used for a spring IW project. See the <a href="https://www.cs.princeton.edu/ugrad/independent-work">department website</a> for details.</p><p>A.B. junior majors then use the spring term to complete their proposed IW project — or, in many cases, embark on a separate research endeavor for the spring term — through one of the following advising structures:</p><ol><li>One-on-One Advising. Students complete a project of their choosing while working one-on-one with a faculty adviser. Students may also work within the context of a faculty research project. Students can explore the <a href="https://www.cs.princeton.edu/ugrad/independent-work/undergraduate-research-topics">Undergraduate Research Topics</a> for faculty research interests and advisers. </li><li><a href="https://www.cs.princeton.edu/ugrad/independent-work/independent-work-seminars">Independent Work Seminars</a>. Students with shared interests around a common theme meet weekly as a group with a faculty adviser. Seminar instructors and themes vary term to term.</li></ol><p>A.B. senior majors must complete a full-year senior thesis. The senior thesis may be a study in greater depth of one of the subjects considered in junior independent work, or it may deal with another aspect of computer science and its application. Students can explore the <a href="https://www.cs.princeton.edu/ugrad/independent-work/undergraduate-research-topics">Undergraduate Research Topics</a> for faculty research interests and advisers.</p><p>The <a href="https://www.cs.princeton.edu/ugrad/independent-work">COS AB Independent Work and Thesis Handbook</a> provides more information about the COS department's independent work and thesis requirements. </p><p>The department also offers a curriculum leading to a B.S.E. degree. The primary differences between the <a href="https://www.cs.princeton.edu/ugrad/becoming-cs-major/bse-vs-ab">A.B. and B.S.E.</a> programs are in the University requirements for the degree programs.</p></div> </div> <div class="field field--name-field-ua-senior-depart-exam field--type-text-long field--label-above"> <h3 class="field__label">Senior Departmental Examination</h3> <div class="field__item"><p>An oral examination, consisting of a defense of the thesis research, will be held in April.</p></div> </div> <div class="field field--name-field-ua-study-abroad field--type-text-long field--label-above"> <h3 class="field__label">Study Abroad</h3> <div class="field__item"><p>Become a citizen of the world! <a href="https://www.cs.princeton.edu/ugrad/study-abroad">Computer science majors</a> are allowed and encouraged to study abroad for a semester or year. The <a href="http://www.princeton.edu/oip/home/">Office of International Programs</a> (OIP) manages study abroad programs. See the <a href="http://www.princeton.edu/oip/sap/">Study Abroad Program</a> page for specific information.</p></div> </div> </div> </div> <div id="prog-offering-2"> <div class="paragraph paragraph--type--ua-degree-and-reqs paragraph--view-mode--default"> <div class="field--type-entity-reference-taxonomy-term field field--name-field-ua-dar-degree field--type-entity-reference field--label-above"> <div class="field__label">Offering type</div> <div class="tid-16 field__item">Minor</div> </div> <div class="clearfix text-formatted field field--name-field-ua-dar-prog-desc field--type-text-long field--label-hidden field__item"><p>The <a href="https://www.cs.princeton.edu/ugrad/minor">computer science minor</a><strong> </strong>is designed for students who want to combine the study of computing and computers with another academic discipline. The program welcomes students not only from areas that traditionally make heavy use of computation (such as engineering, the natural sciences and mathematics) but also from newer and emerging application areas (such as neuroscience, digital humanities, technology policy, music, visual arts, economics, linguistics and philosophy). Many students find this program an effective way to apply computer science to their own specialties, and to understand how computation and technology are transforming our world.</p><p> </p></div> <div class="field field--name-field-ua-goals field--type-text-long field--label-above"> <h3 class="field__label">Goals for Student Learning</h3> <div class="field__item"><p>The key learning goals for a minor in computer science are:</p><ul><li>To train students in computational thinking and to empower them to deploy computation to solve problems across a variety of application domains;</li><li>To introduce students to some key subfields within computer science (e.g., artificial intelligence, human-computer interaction, the theory of computation, computer systems, computer architecture, security and data science);</li><li>To instruct students in the practice of software design and development (e.g., coding, testing, debugging, version control, user-centered design and prototyping).</li></ul></div> </div> <div class="field field--name-field-ua-admission-to-program field--type-text-long field--label-above"> <h3 class="field__label">Admission to the Program</h3> <div class="field__item"><p>The minor program is open to all undergraduates (except those majoring in computer science). Students are admitted to the program <em><strong>after</strong></em> they have declared their major and successfully completed both COS 126 and either COS 217 or COS 226. </p><p>Please refer to the <a href="https://www.cs.princeton.edu/ugrad/minor">computer science minor</a> website for additional details. </p></div> </div> <div class="field field--name-field-ua-program-of-study field--type-text-long field--label-above"> <h3 class="field__label">Program of Study</h3> <div class="field__item"><p>Students are required to take a total of <strong>five computer science courses</strong>, as detailed below:</p><ul><li><strong>Core</strong>: COS 126 ( or ECE 115) and either COS 217 or COS 226.</li><li><strong>Electives</strong>: Three additional Princeton COS courses at the 200-, 300-, or 400 level, except IW courses (COS 397, 398, 497 and 498). This includes courses cross-listed in COS, regardless of the home department. It excludes graduate courses and courses taken at other institutions. If a student takes COS 217 and COS 226, one of them may count as an elective.</li></ul><p>If a student places out of COS 126 (via the <a href="https://www.cs.princeton.edu/ugrad/advisers">COS placement officer</a>), an additional elective must be taken so that the total number of COS courses is <strong>five</strong>.</p><p>If a student receives a grade of D or F in a course, that course will not count toward satisfying the program requirements. Students may use at most one course taken on a pass/D/fail basis to satisfy the program requirements.</p><p>Students may use at most <strong>two</strong> courses to simultaneously satisfy requirements for this program and their major.</p><p>For questions about the program that are not answered in the <a href="https://www.cs.princeton.edu/ugrad/minor">COS minor FAQ</a>, email us at <a href="/cdn-cgi/l/email-protection#711c181f1e03311d180205025f12025f0103181f1214051e1f5f141504"><span class="__cf_email__" data-cfemail="e8858186879aa884819b9c9bc68b9bc6989a81868b8d9c8786c68d8c9d">[email protected]</span>.</a></p></div> </div> </div> </div> </div> </div> <div class="fos-detail-main-faculty fos-detail-main-section"> <h2>Faculty</h2> <ul class="fos-faculty-list"> <li> <h3>Chair</h3> <ul class="fos-faculty-names"> <li> Szymon M. Rusinkiewicz </li> </ul> </li> <li> <h3>Associate Chair</h3> <ul class="fos-faculty-names"> <li> Ryan P. Adams </li> <li> Wyatt A. Lloyd </li> </ul> </li> <li> <h3>Director of Undergraduate Studies</h3> <ul class="fos-faculty-names"> <li> Brian W. Kernighan (co-director) </li> <li> Kevin Wayne (co-director) </li> </ul> </li> <li> <h3>Director of Graduate Studies</h3> <ul class="fos-faculty-names"> <li> Aarti Gupta (co-director) </li> <li> Kyle A. Jamieson (co-director) </li> </ul> </li> <li> <h3>Professor</h3> <ul class="fos-faculty-names"> <li> Ryan P. Adams </li> <li> Andrew W. Appel </li> <li> Sanjeev Arora </li> <li> David I. August </li> <li> Mark Braverman </li> <li> Bernard Chazelle </li> <li> Zeev Dvir </li> <li> Adam Finkelstein </li> <li> Michael J. Freedman </li> <li> Tom Griffiths </li> <li> Aarti Gupta </li> <li> Elad Hazan </li> <li> Kyle A. Jamieson </li> <li> Brian W. Kernighan </li> <li> Kai Li </li> <li> Margaret R. Martonosi </li> <li> Radhika Nagpal </li> <li> Arvind Narayanan </li> <li> Ben Raphael </li> <li> Ran Raz </li> <li> Jennifer Rexford </li> <li> Szymon M. Rusinkiewicz </li> <li> H. Sebastian Seung </li> <li> Jaswinder P. Singh </li> <li> Mona Singh </li> <li> Robert E. Tarjan </li> <li> Olga G. Troyanskaya </li> <li> David P. Walker </li> </ul> </li> <li> <h3>Associate Professor</h3> <ul class="fos-faculty-names"> <li> Jia Deng </li> <li> Zachary Kincaid </li> <li> Gillat Kol </li> <li> Wyatt A. Lloyd </li> <li> Jonathan Mayer </li> <li> Karthik Narasimhan </li> <li> Ravi A. Netravali </li> <li> Olga Russakovsky </li> <li> Matt Weinberg </li> </ul> </li> <li> <h3>Assistant Professor</h3> <ul class="fos-faculty-names"> <li> Parastoo Abtahi </li> <li> Danqi Chen </li> <li> Tri Dao </li> <li> Adji Bousso Dieng </li> <li> Benjamin Eysenbach </li> <li> Felix Heide </li> <li> Peter Henderson </li> <li> Aleksandra Korolova </li> <li> Pravesh K. Kothari </li> <li> Amit A. Levy </li> <li> Lydia T. Liu </li> <li> Alex Lombardi </li> <li> Mae Milano </li> <li> Andrés Monroy-Hernández </li> <li> Yuri Pritykin </li> <li> Huacheng Yu </li> <li> Ellen Zhong </li> </ul> </li> <li> <h3>Associated Faculty</h3> <ul class="fos-faculty-names"> <li> Amir Ali Ahmadi, Oper Res and Financial Eng </li> <li> Christine Allen-Blanchette, Mechanical & Aerospace Eng </li> <li> Maria Apostolaki, Electrical & Comp Engineering </li> <li> Jianqing Fan, Oper Res and Financial Eng </li> <li> Jaime Fernandez Fisac, Electrical & Comp Engineering </li> <li> Yasaman Ghasempour, Electrical & Comp Engineering </li> <li> Chi Jin, Electrical & Comp Engineering </li> <li> Jason D. Lee, Electrical & Comp Engineering </li> <li> Anirudha Majumdar, Mechanical & Aerospace Eng </li> <li> Prateek Mittal, Electrical & Comp Engineering </li> <li> Paul Seymour, Mathematics </li> <li> John D. Storey, Integrative Genomics </li> <li> Daniel L. Trueman, Music </li> <li> Janet A. Vertesi, Sociology </li> <li> Pramod Viswanath, Electrical & Comp Engineering </li> <li> Mengdi Wang, Electrical & Comp Engineering </li> <li> David Wentzlaff, Electrical & Comp Engineering </li> </ul> </li> <li> <h3>University Lecturer</h3> <ul class="fos-faculty-names"> <li> Kevin Wayne </li> </ul> </li> <li> <h3>Senior Lecturer</h3> <ul class="fos-faculty-names"> <li> Robert M. Dondero </li> <li> Robert S. Fish </li> <li> Alan Kaplan </li> <li> Xiaoyan Li </li> <li> Christopher M. Moretti </li> </ul> </li> <li> <h3>Lecturer</h3> <ul class="fos-faculty-names"> <li> Sebastian Caldas </li> <li> Marcel Dall'Agnol </li> <li> Ruth C. Fong </li> <li> Donna S. Gabai </li> <li> Pedro Paredes </li> <li> Iasonas Petras </li> <li> Vikram V. Ramaswamy </li> </ul> </li> </ul> <p>For a full list of faculty members and fellows please visit the department or program website.</p> </div> <div class="fos-detail-main-courses fos-detail-main-section"> <h2>Courses</h2> <div class="fos-detail-main-courses-list"> <span class="test"></span> <h3> COS 109 - Computers in Our World (also EGR 109) <span class="course-title-suffix"> <span class="term_offered">Fall</span> QCR </span> </h3> <div class="details-wrapper"> 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 science 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. Two 90-minute lectures. Self-scheduled computer laboratory. <span class="course-instructors"> B. Kernighan </span> </div> <span class="test"></span> <h3> COS 126 - Computer Science: An Interdisciplinary Approach (also EGR 126) <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> QCR </span> </h3> <div class="details-wrapper"> An intro. 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, engineering, and other disciplines. Java programming language is used to introduce fundamental programming concepts, including conditionals, loops, arrays, functions, and object-oriented programming. Add topics include algorithms and data structures; theory of computing; and machine learning. Two lectures and two precepts. <span class="course-instructors"> K. Wayne, A. Finkelstein </span> </div> <span class="test"></span> <h3> COS 217 - Introduction to Programming Systems <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> QCR </span> </h3> <div class="details-wrapper"> An introduction to computer organization and system software. Developing skills for composing large programs, including modularity, abstraction, programming style, and best practices for code development, testing, debugging, and performance tuning. Additionally, an overview of computing environments and architectures, through the C programming language, assembly language, and machine language. Two lectures and two precepts. <span class="course-instructors"> C. Moretti, Z. Kincaid </span> </div> <span class="test"></span> <h3> COS 226 - Algorithms and Data Structures <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> QCR </span> </h3> <div class="details-wrapper"> This course surveys the most important algorithms and data structures in use on computers today. Topics include elementary data structures, sorting algorithms, search algorithms and data structures, graphs, and some more advanced topics (randomization, multiplicative weights and intractability). The course concentrates on developing implementations, understanding their performance characteristics, and estimating their potential effectiveness in applications. Two lectures and two precepts. <span class="course-instructors"> G. Kol, K. Wayne </span> </div> <span class="test"></span> <h3> COS 240 - Reasoning About Computation <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> QCR </span> </h3> <div class="details-wrapper"> An introduction to mathematical topics relevant to computer science. Combinatorics, probability and graph theory will be covered in the context of computer science applications. The course will present a computer science approach to thinking and modeling. Students will be introduced to fundamental concepts in theoretical computer science, such as NP-completeness and cryptography that arise from the world view of efficient computation. <span class="course-instructors"> R. Raz, I. Petras </span> </div> <span class="test"></span> <h3> COS 302 - Mathematics for Numerical Computing and Machine Learning (also ECE 305/SML 305) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> This 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). <span class="course-instructors"> E. Zhong </span> </div> <span class="test"></span> <h3> COS 316 - Principles of Computer System Design <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> This course teaches students the design, implementation, and evaluation of computer systems, including operating systems, networking, and distributed systems.The course will teach students to evaluate the performance and study the design choices of existing systems. Students will also learn general systems concepts that support design goals of modularity, performance, and security. Students will apply materials learned in lectures and readings to design and build new systems components. <span class="course-instructors"> W. Lloyd, R. Fish </span> </div> <span class="test"></span> <h3> COS 320 - Compiling Techniques <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 324 - Introduction to Machine Learning <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> J. Deng, R. Fong, L. Liu </span> </div> <span class="test"></span> <h3> COS 326 - Functional Programming <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> A. Appel </span> </div> <span class="test"></span> <h3> COS 333 - Advanced Programming Techniques <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> </span> </h3> <div class="details-wrapper"> 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 lectures. Prerequisites: 217 and 226 (as corequisite). <span class="course-instructors"> R. Dondero </span> </div> <span class="test"></span> <h3> COS 343 - Algorithms for Computational Biology <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> B. Raphael </span> </div> <span class="test"></span> <h3> COS 351 - Information Technology and Public Policy (also SOC 353/SPI 351) <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> SA </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 375 - Computer Architecture and Organization (also ECE 375) <span class="course-title-suffix"> <span class="term_offered">Fall</span> SEN </span> </h3> <div class="details-wrapper"> 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 classes Prerequisites: COS 217. <span class="course-instructors"> M. Martonosi </span> </div> <span class="test"></span> <h3> COS 397 - Junior Independent Work (B.S.E. candidates only) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> R. Fish, D. Walker </span> </div> <span class="test"></span> <h3> COS 398 - Junior Independent Work (B.S.E. candidates only) <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> R. Fish, A. Gupta </span> </div> <span class="test"></span> <h3> COS 417 - Operating Systems <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> A study of the design and analysis of operating systems. Topics include: processes, mutual exclusion, synchronization, semaphores, monitors, deadlock prevention and detection, memory management, virtual memory, processor scheduling, disk management, file systems, security, protection, distributed systems. Two lectures. Prerequisites: 217 and 226 or instructor's permission. <span class="course-instructors"> M. Milano, A. Levy </span> </div> <span class="test"></span> <h3> COS 418 - Distributed Systems <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> M. Freedman </span> </div> <span class="test"></span> <h3> COS 423 - Theory of Algorithms <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> Design and analysis of efficient data structures and algorithms. General techniques for building and analyzing algorithms. Introduction to NP-completeness. Two lectures and one precept. Prerequisites: 226 and 240 or instructor's permission. <span class="course-instructors"> R. Tarjan </span> </div> <span class="test"></span> <h3> COS 424 - Fundamentals of Machine Learning (also SML 302) <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 426 - Computer Graphics <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> A. Finkelstein </span> </div> <span class="test"></span> <h3> COS 429 - Computer Vision <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> 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. Prerequisites: 217 and 226. Two lectures. <span class="course-instructors"> O. Russakovsky, V. Ramaswamy </span> </div> <span class="test"></span> <h3> COS 433 - Cryptography (also MAT 473) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> An introduction to the theory of modern cryptography. Topics covered include private key and public key encryption schemes, digital signatures, pseudorandom generators and functions, zero-knowledge proofs, and some advanced topics. Prerequisites: COS 240 is a required prerequisite or equivalent proof-based mathematical maturity. Two lectures. <span class="course-instructors"> A. Lombardi </span> </div> <span class="test"></span> <h3> COS 436 - Human-Computer Interaction <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> This course is a survey of the field of Human-Computer Interaction (HCI). We cover foundational as well as current research topics in HCI. The two core focus areas are interactive computing and social computing; breadth topics include AI+HCI, AR/VR, design tools, and accessibility. A semester-long group project that involves the design and implementation of an interactive system. Prerequisite COS 217 or permission of instructor. Two lectures and one precept. <span class="course-instructors"> A. Monroy-Hernández </span> </div> <span class="test"></span> <h3> COS 445 - Economics and Computing <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> M. Weinberg, M. Braverman </span> </div> <span class="test"></span> <h3> COS 448 - Innovating Across Technology, Business, and Marketplaces (also EGR 448) <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> 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 business leaders of the organization, 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. <span class="course-instructors"> J. Singh, R. Fish </span> </div> <span class="test"></span> <h3> COS 451 - Computational Geometry <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> Introduction to basic concepts of geometric computing, illustrating the importance of this new field for computer graphics, solid modelling, robotics, databases, pattern recognition, and statistical analysis. Algorithms for geometric problems. Fundamental techniques, for example, convex hulls, Voronoi diagrams, intersection problems, multidimensional searching. Two 90-minute lectures. Prerequisites: 226 and 240 or 341, or equivalent. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 461 - Computer Networks <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> This course studies computer networks and the services built on top of them. Topics include packet-switch and multi-access networks, routing and flow control, congestion control and quality-of-service, Internet protocols (IP, TCP, BGP), the client-server model and RPC, elements of distributed systems (naming, security, caching) and the design of network services (multimedia, peer-to-peer networks, file and Web servers, content distribution networks). Two lectures, one preceptorial. Prerequisite: 217. <span class="course-instructors"> K. Jamieson </span> </div> <span class="test"></span> <h3> COS 480 - Special Topics in Computer Science <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> These courses cover one or more advanced topics in computer science. The courses are offered only when there is an opportunity to present material not included in the established curriculum; the subjects vary from term to term. Three classes. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 481 - Special Topics in Computer Science <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> These courses cover one or more advanced topics in computer science. The courses are offered only when there is an opportunity to present material not included in the established curriculum; the subjects vary from term to term. Three classes. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 484 - Natural Language Processing <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> Recent advances have ushered in exciting developments in natural language processing (NLP), resulting in systems that can translate text, answer questions and even hold spoken conversations with us. This course will introduce students to the basics of NLP, covering standard frameworks for dealing with natural language as well as algorithms and techniques to solve various NLP problems, including recent deep learning approaches. Topics covered include language modeling, rep. learning, text classification, sequence tagging, syntactic parsing, and machine translation. The course will have programming assignments, a mid-term and a final project. <span class="course-instructors"> D. Chen, V. Ramaswamy </span> </div> <span class="test"></span> <h3> COS 485 - Neural Networks: Theory and Applications <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> Organization of synaptic connectivity as the basis of neural computation and learning. Multilayer perceptrons, convolutional networks, and recurrent networks. Backpropagation and Hebbian learning. Models of perception, language, memory, and neural development. <span class="course-instructors"> H. Seung </span> </div> <span class="test"></span> <h3> COS 487 - Theory of Computation (also MAT 407) <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> Studies the limits of computation by identifying tasks that are either inherently impossible to compute, or impossible to compute within the resources available. Introduces students to computability and decidability, Godel's incompleteness theorem, computational complexity, NP-completeness, and other notions of intractability. This course also surveys the status of the P versus NP question. Additional topics may include: interactive proofs, hardness of computing approximate solutions, cryptography, and quantum computation. Two lectures, one precept. Prerequisite: 240 or 341, or instructor's permission. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 488 - Introduction to Analytic Combinatorics (also MAT 474) <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> Analytic Combinatorics aims to enable precise quantitative predictions of the properties of large combinatorial structures. The theory has emerged over recent decades as essential both for the scientific analysis of algorithms in computer science and for the study of scientific models in many other disciplines. This course combines motivation for the study of the field with an introduction to underlying techniques, by covering as applications the analysis of numerous fundamental algorithms from computer science. The second half of the course introduces Analytic Combinatorics, starting from basic principles. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> COS 497 - Senior Independent Work (B.S.E. candidates only) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> Offered in the fall, seniors 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. <span class="course-instructors"> R. Fish, D. Walker </span> </div> <span class="test"></span> <h3> COS 498 - Senior Independent Work (B.S.E. candidates only) <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> Offered in the spring, seniors 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. <span class="course-instructors"> R. Fish, A. Gupta </span> </div> <span class="test"></span> <h3> ECE 206 - Contemporary Logic Design (also COS 306) <span class="course-title-suffix"> <span class="term_offered">Fall</span> SEL </span> </h3> <div class="details-wrapper"> Introduction 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. <span class="course-instructors"> S. Malik, H. Valavi </span> </div> <span class="test"></span> <h3> ECE 381 - Networks: Friends, Money and Bytes (also COS 381) <span class="course-title-suffix"> <span class="term_offered">Not offered this year</span> </span> </h3> <div class="details-wrapper"> This course is oriented around 20 practical questions in the social, economic, and technological networks in our daily lives. How does Google sell ad spaces and rank webpages? How does Netflix recommend movies and Amazon rank products? How do I influence people on Facebook and Twitter? Why doesn't the Internet collapse under congestion, and does it have an Achilles heel? Why does each gigabyte of mobile data cost $10, but Skype is free? How come Wi-Fi is slower at hotspots than at home, and what is inside the cloud of iCloud? In formulating and addressing these questions, we introduce the fundamental concepts behind the networking industry. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> ECE 396 - Introduction to Quantum Computing (also COS 396) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> This 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. Prerequisite: Linear algebra at the level of MAT 202, 204, 217, or the equivalent. <span class="course-instructors"> S. Gopalakrishnan </span> </div> <span class="test"></span> <h3> ECE 432 - Information Security (also COS 432) <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> 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. Prerequisites: 217 and 226. Two lectures. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> ECE 462 - Design of Very Large-Scale Integrated (VLSI) Systems (also COS 462) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> N. Verma </span> </div> <span class="test"></span> <h3> ECE 475 - Computer Architecture (also COS 475) <span class="course-title-suffix"> <span class="term_offered">Spring</span> </span> </h3> <div class="details-wrapper"> An in-depth study of the fundamentals of modern computer processor and system architecture. Students will develop a strong theoretical and practical understanding of modern, cutting-edge computer architectures and implementations. Studied topics include: Instruction-set architecture and high-performance processor organization including pipelining, out-of-order execution, as well as data and instruction parallelism. Cache, memory, and storage architectures. Multiprocessors and multicore processors. Coherent caches. Interconnection and network infrastructures. Prerequisite: ECE 375/COS 375 and ECE 206/COS 306 (or familiarity with Verilog). <span class="course-instructors"> D. Wentzlaff </span> </div> <span class="test"></span> <h3> MAE 345 - Introduction to Robotics (also COS 346/ECE 345/ROB 345) <span class="course-title-suffix"> <span class="term_offered">Fall</span> </span> </h3> <div class="details-wrapper"> Robotics 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. Topics include inverse kinematics, motion planning, localization, mapping, vision, and reinforcement learning. Prerequisites: MAT 201 or 203, MAT 202 or 204, COS 126. Recommended ORF 309 and MAE 305. A.B. students ST requirement; B.S.E. students 1st-year science requirement. Two 90-minute lectures. <span class="course-instructors"> R. Nagpal </span> </div> <span class="test"></span> <h3> MAT 375 - Introduction to Graph Theory (also COS 342) <span class="course-title-suffix"> <span class="term_offered">Spring</span> QCR </span> </h3> <div class="details-wrapper"> The fundamental theorems and algorithms of graph theory. Topics include: connectivity, matchings, graph coloring, planarity, the four-color theorem, extremal problems, network flows, and related algorithms. Prerequisite: MAT202 or 204 or 217 or equivalent. <span class="course-instructors"> Staff </span> </div> <span class="test"></span> <h3> MUS 314 - Computer and Electronic Music through Programming, Performance, and Composition (also COS 314) <span class="course-title-suffix"> <span class="term_offered">Fall</span> QCR </span> </h3> <div class="details-wrapper"> An introduction to the fundamentals of computer and electronic music in the context of the Princeton Laptop Orchestra (PLOrk). 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. <span class="course-instructors"> D. Trueman, J. Snyder </span> </div> <span class="test"></span> <h3> ORF 363 - Computing and Optimization for the Physical and Social Sciences (also COS 323) <span class="course-title-suffix"> <span class="term_offered">Fall/Spring</span> QCR </span> </h3> <div class="details-wrapper"> 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. <span class="course-instructors"> A. Ahmadi </span> </div> <span class="test"></span> <h3> QCB 455 - Introduction to Genomics and Computational Molecular Biology (also COS 455/MOL 455) <span class="course-title-suffix"> <span class="term_offered">Fall</span> QCR </span> </h3> <div class="details-wrapper"> This interdisciplinary course provides a broad overview of computational and experimental approaches to decipher genomes and characterize molecular systems. We focus on methods for analyzing "omics" data, such as genome and protein sequences, gene expression, proteomics and molecular interaction networks. We cover algorithms used in computational biology, key statistical concepts (e.g., basic probability distributions, significance testing, multiple testing correction, performance evaluation), and machine learning methods which have been applied to biological problems (e.g., classification techniques, hidden Markov models, clustering). <span class="course-instructors"> J. Akey, M. Singh </span> </div> </div> </div> </div> </div> </article> </div> </div> </main> </div> <nav class="back-to-top sr-only sr-only-focusable" aria-label="Back to top"><button><div class="full-name sr-only">Back to </div><div class="short-name">Top</div></button></nav> </div> </div> <footer role="contentinfo" class="footer region region-footer" id="footer"> <h2 class="sr-only">Footer</h2> <div class="container"> <div class="region region-footer"> <div class="constrained-bkg-constrained-content layout layout--threecol-33-34-33"> <div class="layout-inner-container"> <div class="layout__region layout__region--first layout__region--thirds layout__region--narrow"> <div class="block-ps-text with-block-description block block-layout-builder block-inline-blockps-text" data-block-plugin-id="inline_block:ps_text"> <h2 class="block-heading">Related Links</h2> <div class="clearfix text-formatted field field--name-field-ps-body field--type-text-long field--label-hidden field__item"><p><a href="https://www.princeton.edu/academics/course-tools" target="_blank">Academic Guides and Resources</a></p> <p><a href="https://gradschool.princeton.edu/academics/degrees-requirements/fields-study" target="_blank">Graduate School, Departments & Programs of Study</a></p> <p><a href="https://registrar.princeton.edu/course-offerings" target="_blank">Office of the Registrar, Course Information</a></p></div> </div> </div> <div class="layout__region layout__region--second layout__region--thirds layout__region--narrow"> </div> <div class="layout__region layout__region--third layout__region--thirds layout__region--narrow"> <div class="block-ps-text with-block-description block block-layout-builder block-inline-blockps-text" data-block-plugin-id="inline_block:ps_text"> <div class="clearfix text-formatted field field--name-field-ps-body field--type-text-long field--label-hidden field__item"><p class="text-align-right"><a href="/archive">Archive</a></p></div> </div> </div> </div> </div> </div> </div> <div class="subfooter"> <div class="container"> <div class="row"> <div class="col-md-4"> <div class="subfooter-links"> <ul class="list-unstyled"> <li> <a href="https://accessibility.princeton.edu/help">Accessibility Help</a> </li> </ul> </div> </div> <div class="col-md-4"> <p class="copyright-text"> © 2024 The Trustees of Princeton University </p> </div> <div class="col-md-4 text-sm-left text-md-right copyright"> <a href="http://www.princeton.edu" class="pu-logo" title="Princeton University"><img src="/profiles/ps/themes/ps_base/images/pu-logo-stacked.svg" alt="Princeton University"/> </a> </div> </div> </div> </div> </footer> </div> </div> <span id="ps-current-username" data-username=""></span> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script src="/profiles/ps/themes/ps_base/bootstrap/js/bootstrap.min.js?sm81ex"></script> <script src="/modules/contrib/linkpurpose/library/js/linkpurpose.min.js?sm81ex"></script> <script src="/modules/contrib/linkpurpose/js/linkpurpose-drupal.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/link_behavior.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/focusable-hash-fixer.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/enhanced-focus.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/search-terms-fragment-parser.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/search-terms-highlighter.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/collapse-text-search-terms-revealer.js?sm81ex"></script> <script src="/profiles/ps/libraries/custom/select2/dist/js/select2.js?v=4.x"></script> <script src="/profiles/ps/modules/custom/select2_simple/js/select2_simple.js?sm81ex"></script> <script src="/core/misc/active-link.js?v=10.3.6"></script> <script src="/profiles/ps/themes/ps_base/js/main-menu.js?sm81ex"></script> <script src="/profiles/ps/themes/ps_tiger/js/header.js?sm81ex"></script> <script src="/profiles/ps/themes/ps_tiger/js/image-no-border.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/utils.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/columns.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/tables.js?sm81ex"></script> <script src="/profiles/ps/themes/ps_base/js/back-to-top.js?sm81ex"></script> <script src="/profiles/ps/modules/custom/ps_core/js/jump-link-menu.js?sm81ex"></script> <script src="/profiles/ps/libraries/tabby/tabby.js?sm81ex"></script> <script src="/sites/g/files/toruqf6786/themes/site/js/fields-of-study-detail.js?sm81ex"></script> <script src="/core/misc/form.js?v=10.3.6"></script> <script src="/profiles/ps/modules/custom/ps_core/js/logout-link-username.js?sm81ex"></script> </body> </html>