🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 30 (from laksa003)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
1 month ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH1.2 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/
Last Crawled2026-03-08 22:57:30 (1 month ago)
First Indexed2020-07-16 16:04:04 (5 years ago)
HTTP Status Code200
Meta TitleComputer Science < Yale University
Meta Descriptionnull
Meta Canonicalnull
Boilerpipe Text
Director of undergraduate studies: Theodore Kim ;  cpsc.yale.edu The Department of Computer Science offers both B.S. and B.A. degree programs and four combined major programs in cooperation with other departments: Electrical Engineering and Computer Science , Computer Science and Economics , Computer Science and Mathematics , and Computer Science and Psychology . Each program not only provides a solid technical education in the core of computer science but also  allows students to take a broad range of courses in other disciplines that are an essential part of a liberal arts education. Specifically, the Computer Science and combined major programs share a common core of five computer science courses. The first is CPSC 2010 , a survey that demonstrates the breadth and depth of the field to students who have taken the equivalent of an introductory programming course. The remaining core courses cover discrete mathematics ( CPSC 2020  or MATH 2440 ), data structures ( CPSC 2230 ), systems programming and computer architecture ( CPSC 3230 ), and algorithm analysis and design ( CPSC 3650  or  3660 ). Only one of  CPSC 3650  or  3660  may be taken for major credit. Together these courses include the material that every major should know. The core courses are supplemented by electives (and, for a combined major, core courses in the other discipline) that offer great flexibility in tailoring a program to each student's interests. The capstone is the senior project ( CPSC 4900 ), through which students experience the challenges and rewards of original research under the guidance of a faculty adviser. Prospective majors are encouraged to discuss their programs with the director of undergraduate studies (DUS) as early as possible. Introductory Courses The department offers a broad range of introductory courses to meet the needs of students with varying backgrounds and interests. Except for  CPSC 2000  and  CPSC 2010 , none assumes previous knowledge of computers. CPSC 1001  teaches students majoring in any subject area how to program a computer and solve problems. No prior programming experience is required. Students with previous programming experience should consider taking  CPSC 2010  instead. This course satisfies the Quantitative Reasoning distributional requirement. CPSC 1100  teaches programming for humanities and social sciences using the Python programming language. No prior programming experience is required. This course satisfies the Quantitative Reasoning distributional requirement. CPSC 1340  provides an introduction to computer music, including musical representations for computing, automated music analysis and composition, interactive systems, and virtual instrument design. CPSC 1500 explores how some of the key ideas in computer science have affected philosophy of mind, cognitivism, connectionism, and related areas. This humanities-style course requires a significant amount of reading and writing a paper, and satisfies the Writing and the Humanities and Arts distributional requirements. CPSC 1510 studies the history of the graphical user interface in an attempt to guess its future. This course satisfies the Writing distributional requirement. CPSC 1750 studies the C programming language and the Linux operating system. This course satisfies the Quantitative Reasoning requirement. CPSC 1830 explores the myriad ways that law and technology intersect, with a special focus on the role of cyberspace. This course satisfies the Social Sciences distributional requirement. CPSC 1840  focuses on the evolving and oftentimes vexing intellectual property regime of the new digital age. This course satisfies the Social Sciences and the Humanities and Arts distributional requirements. CPSC 1850  covers the evolution of various legal doctrines with and around technological development. This course satisfies the Social Sciences and the Writing distributional requirements. CPSC 2000 , intended as a survey course for non-majors, focuses on practical applications of computing technology while examining topics including computer hardware, computer software, and related issues such as security and software engineering. This course satisfies the Quantitative Reasoning distributional requirement. CPSC 2010  teaches the basic concepts, techniques, and applications of computer science, including systems (computers and their languages) and theory (complexity and computability). Students with sufficient programming experience may elect CPSC 2010 without taking CPSC 1001 . (These courses meet at the same time so that students are easily able to change levels if necessary.) This course satisfies the Quantitative Reasoning distributional requirement. CPSC 2020 presents the formal methods of reasoning and the concepts of discrete mathematics and linear algebra used in computer science and related disciplines. This course satisfies the Quantitative Reasoning distributional requirement. Requirements of the Major See Link  to the YC CPSC Elective attribute  indicating courses approved for major requirements. The B.S. and the B.A. degree programs have the same required five core courses: CPSC 2010 ; CPSC 2020 or MATH 2440 ; CPSC 2230 ;  CPSC 3230 ; and  CPSC 3650  or 3660 .  B.S. degree program The B.S. degree program requires a total of twelve term courses: five core courses, six intermediate or advanced courses in Computer Science, and the senior requirement. B.A. degree program The B.A. degree program requires a total of ten term courses: the five core courses, four intermediate or advanced courses in Computer Science, and the senior requirement. Combined B.S./M.S. degree Exceptionally able and well-prepared students may complete a course of study leading to the simultaneous award of the B.S. and M.S. degrees after eight terms of enrollment. General eligibility requirements are described in the Academic Regulations, section L, Special Academic Arrangements , “Simultaneous Award of the Bachelor's and Master's Degrees.” Specific requirements for the combined degree in Computer Science are as follows: Candidates must satisfy the Yale College requirements for the B.S. degree in Computer Science. At the end of their fifth term of enrollment, candidates must have earned at least nine of their Computer Science required course credits, which together with three additional Computer Science required course credits, satisfy the requirements for the B.S. in Computer Science. Candidates must also have achieved A grades (only A, not A-) in at least three-quarters of these courses. Candidates must also complete eight graduate courses from the approved list, up to two of which may, with the permission of the DUS and the director of graduate studies, also be applied toward completion of the B.S. degree. At most one of these eight courses may be CPSC 6920 . All eight graduate courses must be completed in the final four terms of enrollment, and at least six of them must be completed in the final three terms of enrollment. Credit/D/Fail  No course taken Credit/D/Fail may be applied toward the requirements of the major. All courses in the major must be taken for a letter grade. Outside credit  Courses taken at another institution or during an approved summer or term-time study abroad program may count toward the major requirements with DUS approval.  Senior Requirement In the senior year, students must take  CPSC 4900 , an independent project course, in which a student selects an adviser to conduct original research with substantial work in a subfield of computer science. With permission of the DUS, students may enroll in  4900  more than once or before their senior year. Advising All Computer Science majors in the sophomore, junior, and senior years should review their programs with their class advisers and the DUS. Students majoring in Computer Science are advised to complete CPSC 2010 and 2230 by the end of their sophomore year. Electives  The field of computer science has broadened substantially in the last few decades and the Computer Science department advises its majors to choose intermediate and advanced electives covering the breadth of computer science, including theoretical computer science; computer systems and languages (e.g., database, networking, operating systems, programming languages, and systems security); and computer applications (e.g., artificial intelligence, computer graphics, computer vision, human-computer interactions, machine learning, natural language processing, and robotics). The Computer Science department encourages interdisciplinary study in which computer science plays a major role. Advanced courses in other departments that involve concepts from computer science and are relevant to an individual program may, with permission of the DUS, be counted toward the requirements, but no more than two such courses may be counted toward the B.S., and no more than one toward the B.A. Students interested in using computers to solve scientific and engineering problems are advised to take  CPSC 4371  as well as computational courses offered in  Applied Mathematics  and in  Engineering and Applied Science . The core mathematical background necessary to complete the Computer Science major is provided in  CPSC 2020 . However, many advanced courses in graphics, computer vision, neural networks, and numerical analysis assume additional knowledge of linear algebra and calculus. Students who plan to take such courses as electives and who are unsure whether they have the appropriate mathematical background are encouraged to take  MATH 2220  or  2250 , MATH 2260 , and MATH 1200 . Typical programs For students who already know how to program, typical B.S. programs starting in the first and sophomore years are indicated below. For typical B.A. programs, two of the electives would be omitted. SUMMARY OF MAJOR REQUIREMENTS Prerequisites  None Number of courses  B.S. —12 term courses taken for letter grades (incl senior project); B.A. —10 term courses taken for letter grades (incl senior project) Specific courses required  B.S. and B.A. — CPSC 2010 ; CPSC 2020 or MATH 2440 ; CPSC 2230 ; CPSC 3230 ; and  CPSC 3650  or 3660 .  Distribution of courses  B.S. —6 addtl intermediate or advanced Comp Sci courses; B.A. —4 addtl intermediate or advanced Comp Sci courses Substitution permitted  Advanced courses in other depts, with DUS permission Senior requirement  Senior project ( CPSC 4900 ) Requirements for the B.S. Degree  12 courses (for 12 credits) taken for letter grades, including the senior project 6 additional intermediate or advanced computer science courses Requirements for the B.A. Degree  10 courses (for 10 credits) taken for letter grades, including the senior project 4 additional intermediate or advanced computer science courses The Computer Science department offers two degree programs, B.S. and B.A., and combined majors with Economics, Electrical Engineering, Mathematics, and Psychology. Each program provides a solid technical education yet allows students to take the broad range of courses in other disciplines that is an essential part of a liberal education. The programs share a common core of five computer science courses, including CPSC 2010 and courses in discrete mathematics, data structures, systems programming and computer architecture, and algorithm analysis and design. This core is supplemented by electives and, for the combined majors, core courses in the other discipline. The capstone of the major is the senior project, in which students conduct original research under the guidance of a faculty mentor. Prospective majors are encouraged to discuss their program with the director of undergraduate studies (DUS) as early as possible. The department offers a broad range of introductory courses for first-year students with varying backgrounds and interests. Except for CPSC 2000 and CPSC 2010 , none assumes previous knowledge of computers. CPSC 1001 teaches students majoring in any subject area to program a computer and solve problems. No prior programming experience is required. Students with previous programming experience should consider taking  CPSC 2010  instead. This course satisfies the Quantitative Reasoning distributional requirement. CPSC 1100 teaches programming for humanities and social sciences using the Python programming language. No prior programming experience is required. This course satisfies the Quantitative Reasoning distributional requirement.  CPSC 1340  provides an introduction to computer music, including musical representations for computing, automated music analysis and composition, interactive systems, and virtual instrument design. CPSC 1500  explores how some of the key ideas in computer science have affected philosophy of mind, cognitivism, connectionism, and related areas. This humanities-style course requires a significant amount of reading and writing a paper, and satisfies the Writing and the Humanities and Arts distributional requirements. CPSC 1510 studies the history of the graphical user interface in an attempt to guess its future. This course satisfies the Writing distributional requirement. CPSC 1750  studies the C programming language and the Linux operating system. This course satisfies the Quantitative Reasoning requirement. CPSC 1830  explores the myriad ways that law and technology intersect, with a special focus on the role of cyberspace. This course satisfies the Social Sciences distributional requirement. CPSC 1840 focuses on the evolving and oftentimes vexing intellectual property regime of the new digital age. This course satisfies the Social Sciences and the Humanities and Arts distributional requirements. CPSC 1850 covers the evolution of various legal doctrines with and around technological development. This course satisfies the Social Sciences and the Writing distributional requirements. CPSC 2000 , intended as a survey course for non-majors, focuses on practical applications of computing technology while examining topics including computer hardware, computer software, and related issues such as security and software engineering. This course satisfies the Quantitative Reasoning distributional requirement. CPSC 2010  teaches the basic concepts, techniques, and applications of computer science, including systems (computers and their languages) and theory (complexity and computability). Students with sufficient programming experience may elect  CPSC 2010  without taking CPSC 1001 . (These courses meet at the same time so that students are easily able to change levels if necessary.) This course satisfies the Quantitative Reasoning distributional requirement. CPSC 2020  presents the formal methods of reasoning and the concepts of discrete mathematics and linear algebra used in computer science and related disciplines. This course satisfies the Quantitative Reasoning distributional requirement. Certificate in Programming Certificate director: Stephen Slade ;  cpsc.yale.edu The Certificate in Programming prepares students to program computers in support of work in any area of study. While the certificate does not provide the grounding in theory and systems that the computer science majors do, it does provide a short path to programming literacy that can be completed in a span of four terms. Majors in Computer Science, and in the joint programs with Economics, Electrical Engineering, Mathematics, and Psychology, or in Computing and the Arts may not pursue the Certificate.  Refer to the  Computer Science website for more information. Prerequisite The prerequisite for the Certificate is an introductory programming course,  CPSC 1100 , 1001 , S115 or successful completion of an AP Computer Science course.  Requirements of the Certificate See Links  to the attributes indicating courses approved for certificate requirements. Students may not use any of the five required courses, indicated below, to satisfy the requirements of any major or other certificate. If such a course is required for another program, the student must substitute another course from the same category or a more advanced one for the Programming Certificate. No course may be used to satisfy more than one of the five required courses. Programming  One from CPSC 2010 or CPSC 2000 Data structures CPSC 2230 Advanced programming  One from CPSC 3270 or CPSC 3230 A programming elective  A CPSC course with CPSC 2230 as a listed or implied prerequisite and a primary focus on programming (such as CPSC 4180 ,  4210 ,  4230 , 4240 , 4330 , 4370 , 4390 , 4460 , or 4780 ) or a second course that satisfies the advanced programming requirement An applications or algorithms elective   Either a programming in context course that requires significant programming (such as CPSC 3340 ,  3760 , 4310 , 4320 , 4740 , 4770 , 4790 , or LING 3800 ) or a course in algorithms (such as CPSC 3650 or 3660 ) Credit/D/Fail  No course  taken Credit/D/Fail may be  applied  toward the requirements of the certificate. Advising Ozan Erat from the Department of Computer Science advises students pursuing the Certificate. Exceptions to the requirements, other than the substitution of a more advanced course for a required one, are limited.  Summary of Requirements Prerequisite CPSC 1100 , 1001 , S115 or AP Computer Science course Number of courses  5 term courses  Specific courses required   CPSC 2010 or 2000 ; CPSC 2230 ; CPSC 3270 or 3230 Distribution of courses   2 electives, as specified FACULTY OF THE DEPARTMENT OF COMPUTER SCIENCE Professors  Dana Angluin ( Emeritus ), James Aspnes, *Dirk Bergemann, Abhishek Bhattacharjee, Julie Dorsey, Joan Feigenbaum, Michael Fischer, David Gelernter, *Mark Gerstein, Theodore Kim, †Vladimir Rokhlin, Holly Rushmeier, Brian Scassellati, Martin Schultz (Emeritus), Zhong Shao, Avi Silberschatz, †Daniel Spielman, Nisheeth Vishnoi, Y. Richard Yang, Lin Zhong, †Steven Zucker Associate Professors Yang Cai, Smita Krishnaswamy, Charalampos Papamanthou, Ruzica Piskac, Robert Soulé Assistant Professors  *Kim Blenman, Arman Cohan, Yongshan Ding, Benjamin Fisch, Tesca Fitzgerald, Anurag Khandelwal, Quanquan Liu, Daniel Rakita, Katerina Sotiraki, Marynel Vázquez, Andre Wibisono, Alex Wong, Rex Ying, Manolis Zampetakis, Fan Zhang Senior Research Scientists  Robert Bjornson, Andrew Sherman Senior Lecturers  James Glenn, Scott Petersen, Michael Shah, Stephen Slade Lecturers  Timothy Barron, Andrew Bridy, Xiuye (Sue) Chen, Ozan Erat, Jay Lim, Dylan McKay, Cody Murphey, Sohee Park, Brad Rosen, Inyoung Shin, Alan Weide, Cecillia Xie  *A secondary appointment with a primary affiliation in another department or school. †A joint appointment with primary affiliation in another department or school. For a complete list of Computer Science Department personnel, visit the  department website . See the Roadmap Library for a visual representation of the major.
Markdown
- [Skip to Content](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#content) - [AZ Index](https://catalog.yale.edu/ycps/azindex/) - [Catalog Home](https://catalog.yale.edu/) - [Institution Home](http://www.yale.edu/) [Bulletin of Yale University](https://bulletin.yale.edu/) Menu # Yale College Programs of Study 2025–2026 - [A–Z Index](https://catalog.yale.edu/ycps/azindex/) - [Print/Download Options](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#print-dialog) - [Bulletin Archive](https://bulletin.yale.edu/bulletins-pdf/bulletin-archive) - [Yale University Publications](https://catalog.yale.edu/) / - [Yale College Programs of Study](https://catalog.yale.edu/ycps/) / - [Subjects of Instruction](https://catalog.yale.edu/ycps/subjects-of-instruction/) / - Computer Science ## Current Edition: YCPS Archive. Click to change. - [2024-2025](http://catalog.yale.edu/archive/2024-2025/ycps/) - [2023-2024](http://catalog.yale.edu/archive/2023-2024/ycps/) - [2022-2023](http://catalog.yale.edu/archive/2022-2023/ycps/) - [2021-2022](http://catalog.yale.edu/archive/2021-2022/ycps/) - [2020-2021](http://catalog.yale.edu/archive/2020-2021/ycps/) - [2019-2020](http://catalog.yale.edu/archive/2019-2020/ycps/) - [2018-2019](http://catalog.yale.edu/archive/2018-2019/ycps/) - [2017-2018](http://catalog.yale.edu/archive/2017-2018/ycps/) - [2016-2017](http://catalog.yale.edu/archive/2016-2017/ycps/) - [2015-2016](http://catalog.yale.edu/archive/2015-2016/ycps/) - [2014-2015](http://catalog.yale.edu/archive/2014-2015/ycps/) - [2013-2014](http://catalog.yale.edu/archive/2013-2014/ycps/) [Catalog Navigation]() - [The Undergraduate Curriculum](https://catalog.yale.edu/ycps/yale-college/) - [Academic Regulations](https://catalog.yale.edu/ycps/academic-regulations/) - [Majors by Disciplines](https://catalog.yale.edu/ycps/majors-by-disciplines/) - [Majors in Yale College](https://catalog.yale.edu/ycps/majors-in-yale-college/) - [Major Roadmaps](https://catalog.yale.edu/ycps/roadmaps/) - [Certificates in Yale College](https://catalog.yale.edu/ycps/programs_certificates/) - [Yale College and Departmental Attributes](https://catalog.yale.edu/ycps/attributes/) - [Subjects of Instruction](https://catalog.yale.edu/ycps/subjects-of-instruction/) - [Computer Science](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/) - [General Information](https://catalog.yale.edu/ycps/general-information/) # Computer Science - [Overview](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#text) - [Summary of Requirements](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#summaryofrequirementstext) - [First year](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#firstyearstext) - [Certificate](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#certificatetext) - [Faculty](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#facultytext) - [Roadmap](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#roadmaptext) - [Courses](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#coursestext) **Director of undergraduate studies:** [Theodore Kim](mailto:theodore.kim@yale.edu); [cpsc.yale.edu](https://cpsc.yale.edu/) The Department of Computer Science offers both B.S. and B.A. degree programs and four combined major programs in cooperation with other departments: [Electrical Engineering and Computer Science](https://catalog.yale.edu/ycps/subjects-of-instruction/electrical-engineering-computer-science/), [Computer Science and Economics](https://catalog.yale.edu/ycps/subjects-of-instruction/computerscienceandeconomics/), [Computer Science and Mathematics](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science-mathematics/), and [Computer Science and Psychology](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science-psychology/). Each program not only provides a solid technical education in the core of computer science but also allows students to take a broad range of courses in other disciplines that are an essential part of a liberal arts education. Specifically, the Computer Science and combined major programs share a common core of five computer science courses. The first is [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010"), a survey that demonstrates the breadth and depth of the field to students who have taken the equivalent of an introductory programming course. The remaining core courses cover discrete mathematics ([CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") or [MATH 2440](https://catalog.yale.edu/search/?P=MATH%202440 "MATH 2440")), data structures ([CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230")), systems programming and computer architecture ([CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230")), and algorithm analysis and design ([CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660")). Only one of [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660") may be taken for major credit. Together these courses include the material that every major should know. The core courses are supplemented by electives (and, for a combined major, core courses in the other discipline) that offer great flexibility in tailoring a program to each student's interests. The capstone is the senior project ([CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900")), through which students experience the challenges and rewards of original research under the guidance of a faculty adviser. Prospective majors are encouraged to discuss their programs with the director of undergraduate studies (DUS) as early as possible. #### Introductory Courses The department offers a broad range of introductory courses to meet the needs of students with varying backgrounds and interests. Except for [CPSC 2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000") and [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010"), none assumes previous knowledge of computers. 1. [CPSC 1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001") teaches students majoring in any subject area how to program a computer and solve problems. No prior programming experience is required. Students with previous programming experience should consider taking [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") instead. This course satisfies the Quantitative Reasoning distributional requirement. 2. [CPSC 1100](https://catalog.yale.edu/search/?P=CPSC%201100 "CPSC 1100") teaches programming for humanities and social sciences using the Python programming language. No prior programming experience is required. This course satisfies the Quantitative Reasoning distributional requirement. 3. [CPSC 1340](https://catalog.yale.edu/search/?P=CPSC%201340 "CPSC 1340") provides an introduction to computer music, including musical representations for computing, automated music analysis and composition, interactive systems, and virtual instrument design. 4. [CPSC 1500](https://catalog.yale.edu/search/?P=CPSC%201500 "CPSC 1500") explores how some of the key ideas in computer science have affected philosophy of mind, cognitivism, connectionism, and related areas. This humanities-style course requires a significant amount of reading and writing a paper, and satisfies the Writing and the Humanities and Arts distributional requirements. 5. [CPSC 1510](https://catalog.yale.edu/search/?P=CPSC%201510 "CPSC 1510") studies the history of the graphical user interface in an attempt to guess its future. This course satisfies the Writing distributional requirement. 6. [CPSC 1750](https://catalog.yale.edu/search/?P=CPSC%201750 "CPSC 1750") studies the C programming language and the Linux operating system. This course satisfies the Quantitative Reasoning requirement. 7. [CPSC 1830](https://catalog.yale.edu/search/?P=CPSC%201830 "CPSC 1830") explores the myriad ways that law and technology intersect, with a special focus on the role of cyberspace. This course satisfies the Social Sciences distributional requirement. 8. [CPSC 1840](https://catalog.yale.edu/search/?P=CPSC%201840 "CPSC 1840") focuses on the evolving and oftentimes vexing intellectual property regime of the new digital age. This course satisfies the Social Sciences and the Humanities and Arts distributional requirements. 9. [CPSC 1850](https://catalog.yale.edu/search/?P=CPSC%201850 "CPSC 1850") covers the evolution of various legal doctrines with and around technological development. This course satisfies the Social Sciences and the Writing distributional requirements. 10. [CPSC 2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000"), intended as a survey course for non-majors, focuses on practical applications of computing technology while examining topics including computer hardware, computer software, and related issues such as security and software engineering. This course satisfies the Quantitative Reasoning distributional requirement. 11. [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") teaches the basic concepts, techniques, and applications of computer science, including systems (computers and their languages) and theory (complexity and computability). Students with sufficient programming experience may elect [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") without taking [CPSC 1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001"). (These courses meet at the same time so that students are easily able to change levels if necessary.) This course satisfies the Quantitative Reasoning distributional requirement. 12. [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") presents the formal methods of reasoning and the concepts of discrete mathematics and linear algebra used in computer science and related disciplines. This course satisfies the Quantitative Reasoning distributional requirement. #### Requirements of the Major [See Link](https://catalog.yale.edu/ycps/attributes/) to the *YC CPSC Elective attribute* indicating courses approved for major requirements. The B.S. and the B.A. degree programs have the same required five core courses: [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010"); [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") or [MATH 2440](https://catalog.yale.edu/search/?P=MATH%202440 "MATH 2440"); [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230"); [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230"); and [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660"). **B.S. degree program** The B.S. degree program requires a total of twelve term courses: five core courses, six intermediate or advanced courses in Computer Science, and the senior requirement. **B.A. degree program** The B.A. degree program requires a total of ten term courses: the five core courses, four intermediate or advanced courses in Computer Science, and the senior requirement. **Combined B.S./M.S. degree** Exceptionally able and well-prepared students may complete a course of study leading to the simultaneous award of the B.S. and M.S. degrees after eight terms of enrollment. General eligibility requirements are described in the Academic Regulations, [section L, Special Academic Arrangements](https://catalog.yale.edu/ycps/academic-regulations/special-academic-arrangements/), “Simultaneous Award of the Bachelor's and Master's Degrees.” Specific requirements for the combined degree in Computer Science are as follows: 1. Candidates must satisfy the Yale College requirements for the B.S. degree in Computer Science. 2. At the end of their fifth term of enrollment, candidates must have earned at least nine of their Computer Science required course credits, which together with three additional Computer Science required course credits, satisfy the requirements for the B.S. in Computer Science. Candidates must also have achieved A grades (only A, not A-) in at least three-quarters of these courses. 3. Candidates must also complete eight graduate courses from the approved list, up to two of which may, with the permission of the DUS and the director of graduate studies, also be applied toward completion of the B.S. degree. At most one of these eight courses may be [CPSC 6920](https://catalog.yale.edu/search/?P=CPSC%206920 "CPSC 6920"). All eight graduate courses must be completed in the final four terms of enrollment, and at least six of them must be completed in the final three terms of enrollment. **Credit/D/Fail** No course taken Credit/D/Fail may be applied toward the requirements of the major. All courses in the major must be taken for a letter grade. **Outside credit** Courses taken at another institution or during an approved summer or term-time study abroad program may count toward the major requirements with DUS approval. #### Senior Requirement In the senior year, students must take [CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900"), an independent project course, in which a student selects an adviser to conduct original research with substantial work in a subfield of computer science. With permission of the DUS, students may enroll in [4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900") more than once or before their senior year. #### Advising All Computer Science majors in the sophomore, junior, and senior years should review their programs with their class advisers and the DUS. Students majoring in Computer Science are advised to complete [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") and [2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") by the end of their sophomore year. **Electives** The field of computer science has broadened substantially in the last few decades and the Computer Science department advises its majors to choose intermediate and advanced electives covering the breadth of computer science, including theoretical computer science; computer systems and languages (e.g., database, networking, operating systems, programming languages, and systems security); and computer applications (e.g., artificial intelligence, computer graphics, computer vision, human-computer interactions, machine learning, natural language processing, and robotics). The Computer Science department encourages interdisciplinary study in which computer science plays a major role. Advanced courses in other departments that involve concepts from computer science and are relevant to an individual program may, with permission of the DUS, be counted toward the requirements, but no more than two such courses may be counted toward the B.S., and no more than one toward the B.A. Students interested in using computers to solve scientific and engineering problems are advised to take [CPSC 4371](https://catalog.yale.edu/search/?P=CPSC%204371 "CPSC 4371") as well as computational courses offered in [Applied Mathematics](https://catalog.yale.edu/ycps/subjects-of-instruction/applied-mathematics/) and in [Engineering and Applied Science](https://catalog.yale.edu/ycps/subjects-of-instruction/engineering-applied-science/). The core mathematical background necessary to complete the Computer Science major is provided in [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020"). However, many advanced courses in graphics, computer vision, neural networks, and numerical analysis assume additional knowledge of linear algebra and calculus. Students who plan to take such courses as electives and who are unsure whether they have the appropriate mathematical background are encouraged to take [MATH 2220](https://catalog.yale.edu/search/?P=MATH%202220 "MATH 2220") or [2250](https://catalog.yale.edu/search/?P=MATH%202250 "MATH 2250"), [MATH 2260](https://catalog.yale.edu/search/?P=MATH%202260 "MATH 2260"), and [MATH 1200](https://catalog.yale.edu/search/?P=MATH%201200 "MATH 1200"). **Typical programs** For students who already know how to program, typical B.S. programs starting in the first and sophomore years are indicated below. For typical B.A. programs, two of the electives would be omitted. | First-Year | Sophomore | Junior | Senior | |---|---|---|---| | [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") | [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") and [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") | Two electives | [CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900") | | [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") | [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660") | Two electives | One elective | | | One elective | | | | | Sophomore | Junior | Senior | |---|---|---|---| | | [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") | [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660") | Two electives | | | [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") | [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") | [CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900") | | | [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") | Two electives | Two electives | ## **SUMMARY OF MAJOR REQUIREMENTS** **Prerequisites** None **Number of courses** *B.S.*—12 term courses taken for letter grades (incl senior project); *B.A.*—10 term courses taken for letter grades (incl senior project) **Specific courses required** *B.S. and B.A.*—[CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010"); [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") or [MATH 2440](https://catalog.yale.edu/search/?P=MATH%202440 "MATH 2440"); [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230"); [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230"); and [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660"). **Distribution of courses** *B.S.*—6 addtl intermediate or advanced Comp Sci courses; *B.A.*—4 addtl intermediate or advanced Comp Sci courses **Substitution permitted** Advanced courses in other depts, with DUS permission **Senior requirement** Senior project ([CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900")) **Requirements for the B.S. Degree** 12 courses (for 12 credits) taken for letter grades, including the senior project - [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") - [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") or [MATH 2440](https://catalog.yale.edu/search/?P=MATH%202440 "MATH 2440") - [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") - [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") - [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [CPSC 3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660") - [CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900") - 6 additional intermediate or advanced computer science courses **Requirements for the B.A. Degree** 10 courses (for 10 credits) taken for letter grades, including the senior project - [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") - [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") or [MATH 2440](https://catalog.yale.edu/search/?P=MATH%202440 "MATH 2440") - [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") - [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") - [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [CPSC 3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660") - [CPSC 4900](https://catalog.yale.edu/search/?P=CPSC%204900 "CPSC 4900") - 4 additional intermediate or advanced computer science courses The Computer Science department offers two degree programs, B.S. and B.A., and combined majors with Economics, Electrical Engineering, Mathematics, and Psychology. Each program provides a solid technical education yet allows students to take the broad range of courses in other disciplines that is an essential part of a liberal education. The programs share a common core of five computer science courses, including [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") and courses in discrete mathematics, data structures, systems programming and computer architecture, and algorithm analysis and design. This core is supplemented by electives and, for the combined majors, core courses in the other discipline. The capstone of the major is the senior project, in which students conduct original research under the guidance of a faculty mentor. Prospective majors are encouraged to discuss their program with the director of undergraduate studies (DUS) as early as possible. The department offers a broad range of introductory courses for first-year students with varying backgrounds and interests. Except for [CPSC 2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000") and [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010"), none assumes previous knowledge of computers. 1. [CPSC 1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001") teaches students majoring in any subject area to program a computer and solve problems. No prior programming experience is required. Students with previous programming experience should consider taking [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") instead. This course satisfies the Quantitative Reasoning distributional requirement. 2. [CPSC 1100](https://catalog.yale.edu/search/?P=CPSC%201100 "CPSC 1100") teaches programming for humanities and social sciences using the Python programming language. No prior programming experience is required. This course satisfies the Quantitative Reasoning distributional requirement. 3. [CPSC 1340](https://catalog.yale.edu/search/?P=CPSC%201340 "CPSC 1340") provides an introduction to computer music, including musical representations for computing, automated music analysis and composition, interactive systems, and virtual instrument design. 4. [CPSC 1500](https://catalog.yale.edu/search/?P=CPSC%201500 "CPSC 1500") explores how some of the key ideas in computer science have affected philosophy of mind, cognitivism, connectionism, and related areas. This humanities-style course requires a significant amount of reading and writing a paper, and satisfies the Writing and the Humanities and Arts distributional requirements. 5. [CPSC 1510](https://catalog.yale.edu/search/?P=CPSC%201510 "CPSC 1510") studies the history of the graphical user interface in an attempt to guess its future. This course satisfies the Writing distributional requirement. 6. [CPSC 1750](https://catalog.yale.edu/search/?P=CPSC%201750 "CPSC 1750") studies the C programming language and the Linux operating system. This course satisfies the Quantitative Reasoning requirement. 7. [CPSC 1830](https://catalog.yale.edu/search/?P=CPSC%201830 "CPSC 1830") explores the myriad ways that law and technology intersect, with a special focus on the role of cyberspace. This course satisfies the Social Sciences distributional requirement. 8. [CPSC 1840](https://catalog.yale.edu/search/?P=CPSC%201840 "CPSC 1840") focuses on the evolving and oftentimes vexing intellectual property regime of the new digital age. This course satisfies the Social Sciences and the Humanities and Arts distributional requirements. 9. [CPSC 1850](https://catalog.yale.edu/search/?P=CPSC%201850 "CPSC 1850") covers the evolution of various legal doctrines with and around technological development. This course satisfies the Social Sciences and the Writing distributional requirements. 10. [CPSC 2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000"), intended as a survey course for non-majors, focuses on practical applications of computing technology while examining topics including computer hardware, computer software, and related issues such as security and software engineering. This course satisfies the Quantitative Reasoning distributional requirement. 11. [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") teaches the basic concepts, techniques, and applications of computer science, including systems (computers and their languages) and theory (complexity and computability). Students with sufficient programming experience may elect [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") without taking [CPSC 1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001"). (These courses meet at the same time so that students are easily able to change levels if necessary.) This course satisfies the Quantitative Reasoning distributional requirement. 12. [CPSC 2020](https://catalog.yale.edu/search/?P=CPSC%202020 "CPSC 2020") presents the formal methods of reasoning and the concepts of discrete mathematics and linear algebra used in computer science and related disciplines. This course satisfies the Quantitative Reasoning distributional requirement. ## Certificate in Programming **Certificate director:** [Stephen Slade](mailto:stephen.slade@yale.edu); [cpsc.yale.edu](https://www.cs.yale.edu/dus/Certificate.html) The Certificate in Programming prepares students to program computers in support of work in any area of study. While the certificate does not provide the grounding in theory and systems that the computer science majors do, it does provide a short path to programming literacy that can be completed in a span of four terms. Majors in Computer Science, and in the joint programs with Economics, Electrical Engineering, Mathematics, and Psychology, or in Computing and the Arts may not pursue the Certificate. Refer to the [Computer Science website](https://statistics.yale.edu/academics/certificate-data-science) for more information. #### Prerequisite The prerequisite for the Certificate is an introductory programming course, [CPSC 1100](https://catalog.yale.edu/search/?P=CPSC%201100 "CPSC 1100"), [1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001"), [S115](https://catalog.yale.edu/search/?P=CPSC%20S115 "CPSC S115") or successful completion of an AP Computer Science course. #### Requirements of the Certificate [See Links](https://catalog.yale.edu/ycps/attributes/) to the attributes indicating courses approved for certificate requirements. Students may not use any of the five required courses, indicated below, to satisfy the requirements of any major or other certificate. If such a course is required for another program, the student must substitute another course from the same category or a more advanced one for the Programming Certificate. No course may be used to satisfy more than one of the five required courses. **Programming** One from [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") or [CPSC 2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000") **Data structures** [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") **Advanced programming** One from [CPSC 3270](https://catalog.yale.edu/search/?P=CPSC%203270 "CPSC 3270") or [CPSC 3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") **A programming elective** A CPSC course with [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230") as a listed or implied prerequisite and a primary focus on programming (such as [CPSC 4180](https://catalog.yale.edu/search/?P=CPSC%204180 "CPSC 4180"), [4210](https://catalog.yale.edu/search/?P=CPSC%204210 "CPSC 4210"), [4230](https://catalog.yale.edu/search/?P=CPSC%204230 "CPSC 4230"), [4240](https://catalog.yale.edu/search/?P=CPSC%204240 "CPSC 4240"), [4330](https://catalog.yale.edu/search/?P=CPSC%204330 "CPSC 4330"), [4370](https://catalog.yale.edu/search/?P=CPSC%204370 "CPSC 4370"), [4390](https://catalog.yale.edu/search/?P=CPSC%204390 "CPSC 4390"), [4460](https://catalog.yale.edu/search/?P=CPSC%204460 "CPSC 4460"), or [4780](https://catalog.yale.edu/search/?P=CPSC%204780 "CPSC 4780")) or a second course that satisfies the advanced programming requirement **An applications or algorithms elective** Either a programming in context course that requires significant programming (such as [CPSC 3340](https://catalog.yale.edu/search/?P=CPSC%203340 "CPSC 3340"), [3760](https://catalog.yale.edu/search/?P=CPSC%203760 "CPSC 3760"), [4310](https://catalog.yale.edu/search/?P=CPSC%204310 "CPSC 4310"), [4320](https://catalog.yale.edu/search/?P=CPSC%204320 "CPSC 4320"), [4740](https://catalog.yale.edu/search/?P=CPSC%204740 "CPSC 4740"), [4770](https://catalog.yale.edu/search/?P=CPSC%204770 "CPSC 4770"), [4790](https://catalog.yale.edu/search/?P=CPSC%204790 "CPSC 4790"), or [LING 3800](https://catalog.yale.edu/search/?P=LING%203800 "LING 3800")) or a course in algorithms (such as [CPSC 3650](https://catalog.yale.edu/search/?P=CPSC%203650 "CPSC 3650") or [3660](https://catalog.yale.edu/search/?P=CPSC%203660 "CPSC 3660")) **Credit/D/Fail** No course taken Credit/D/Fail may be applied toward the requirements of the certificate. #### Advising Ozan Erat from the Department of Computer Science advises students pursuing the Certificate. Exceptions to the requirements, other than the substitution of a more advanced course for a required one, are limited. #### Summary of Requirements **Prerequisite** [CPSC 1100](https://catalog.yale.edu/search/?P=CPSC%201100 "CPSC 1100"), [1001](https://catalog.yale.edu/search/?P=CPSC%201001 "CPSC 1001"), [S115](https://catalog.yale.edu/search/?P=CPSC%20S115 "CPSC S115") or AP Computer Science course **Number of courses** 5 term courses **Specific courses required** [CPSC 2010](https://catalog.yale.edu/search/?P=CPSC%202010 "CPSC 2010") or [2000](https://catalog.yale.edu/search/?P=CPSC%202000 "CPSC 2000"); [CPSC 2230](https://catalog.yale.edu/search/?P=CPSC%202230 "CPSC 2230"); [CPSC 3270](https://catalog.yale.edu/search/?P=CPSC%203270 "CPSC 3270") or [3230](https://catalog.yale.edu/search/?P=CPSC%203230 "CPSC 3230") **Distribution of courses** 2 electives, as specified #### FACULTY OF THE DEPARTMENT OF COMPUTER SCIENCE **Professors** Dana Angluin (*Emeritus*), James Aspnes, \*Dirk Bergemann, Abhishek Bhattacharjee, Julie Dorsey, Joan Feigenbaum, Michael Fischer, David Gelernter, \*Mark Gerstein, Theodore Kim, †Vladimir Rokhlin, Holly Rushmeier, Brian Scassellati, Martin Schultz *(Emeritus),* Zhong Shao, Avi Silberschatz, †Daniel Spielman, Nisheeth Vishnoi, Y. Richard Yang, Lin Zhong, †Steven Zucker **Associate Professors** Yang Cai, Smita Krishnaswamy, Charalampos Papamanthou, Ruzica Piskac, Robert Soulé **Assistant Professors** \*Kim Blenman, Arman Cohan, Yongshan Ding, Benjamin Fisch, Tesca Fitzgerald, Anurag Khandelwal, Quanquan Liu, Daniel Rakita, Katerina Sotiraki, Marynel Vázquez, Andre Wibisono, Alex Wong, Rex Ying, Manolis Zampetakis, Fan Zhang **Senior Research Scientists** Robert Bjornson, Andrew Sherman **Senior Lecturers** James Glenn, Scott Petersen, Michael Shah, Stephen Slade **Lecturers** Timothy Barron, Andrew Bridy, Xiuye (Sue) Chen, Ozan Erat, Jay Lim, Dylan McKay, Cody Murphey, Sohee Park, Brad Rosen, Inyoung Shin, Alan Weide, Cecillia Xie \*A secondary appointment with a primary affiliation in another department or school. †A joint appointment with primary affiliation in another department or school. For a complete list of Computer Science Department personnel, visit the [department website](https://cpsc.yale.edu/). See the [Roadmap Library](https://registrar.yale.edu/major-roadmaps-library) for a visual representation of the major. [View Courses](https://courses.yale.edu/?srcdb=guide25&subject=CPSC&col=YC "New Window") [Yale](http://www.yale.edu/) [Accessibility at Yale](https://usability.yale.edu/web-accessibility/accessibility-yale) [Privacy policy](https://www.yale.edu/privacy-policy "Yale Privacy policy") Copyright ©2025 Yale University All rights reserved [Contact Us](mailto:registrar@yale.edu) - [Facebook](https://www.facebook.com/YaleUniversity) - [Twitter](http://www.twitter.com/YalePrinter) - [YouTube](http://www.youtube.com/yale) - [Sina Weibo](http://weibo.com/yaleuniversity) - [Tumblr](http://yaleuniversity.tumblr.com/) Close this window ## Print Options - [Send Page to Printer](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/) Print this page. - [Download Page (PDF)](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/computer-science.pdf) The PDF will include all information unique to this page. - [Download Overview (PDF)](https://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/computer-science_text.pdf) The PDF will include content on the Overview tab only. - [Download 2025-26 YCPS PDF](https://catalog.yale.edu/pdf/ycps-2025-2026.pdf) All pages in YCPS Catalog.
Readable Markdownnull
Shard30 (laksa)
Root Hash10483914758265783230
Unparsed URLedu,yale!catalog,/ycps/subjects-of-instruction/computer-science/ s443