Computer Science. Program Requirements. Approved Programs. Approved Computer Science Program. Computer Science 1

Similar documents
Undergraduate Program Guide. Bachelor of Science. Computer Science DEPARTMENT OF COMPUTER SCIENCE and ENGINEERING

GRADUATE PROGRAM Department of Materials Science and Engineering, Drexel University Graduate Advisor: Prof. Caroline Schauer, Ph.D.

ARTICULATION AGREEMENT

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

DOCTOR OF PHILOSOPHY IN ARCHITECTURE

DEPARTMENT OF PHYSICAL SCIENCES

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS

Program Elements Definitions and Structure

INDIVIDUALIZED STUDY, BIS

B.S/M.A in Mathematics

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Anthropology Graduate Student Handbook (revised 5/15)

GRADUATE STUDENT HANDBOOK Master of Science Programs in Biostatistics

MANAGEMENT, BS. Administration. Policies Academic Policies. Admissions & Policies. Termination from the Major. . University Consortium

MASTER OF ARCHITECTURE

Evaluation of a College Freshman Diversity Research Program

Millersville University Degree Works Training User Guide

LINGUISTICS. Learning Outcomes (Graduate) Learning Outcomes (Undergraduate) Graduate Programs in Linguistics. Bachelor of Arts in Linguistics

Course Selection for Premedical Students (revised June 2015, with College Curriculum updates)

Doctor in Engineering (EngD) Additional Regulations

Mathematics Program Assessment Plan

Handbook for Graduate Students in TESL and Applied Linguistics Programs

Florida A&M University Graduate Policies and Procedures

Master of Science (MS) in Education with a specialization in. Leadership in Educational Administration

Navigating the PhD Options in CMS

SYRACUSE UNIVERSITY and BELLEVUE COLLEGE

INTERDISCIPLINARY STUDIES FIELD MAJOR APPLICATION TO DECLARE

GRADUATE PROGRAM IN ENGLISH

Bachelor of Science. Undergraduate Program. Department of Physics

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

The Ohio State University. Colleges of the Arts and Sciences. Bachelor of Science Degree Requirements. The Aim of the Arts and Sciences

Department of Rural Sociology Graduate Student Handbook University of Missouri College of Agriculture, Food and Natural Resources

Today s Presentation

Idaho Public Schools

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

TABLE OF CONTENTS Credit for Prior Learning... 74

Curriculum for the Bachelor Programme in Digital Media and Design at the IT University of Copenhagen

Admission ADMISSIONS POLICIES APPLYING TO BISHOP S UNIVERSITY. Application Procedure. Application Deadlines. CEGEP Applicants

General Admission Requirements for Ontario Secondary School Applicants presenting the Ontario High School Curriculum

Bachelor of Science in Mechanical Engineering with Co-op

GETTING READY FOR THE U A GUIDE FOR TRANSFERRING TO THE UNIVERSITY OF UTAH FOR BYU-IDAHO STUDENTS

EDINA SENIOR HIGH SCHOOL Registration Class of 2020

Ecole Polytechnique Fédérale de Lausanne EPFL School of Computer and Communication Sciences IC. School of Computer and Communication Sciences

GETTING READY FOR THE U A GUIDE FOR TRANSFERRING TO THE UNIVERSITY OF UTAH FOR BYU-IDAHO STUDENTS. How To Use This Guide.

Individual Interdisciplinary Doctoral Program Faculty/Student HANDBOOK

Math Pathways Task Force Recommendations February Background

Program Information on the Graduate Certificate in Alcohol and Drug Abuse Studies (CADAS)

DOCTOR OF PHILOSOPHY HANDBOOK

INTERDISCIPLINARY STUDIES FIELD MAJOR APPLICATION TO DECLARE

A&S/Business Dual Major

MASTER OF LIBERAL STUDIES

Contents: USC Upstate Majors

Degree Audit Self-Service For Students 1

Admission and Readmission

Data Glossary. Summa Cum Laude: the top 2% of each college's distribution of cumulative GPAs for the graduating cohort. Academic Honors (Latin Honors)

Linguistics. The School of Humanities

Multiple Measures Assessment Project - FAQs

MASTER OF ARTS IN APPLIED SOCIOLOGY. Thesis Option

HEALTH INFORMATION ADMINISTRATION Bachelor of Science (BS) Degree (IUPUI School of Informatics) IMPORTANT:

MASTER OF EDUCATION DEGREE: PHYSICAL EDUCATION GRADUATE MANUAL

College of Engineering and Applied Science Department of Computer Science

Undergraduate Admissions Standards for the Massachusetts State University System and the University of Massachusetts. Reference Guide April 2016

MJC ASSOCIATE DEGREE NURSING MULTICRITERIA SCREENING PROCESS ADVISING RECORD (MSPAR) - Assembly Bill (AB) 548 (extension of AB 1559)

UC San Diego - WASC Exhibit 7.1 Inventory of Educational Effectiveness Indicators

University of North Dakota

Graduate/Professional School Overview

Post-Master s Certificate in. Leadership for Higher Education

New Jersey Institute of Technology Newark College of Engineering

Bachelor of Science in Engineering Technology in Construction Management Technology with Co-op

MATERIALS SCIENCE AND ENGINEERING GRADUATE MANUAL

Graduate Handbook Linguistics Program For Students Admitted Prior to Academic Year Academic year Last Revised March 16, 2015

Fall Semester Year 1: 15 hours

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Computer Science (CSE)

Introduction to CS 100 Overview of UK. CS September 2015

College of Education & Social Services (CESS) Advising Plan April 10, 2015

Bachelor of Science in Civil Engineering

School of Engineering Foothill College Transfer Guide

Testimony to the U.S. Senate Committee on Health, Education, Labor and Pensions. John White, Louisiana State Superintendent of Education

Timeline. Recommendations

Natural Sciences, B.S.

TEACHING AND EXAMINATION REGULATIONS (TER) (see Article 7.13 of the Higher Education and Research Act) MASTER S PROGRAMME EMBEDDED SYSTEMS

TRANSFER ARTICULATION AGREEMENT between DOMINICAN COLLEGE and BERGEN COMMUNITY COLLEGE

Bachelor Class

Honors Interdisciplinary Seminar

Department of Social Work Master of Social Work Program

Associate VP Judy Strong chaired the meeting because VP Bette Midgarden was off campus.

APPLICATION PROCEDURES

NOVIA UNIVERSITY OF APPLIED SCIENCES DEGREE REGULATIONS TRANSLATION

Sociology. Faculty. Emeriti. The University of Oregon 1

Academic Planning & Policies

Preparing for Medical School

Environmental Science BA

VISUAL AND PERFORMING ARTS, MFA

Biological Sciences, BS and BA

Office of Semester Conversion Cal Poly Pomona

SYRACUSE UNIVERSITY. and BELLEVUE COLLEGE

Bethune-Cookman University

CIN-SCHOLARSHIP APPLICATION

GRADUATE. Graduate Programs

Transcription:

Computer Science 1 Computer Science Department Website: https://www.cs.uchicago.edu Program of Study The computer science program prepares students for careers in computer science by offering BA and BS degrees, as well as combined BA/MS and BS/MS degrees. Students who earn the BA are prepared either for graduate study in computer science or a career in industry. Students who earn the BS degree build strength in an additional field by following an approved course of study in a related area. The department also offers a minor. Furthermore, a computer science major or minor serves as an excellent foundation for work in other areas, including but not limited to mathematics, the natural sciences, social sciences, public administration, and the arts. Program Requirements Both the BA and BS in computer science require fulfillment of the mathematical sciences requirement in general education by completing an approved two-quarter calculus sequence. The physical sciences requirement in general education must be satisfied by completing an approved two-quarter sequence in either chemistry or physics. Both BA and BS students take at least fourteen computer science courses chosen from an approved program. BS students also take three courses in an approved related field outside computer science. Approved Programs The computer science department counselor is responsible for approval of specific courses and sequences, and responds as needed to changing course offerings in our program and other programs. Students should consult the department counselor for details on specific courses they are considering taking to meet the requirements. Approved Computer Science Program There is one approved general program for both the BA and BS degrees, comprised of introductory courses, a sequence in Theory, and a sequence in Programming Languages and Systems, followed by advanced electives. Students may substitute upper-level or graduate courses in similar topics for those on the list that follows with the approval of the department counselor. Students who matriculated prior to Autumn 2016 may choose to follow these requirements; otherwise they should consult the archived catalog from their year of matriculation for the degree requirements in computer science. All students who matriculated in Autumn 2016 or later should follow this program. The course information in this catalog, with respect to who is teaching which course and in which quarter(s), is subject to change during the academic year. For up-to-date information on our course offerings, please consult http://courseinfo.cs.uchicago.edu. Students considering a computer science major are strongly advised to register for an introductory sequence, starting either with CMSC 15100 or CMSC 16100, in their first year. Incoming students should note that while CMSC 12100 can be used as the first course in the major, it is not open to first-year students, and it is not intended as an entry point for students who already know they want to major in computer science. Students who decide to pursue a computer science major or minor after completing CMSC 12100 may continue with either CMSC 15200-15400 or CMSC 12200-12300-15400. Note that CMSC 12200 does not meet the prerequisites for CMSC 15400. 1. Introductory Sequence (three courses required): CMSC 15100 Introduction to Computer Science I 100 or CMSC 16100 Honors Introduction to Computer Science I or CMSC 12100 Computer Science with Applications I CMSC 15200 Introduction to Computer Science II 100 or CMSC 16200 Honors Introduction to Computer Science II CMSC 15400 Introduction to Computer Systems 100 Students may only receive credit for one introductory programming sequence: CMSC 10500-10600 Fundamentals of Computer Programming I-II, CMSC 12100-12200 Computer Science with Applications I-II, CMSC 15100-15200 Introduction to Computer Science I-II, or CMSC 16100-16200 Honors Introduction to Computer Science I-II. Exceptions must be approved by the department counselor prior to taking the second sequence. Students may count only one of CMSC 12100 Computer Science with Applications I, CMSC 15100 Introduction to Computer Science I, and CMSC 16100 Honors Introduction to Computer Science I towards the 4200 units of credit required for graduation. The same is true for CMSC 12200 Computer Science with Applications II, CMSC 15200 Introduction to Computer Science II, and CMSC 16200 Honors Introduction to Computer Science II. Additionally, students who have taken CMSC 15200 or 16200 may not register for CMSC 12100. 2. Programming Languages and Systems Sequence (three courses required): Three of the following: CMSC 22001 Software Construction

2 Computer Science CMSC 22100 CMSC 22200 CMSC 22300 CMSC 22600 CMSC 23000 CMSC 23010 CMSC 23200 CMSC 23300 CMSC 23310 CMSC 23400 CMSC 23500 CMSC 23700 CMSC 23710 CMSC 23800 Programming Languages Computer Architecture Functional Programming Compilers for Computer Languages Operating Systems Parallel Computing Introduction to Computer Security Networks and Distributed Systems Advanced Distributed Systems Mobile Computing Introduction to Database Systems Introduction to Computer Graphics Scientific Visualization Game Construction 3. Theory Sequence (three courses required): Three of the following: CMSC 27100 or CMSC 27130 CMSC 27200 or CMSC 27230 CMSC 28000 or CMSC 28100 Discrete Mathematics Honors Discrete Mathematics Theory of Algorithms Honors Theory of Algorithms Introduction to Formal Languages Introduction to Complexity Theory The graduate versions of Discrete Mathematics and/or Theory of Algorithms can be substituted for their undergraduate counterparts. We strongly encourage all majors to complete their theory courses by the end of their third year. 4. Electives (five courses required): The major requires five additional elective Computer Science courses numbered 20000 or above. Students may enroll in CMSC 29700 Reading and Research in Computer Science and CMSC 29900 Bachelor's Thesis for multiple quarters, but only one of each may be counted as a major elective. Summary of Requirements** GENERAL EDUCATION MATH 13100-13200 Elementary Functions and Calculus I-II (or higher) * 200 One of the following sequences: 200 CHEM 10100 & CHEM 10200 Introductory General Chemistry I and Introductory General Chemistry II (or higher or equivalent) * PHYS 13100-13200 Mechanics; Electricity and Magnetism (or higher) Total Units 400 * Credit may be granted by examination. Students with AP credit for PHYS 12100-12200 may use that to satisfy the general education requirement for the Physical Sciences. However, if a student is fulfilling this requirement through course enrollments, only PHYS 13100-13200 (or higher) will be accepted. MAJOR Introductory Sequence: 300 CMSC 15100 Introduction to Computer Science I or CMSC 16100 Honors Introduction to Computer Science I or CMSC 12100 Computer Science with Applications I CMSC 15200 Introduction to Computer Science II or CMSC 16200 Honors Introduction to Computer Science II CMSC 15400 Introduction to Computer Systems Programming Languages and Systems Sequence (three courses from the list above) 300 Theory Sequence (three courses from the list above) 300 Five electives numbered CMSC 20000 or above 500

Computer Science 3 Plus the following requirements: 0-300 BA (no other courses required) BS (three courses in an approved program in a related field) Total Units 1400-1700 ** Students who matriculated prior to Autumn 2016 may choose to follow these requirements; otherwise they should consult the archived catalog from their year of matriculation for the degree requirements in computer science. All students who matriculated in Autumn 2016 or later should follow this program. While a student may enroll in CMSC 29700 or CMSC 29900 for multiple quarters, only one instance of each may be counted toward the major. Grading Computer science majors must take courses in the major for quality grades. A grade of C- or higher must be received in each course in the major. Any 20000-level computer science course taken as an elective beyond requirements for the major may, with consent of instructor, be taken for P/F grading. Non-majors may take courses either for quality grades or, subject to College regulations and with consent of instructor, for P/F grading. A Pass grade is given only for work of C- quality or higher. Courses fulfilling general education requirements must be taken for quality grades. Incompletes are typically given in the Department of Computer Science only to students who have done at least 60 percent of the course's work of a passing quality and who are unable to complete all course work by the end of the quarter. Other restrictions on Incompletes are the province of individual instructors, many of whom do not permit Incompletes. To receive an Incomplete, students must make arrangements in advance with the instructor; a consent form to be signed by the instructor is available from the College adviser. Honors Students can earn a BA or BS degree with honors by attaining a grade of B or higher in all courses in the major and a grade of B or higher in three approved graduate computer science courses (30000-level and above). These courses may be courses taken for the major or as electives. Students may also earn a BA or BS degree with honors by attaining the same minimum B grade in all courses in the major and by writing a successful bachelor's thesis as part of CMSC 29900 Bachelor's Thesis. This thesis must be based on an approved research project that is directed by a faculty member and approved by the department counselor. Recommended Introductory Sequences in Computer Science The Department of Computer Science offers different introductory pathways into the program. In consultation with their College adviser and the Computer Science Department advisers, students should choose their introductory courses carefully. Some guidelines follow. Students interested in a technical introduction to computer science, without assuming prior experience or unusually strong preparation in mathematics, are encouraged to take CMSC 15100-15200 Introduction to Computer Science I-II. Students with programming experience and strong preparation in mathematics should consider CMSC 16100-16200 Honors Introduction to Computer Science I-II. Students majoring in quantitative fields other than computer science, including other sciences, mathematics, and economics, should consider CMSC 12100-12200 Computer Science with Applications I-II, possibly followed by CMSC 12300 Computer Science with Applications III. Students in the humanities and social sciences may consider CMSC 11000 Multimedia Programming as an Interdisciplinary Art I. Students interested in only one or two quarters of study should consider CMSC 12100-12200 Computer Science with Applications I-II. For students intending to pursue advanced study, we recommend CMSC 15100 Introduction to Computer Science I or CMSC 16100 Honors Introduction to Computer Science I as the first course. Students who are interested in web design should take CMSC 10100 Introduction to Programming for the World Wide Web I. Students may only receive credit for one introductory programming sequence: CMSC 12100-12200 Computer Science with Applications I-II, CMSC 15100-15200 Introduction to Computer Science I-II, or CMSC 16100-16200 Honors Introduction to Computer Science I-II. Exceptions must be approved by the department counselor prior to taking the second sequence. Students who have credit for any of the following courses (or equivalent) may not take CMSC 10200 Introduction to Programming for the World Wide Web II for credit: CMSC 10600 Fundamentals of Computer Programming II, CMSC 12100 Computer Science with Applications I, CMSC 15200 Introduction to Computer Science II, or CMSC 16200 Honors Introduction to Computer Science II. Please be aware that course information is volatile, and the catalog does not necessarily reflect the latest changes. Students should consult http://course-info.cs.uchicago.edu for up-to-date information.

4 Computer Science Minor Program in Computer Science The minor in computer science requires seven courses. The introductory sequence of three courses is followed by four approved upper-level courses. Courses in the minor must be taken for quality grades, with a grade of C- or higher in each course. Students may not use AP credit for computer science to meet requirements for the minor. No courses in the minor can be double counted with the student's major(s) or with other minors; nor can they be counted toward general education requirements. More than half of the requirements for the minor must be met by registering for courses bearing University of Chicago course numbers. The minor advisor must approve the student's minor consent form and the student must submit that form to their College adviser by the end of Spring Quarter of their third year. Introductory Courses Students must choose three courses from the following (one course each from Areas A, B, and C). Please note that not all possible pathways through these courses are valid: for example, CMSC 15200 is not a prerequisite for CMSC 12300. Please consult the prerequisite information below and/or talk to the minor advisor to discuss viable plans. Area A: 100 CMSC 12100 Computer Science with Applications I CMSC 15100 Introduction to Computer Science I CMSC 16100 Honors Introduction to Computer Science I Area B: 100 CMSC 12200 Computer Science with Applications II CMSC 15200 Introduction to Computer Science II CMSC 16200 Honors Introduction to Computer Science II Area C: 100 CMSC 12300 Computer Science with Applications III CMSC 15400 Introduction to Computer Systems Upper-Level Courses The computer science minor must include four courses chosen from among all 20000-level CMSC courses and above. CMSC 12300 may be used as an elective if a student has used CMSC 15400 as the Area C introductory course. A 20000- level course must replace each 10000-level course in the list above that was used to meet general education requirements. Joint BA/MS or BS/MS Program Outstanding undergraduates may apply to complete an MS in computer science along with a BA or BS (generalized to "Bx") during their four years at the College. Students must be admitted to the joint MS program. There are three different paths to a Bx/MS: a research-oriented program for computer science majors (Option 1 below), a professionally oriented program for computer science majors (Option 2), and a professionally oriented program for non-majors (Option 3). Participants in the Bx/MS program must meet the requirements for the BA or BS and complete nine courses for the MS, and, if applicable, a master's project. Students may double-count up to two courses towards both their Bx and MS degrees. By the conclusion of their third year, students must have completed 3900 of the 4200 units of credit required by the College, including all general education requirements. See www.cs.uchicago.edu/page/department-computer-science-bxms-program-admissions-requirements for details about the Bx/MS application process. To be considered for the program, students need to have earned a 3.5 GPA and have completed one of the following: one of CMSC 12100, CMSC 15100, or CMSC 16100 and one of CMSC 12200, CMSC 15200, or CMSC 16200 with at least a B+ average in the two, or one of CMSC 12100, CMSC 15100, or CMSC 16100 and one of CMSC 27100, CMSC 27130, or CMSC 37110 with at least a B+ average in the two. The detailed requirements of the three program options follow. Bx/MS Option 1: Research-Oriented Computer Science Majors Option 1 is designed for computer science majors who are interested in research. Students pursuing a Bx with a computer science major currently have to take at least fourteen courses chosen from an approved program, while obtaining an MS requires nine courses. The research-oriented option requires students to take a total of twenty-one courses: twelve that count only towards the Bx degree, seven that count only towards the MS, and two that count towards both the Bx and MS degrees. The nine courses required for the MS degree under Option 1 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, or CMSC 37100); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); one systems core course (course-info.cs.uchicago.edu/bxms); Machine Learning (CMSC 25400, CMSC 35400, or TTIC 31020); Research Practicum (Autumn); Research Practicum (Winter); and three electives. A current list of approved Option 1 electives is available at course-info.cs.uchicago.edu/bxms.

Computer Science 5 At most two courses can be drawn from the CMSC 20000-level course list, and at most two courses can be counted towards a student s computer science major and MS degree. Option 1 students are expected to take their electives from the Computer Science Department s CMSC 30000-level offerings and selected TTIC (Toyota Technological Institute at Chicago) offerings. Option 1 requires the completion of a master s project, as well as an accompanying written report and a public presentation. Master s projects must be overseen by a faculty member and evaluated by a committee of three faculty members, including the student s project advisor. Bx/MS Option 2: Professionally Oriented Computer Science Majors Option 2 is designed for computer science majors who are seeking the opportunity to build upon their foundational skills and take some industry-oriented electives. As with Option 1, computer science majors who are pursuing a joint Bx/ MS are required to take a total of twenty-one courses: twelve that count only towards the Bx degree, seven that count only towards the MS, and two that count towards both the Bx and MS degrees. The nine courses required for the MS degree under Option 2 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, or CMSC 37100); Algorithms (CMSC 27200, CMSC 27230, or CMSC 37000); two systems core courses (course-info.cs.uchicago.edu/bxms); and five electives. A current list of approved Option 2 electives is available at courseinfo.cs.uchicago.edu/bxms. At most two courses can be drawn from the CMSC 20000-level offerings, and at most two courses can be counted towards both a student s computer science major and MS degree. Option 2 allows students to take electives from the Computer Science Department s CMSC 30000-level and MPCS 50000-level offerings and selected TTIC offerings (see course-info.cs.uchicago.edu/bxms). With prior approval, Option 2 also allows one course from a graduate program outside of the Computer Science Department. Bx/MS Option 3: Professionally Oriented Non Computer Science Majors Option 3 is designed for students who are not computer science majors and wish to combine a professionally oriented MS in computer science with their undergraduate major. Students in this option are expected to complete nine courses, two of which can be also counted towards a student's BA or BS; students wishing to use these courses in their undergraduate major must obtain approval from their director of undergraduate studies. The nine courses required for the MS degree under Option 3 are as follows: Discrete Mathematics (CMSC 27100, CMSC 27130, CMSC 37100, or MPCS 50103) or Core Programming (MPCS 51036, MPCS 51040, or MPCS 51100); Algorithms (CMSC 27200, CMSC 27230, CMSC 37000, or MPCS 55001); three systems core courses (courseinfo.cs.uchicago.edu/bxms); and four electives. A current list of approved Option 3 electives is available at courseinfo.cs.uchicago.edu/bxms. At most two courses can be drawn from the department s CMSC 20000-level offerings. Option 3 allows students to take electives from the Computer Science Department s CMSC 20000-level, CMSC 30000- level, and MPCS 50000-level offerings and selected TTIC offerings (see course-info.cs.uchicago.edu/bxms). With prior approval, Option 3 also allows one course from a graduate program outside of the Computer Science Department. Graduate Courses Graduate courses and seminars offered by the Department of Computer Science are open to College students with consent of instructor and department counselor. For more information, consult the department counselor.

6 Computer Science

Computer Science 7 Font Notice This document should contain certain fonts with restrictive licenses. For this draft, substitutions were made using less legally restrictive fonts. Specifically: Times was used instead of Trajan. Times was used instead of Palatino. The editor may contact Leepfrog for a draft with the correct fonts in place.