School of Computer Science
Randy Bryant, Dean
Klaus Sutner, Associate Dean for Undergraduate Education
Tom Cortina, Assistant Dean for Undergraduate Education
Undergraduate Office: GHC 4115
http://www.csd.cs.cmu.edu/education/bscs/
Carnegie Mellon founded one of the first Computer Science departments in the world in 1965. Today, the Computer Science Department forms the centerpiece of the School of Computer Science, and is joined by the Entertainment Technology Center, the Human-Computer Interaction Institute, the Institute for Software Research, the Lane Center for Computational Biology, the Language Technologies Institute, the Machine Learning Department, and the Robotics Institute. Together, these units make the School of Computer Science a world leader in research and education.
The B.S. program in Computer Science combines a solid core of Computer Science courses with the ability to gain substantial depth in another area through a required minor in a second subject. In addition, the curriculum provides numerous choices for science and humanities courses. As computing is a discipline with strong links to many fields, this provides students with unparalleled flexibility to pursue allied (or non-allied) interests. The curriculum's mathematics and probability component ensures that students have the formal tools to remain current as technologies and systems change, rather than be limited by a narrow focus on programming alone. At the same time, students gain insight into the practical issues of building and maintaining systems by participating in intensive project-oriented courses. Due to the tremendous number of ongoing research projects within the School, many students obtain part-time or summer jobs, or receive independent study credit, working on research while pursuing their undergraduate degree. Students seeking a research/graduate school career may pursue an intensive course of research, equivalent to four classroom courses, culminating in the preparation of a senior research honors thesis.
Students apply to, and are directly admitted into, the undergraduate program in Computer Science and, upon successful completion, are awarded a Bachelor of Science in Computer Science. Suitably prepared students from other Carnegie Mellon colleges are eligible to apply for internal transfer to the School of Computer Science and will be considered for transfer if space is available. Computation-oriented programs are also available within the Departments of Biology, Chemistry, Physics, Electrical and Computer Engineering, Information Systems, Philosophy, Psychology, and Design. We also offer a B.S. degree in Computational Biology and joint degrees with the College of Fine Arts in Computer Science and Arts as well as Music and Technology. SCS offers a double major in Human-Computer Interaction and minors in Computational Biology, Language Technologies, Neural Computation, Robotics, and Software Engineering.
NOTE: In the Fall, 2010 semester, the Computer Science Department changed its introductory sequence by offering three new courses: 15-122, 15-150, 15-210, that replaced the old 15-121, 15-212, and 15-211, respectively. The focus of the new courses is on reasoning about programs (and programming) as much as it is on programming itself. Thus, the Fall 2010 (and beyond) curriculum requirements for the CS major have changed substantively from those in the past.
Curriculum - B.S. in Computer Science
Computer Science
| Computer Science Core: | Units | |
| 15-128 | Freshman Immigration Course | 1 |
| 15-122 | Principles of Imperative Computation (requires 21-127 [CS majors take 15-151 in F12] as a co-req; students with no prior programming experience take 15-112 before 15-122) | 10 |
| 15-150 | Principles of Functional Programming | 10 |
| 15-210 | Parallel and Sequential Data Structures and Algorithms | 12 |
| 15-213 | Introduction to Computer Systems | 12 |
| 15-251 | Great Theoretical Ideas in Computer Science | 12 |
| 15-451 | Algorithm Design and Analysis | 12 |
| One Communcations course: | Units | |
| 15-221 | Technical Communication for Computer Scientists | 9 |
| One Algorithms Complexity elective: | ||
| 15-354 | Computational Discrete Mathematics | 12 |
| 15-355 | Modern Computer Algebra | 9 |
| 15-453 | Formal Languages, Automata, and Computability | 9 |
| 21-301 | Combinatorics | 9 |
| 21-484 | Graph Theory | 9 |
| others as designated | ||
| One Applications elective: | ||
| 02-450 | Automation of Biological Research | 9 |
| 05-391 | Designing Human Centered Software | 12 |
| 05-431 | Software Structures for User Interfaces (plus one of the 05-433 User Interface Labs) | 6 |
| 10-601 | Machine Learning | 12 |
| 11-411 | Natural Language Processing | 12 |
| 15-313 | Foundations of Software Engineering | 12 |
| 15-322 | Introduction to Computer Music | 9 |
| 15-323 | Computer Music Systems and Information Processing | 9 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-385 | Computer Vision | 9 |
| 15-415 | Database Applications | 12 |
| 15-462 | Computer Graphics | 12 |
| 16-384 | Robot Kinematics and Dynamics | 12 |
| others as designated | ||
| One Logics Languages elective: | ||
| 15-312 | Foundations of Programming Languages | 12 |
| 15-317 | Constructive Logic | 9 |
| 15-414 | Bug Catching: Automated Program Verification and Testing | 9 |
| 21-300 | Basic Logic | 9 |
| 80-311 | Undecidability and Incompleteness | 9 |
| others as designated | ||
| One Software Systems elective: | ||
| 15-410 | Operating System Design and Implementation | 12 |
| 15-411 | Compiler Design | 12 |
| 15-418 | Parallel Computer Architecture and Programming | 12 |
| 15-440 | Distributed Systems | 12 |
| 15-441 | Computer Networks | 12 |
| others as designated | ||
| Two Computer Science electives: | Units | |
| These electives can be from any SCS department: CSD (15-xxx), Lane Center (02-), HCII (05-), ISR (08-, 17-), MLD (10-), LTI (11-), RI (16-) | 18 | |
Mathematics/Probability
| 21-120 | Differential and Integral Calculus | 10 |
| 21-122 | Integration, Differential Equations and Approximation | 10 |
| 21-127 | Concepts of Mathematics [CS majors take 15-151 in F12] | 10 |
| one of the following Linear Algebra courses: | ||
| 21-241 | Matrices and Linear Transformations | 10 |
| 21-242 | Matrix Theory | 10 |
| 21-341 | Linear Algebra | 9 |
| one of the following Probability courses: | ||
| 15-359 | Probability and Computing | 12 |
| 21-325 | Probability | 9 |
| 36-217 | Probability Theory and Random Processes | 9 |
| 36-225 | Introduction to Probability Theory | 9 |
Engineering and Natural Sciences
Four engineering or science courses are required, of which at least one must have a laboratory component and at least two must be from the same department. At present, courses meeting the lab requirement are:
| 09-101 | Introduction to Experimental Chemistry | 3 |
| 15-321 | Research Methods for Experimental Computer Science | 9 |
| 27-100 | Engineering the Materials of the Future | 12 |
| 33-104 | Experimental Physics | 9 |
| 85-310 | Research Methods in Cognitive Psychology | 9 |
The following MCS and CIT courses cannot be used to satisfy the Engineering and Natural Sciences requirement:
| 09-103 | Atoms, Molecules and Chemical Change | 9 |
| 09-104 | Fundamental Aspects of Organic Chemistry and Biochemistry | 9 |
| 18-202 | Mathematical Foundations of Electrical Engineering | 12 |
| 19-101 | Introduction to Engineering and Public Policy | 12 |
| 33-100 | Basic Experimental Physics | 6 |
| 33-115 | Physics for Future Presidents | 9 |
| 33-124 | Introduction to Astronomy | 9 |
| 39-100 | Special Topics: WHAT IS ENGINEERING? | 9 |
| 39-200 | Business for Engineers | 9 |
Humanities and Arts
All candidates for the bachelor's degree must complete a minimum of 63 units offered by the College of Humanities & Social Sciences and/or the College of Fine Arts as prescribed below:
A. Writing Requirement (9 units)
| Complete the following course: | ||
| 76-101 | Interpretation and Argument | 9 |
B. Breadth Requirement (27 units)
Complete three courses, one each from Category 1, Category 2, and Category 3:
| Category 1: Cognition, Choice and Behavior - this requirement explores the process of thinking, decision making, and behavior in the context of the individual. | ||
| 70-311 | Organizational Behavior | 9 |
| 80-130 | Introduction to Ethics | 9 |
| 80-150 | Nature of Reason | 9 |
| 80-180 | Nature of Language | 9 |
| 80-221 | Philosophy of Social Science | 9 |
| 80-230 | Ethical Theory | 9 |
| 80-241 | Ethical Judgments in Professional Life | 9 |
| 80-270 | Philosophy of Mind | 9 |
| 80-275 | Metaphysics | 9 |
| 80-281 | Language and Thought | 9 |
| 85-102 | Introduction to Psychology | 9 |
| 85-211 | Cognitive Psychology | 9 |
| 85-221 | Principles of Child Development | 9 |
| 85-241 | Social Psychology | 9 |
| 85-251 | Personality | 9 |
| 85-261 | Abnormal Psychology | 9 |
| 88-120 | Reason, Passion and Cognition | 9 |
| 88-260 | Organizations | 9 |
| Category 2: Economic, Political and Social Institutions - this requirement explores the processes by which institutions organize individual preferences and actions into collective outcomes. | ||
| 19-101 | Introduction to Engineering and Public Policy | 12 |
| 36-303 | Sampling, Survey and Society | 9 |
| 70-332 | Business, Society and Ethics | 9 |
| 73-100 | Principles of Economics | 9 |
| 73-230 | Intermediate Microeconomics | 9 |
| 73-240 | Intermediate Macroeconomics | 9 |
| 79-331 | Body Politics: Women and Health in America | 9 |
| 79-335 | Drug Use and Drug Policy | 9 |
| 80-135 | Introduction to Political Philosophy | 9 |
| 80-136 | Social Structure, Public Policy & Ethics | 9 |
| 80-235 | Political Philosophy | 9 |
| 80-243 | Business Ethics | 6 |
| 80-244 | Environmental Ethics | 9 |
| 80-245 | Medical Ethics | 9 |
| 80-341 | Computers, Society and Ethics | 9 |
| 88-104 | Decision Processes in American Political Institutions | 9 |
| 88-110 | Experiments with Economic Principles | 9 |
| 88-205 | Comparative Politics | 9 |
| 88-220 | Policy Analysis I | 9 |
| 88-326 | Theories of International Relations | 9 |
| Category 3: Cultural Analysis - this requirement seeks to recognize cultures that have shaped and continue to shape the human experience; courses in this category are usually either broad in place, time, or cultural diversity. | ||
| 57-173 | Survey of Western Music History | 9 |
| 60-205 | Modern Visual Culture 1789-1945 | 9 |
| 70-342 | Managing Across Cultures | 9 |
| 76-227 | Comedy | 9 |
| 76-232 | African American Literature | 9 |
| 76-239 | Introduction to Film Studies | 9 |
| 76-241 | Introduction to Gender Studies | 9 |
| 79-104 | Global Histories | 9 |
| 79-113 | Culture and Identity in American Society | 9 |
| 79-207 | Development of European Culture | 9 |
| 79-222 | Between Revolutions: The Development of Modern Latin America | 9 |
| 79-226 | Introduction to African History: Earliest Times to 1780 | 9 |
| 79-240 | The Development of American Culture | 9 |
| 79-241 | African American History: Africa to the Civil War | 9 |
| 79-242 | Topics in African American History: Reconstruction to the Present | 9 |
| 79-255 | Irish History | 9 |
| 79-261 | Chinese Culture and Society | 9 |
| 79-281 | Introduction to Religion | 9 |
| 79-311 | Introduction to Anthropology | 9 |
| 79-345 | The Roots of Rock and Roll, 1870-1970 | 9 |
| 79-350 | Early Christianity | 9 |
| 79-368 | Poverty, Charity, and Welfare | 9 |
| 80-100 | Introduction to Philosophy | 9 |
| 80-250 | Ancient Philosophy | 9 |
| 80-251 | Modern Philosophy | 9 |
| 80-253 | Continental Philosophy | 9 |
| 80-254 | Analytic Philosophy | 9 |
| 80-255 | Pragmatism | 9 |
| 80-261 | Empiricism and Rationalism | 9 |
| 80-276 | Philosophy of Religion | 9 |
| 82-273 | Introduction to Japanese Language and Culture | 9 |
| 82-293 | Introduction to Russian Culture | 9 |
| 82-303 | French Culture | 9 |
| 82-304 | The Francophone World | 9 |
| 82-333 | Introduction to Chinese Language and Culture | Var. |
| 82-342 | Spain: Language and Culture | 9 |
| 82-343 | Latin America: Language and Culture | 9 |
| 82-344 | U.S. Latinos: Language and Culture | 9 |
| 82-345 | Introduction to Hispanic Literary and Cultural Studies | 9 |
C. Humanities and Arts Electives (27 units)
Complete 3 non-technical courses of at least 9 units each from any of the departments in the College of Humanities & Social Sciences or the College of Fine Arts or from the Department of Business Administration. Some of the courses taught in these units are considered technical courses and may not be used to satisfy this requirement. The complete list of additions and deletions can be found at http://www.csd.cs.cmu.edu/education/bscs/humanities-arts.html.
Required Minor
A sequence of courses proscribed by the requirements of the particular department. Completion of a second major (or double degree) also satisfies this requirement. If permitted by the minor or second major department, courses taken in satisfaction of the minor or second major may also count toward any category other than Computer Science.
Computing @ Carnegie Mellon
The following course is required of all students to familiarize them with the campus computing environment:
| 99-10x | Computing @ Carnegie Mellon | 3 |
Free Electives
A free elective is any Carnegie Mellon course. However, a maximum of nine units of Physical Education and/or Military Science (ROTC) and/or Student-Led (StuCo) courses may be used toward fulfilling graduation requirements.
Summary of Degree Requirements:
| Area | Courses | Units |
| Computer Science | 13 | 135 |
| Math/Statistics | 5 | 48 |
| Engineering/Science | 4 | 36 |
| Humanities/Arts | 7 | 63 |
| Minor/Free electives | 7 | 75 |
| Computing @ Carnegie Mellon | 1 | 3 |
| 360 |
Suggested Course Sequence
Freshman Year:
| Fall | Units | |
| 15-122 | Principles of Imperative Computation | 10 |
| 15-128 | Freshman Immigration Course | 1 |
| 21-120 | Differential and Integral Calculus | 10 |
| 21-127 | Concepts of Mathematics | 10 |
| 76-101 | Interpretation and Argument | 9 |
| 99-10x | Computing Skills Workshop | 3 |
| xx-xxx | Science/Engineering Course | 9 |
| 52 | ||
| Spring | Units | |
| 15-150 | Principles of Functional Programming | 10 |
| 15-251 | Great Theoretical Ideas in Computer Science | 12 |
| 21-122 | Integration, Differential Equations and Approximation | 10 |
| xx-xxx | Science/Engineering Course | 9 |
| xx-xxx | Humanities and Arts Elective | 9 |
| 50 | ||
Sophomore Year:
| Fall | Units | |
| 15-210 | Parallel and Sequential Data Structures and Algorithms | 12 |
| 21-241 | Matrices and Linear Transformations | 10 |
| xx-xxx | Science/Engineering Course | 9 |
| xx-xxx | Humanities and Arts Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 49 | ||
| Spring | Units | |
| 15-213 | Introduction to Computer Systems | 12 |
| 15-xxx | Computer Science Elective | 9 |
| xx-xxx | Science/Engineering Course | 9 |
| xx-xxx | Humanities and Arts Electivs | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 48 | ||
Junior Year:
| Fall | Units | |
| 15-451 | Algorithm Design and Analysis | 12 |
| 15-xxx | Computer Science Elective | 9 |
| xx-xxx | Probability Course | 9 |
| xx-xxx | Humanities and Arts Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 48 | ||
| Spring | Units | |
| 15-221 | Technical Communication for Computer Scientists | 9 |
| 15-xxx | Computer Science Elective | 12 |
| 15-xxx | Computer Science Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 39 | ||
Senior Year:
| Fall | Units | |
| 15-xxx | Computer Science Elective | 12 |
| xx-xxx | Humanities and Arts Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 39 | ||
| Spring | Units | |
| 15-xxx | Computer Science Elective | 9 |
| xx-xxx | Humanities and Arts Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| xx-xxx | Minor Requirement / Free Elective | 9 |
| 36 | ||
360Minimum number of units required for the degree:
Non-minor Elective Options
The flexibility in the curriculum allows many different schedules, of which the above is only one possibility. Students should consult with their academic advisor to determine the best elective options depending on their academic interests and career goals. In particular, the School of Computer Science offers a Double Major in Human-Computer Interaction as well as numerous computing-oriented Minors available to majors and non-majors alike. For students whose interests lie in other areas of Computer Science, we offer the following recommendations of elective choices that might be made for particular areas of interest. These are merely suggestions and are subject to change:
Artificial Intelligence
| 10-601 | Machine Learning | 12 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-384 | Robotic Manipulation | 12 |
| 15-385 | Computer Vision | 9 |
| 80-314 | Logic and Artificial Intelligence | 9 |
| 85-211 | Cognitive Psychology | 9 |
| 85-213 | Human Information Processing and Artifical Intelligence | 9 |
| 85-419 | Introduction to Parallel Distributed Processing | 9 |
Cognitive Modeling
| 05-432 | Cognitive Modeling and Intelligent Tutoring Systems | Var. |
| 85-211 | Cognitive Psychology | 9 |
| 85-213 | Human Information Processing and Artifical Intelligence | 9 |
| 85-392 | Human Expertise | 9 |
| 85-412 | Cognitive Modeling | 9 |
Computer Systems
| 15-410 | Operating System Design and Implementation | 12 |
| 15-411 | Compiler Design | 12 |
| 15-412 | Operating System Practicum | -1 |
| 15-418 | Parallel Computer Architecture and Programming | 12 |
| 15-441 | Computer Networks | 12 |
| 15-610 | Engineering Distributed Systems | 12 |
| 18-240 | Structure and Design of Digital Systems | 12 |
| 18-348 | Embedded Systems Engineering | 12 |
| 18-447 | Introduction to Computer Architecture | 12 |
| 18-549 | Embedded Systems Design | 12 |
Graphics
| 15-462 | Computer Graphics | 12 |
| 15-463 | Computational Photography | 12 |
| 15-464 | Technical Animation | 12 |
| 15-465 | Animation Art and Technology | 12 |
| 15-466 | Computer Game Programming | 12 |
Theory
| 15-312 | Foundations of Programming Languages | 12 |
| 15-317 | Constructive Logic | 9 |
| 15-354 | Computational Discrete Mathematics | 12 |
| 15-355 | Modern Computer Algebra | 9 |
| 15-414 | Bug Catching: Automated Program Verification and Testing | 9 |
| 15-453 | Formal Languages, Automata, and Computability | 9 |
| 21-341 | Linear Algebra | 9 |
| 21-355 | Principles of Real Analysis I | 9 |
| 21-373 | Algebraic Structures | 9 |
| 21-374 | Field Theory | 9 |
| 21-441 | Number Theory | 9 |
| 21-600 | Mathematical Logic I | 12 |
Senior Research Thesis
Students considering going on to graduate school in Computer Science should take a wide variety of Computer Science and Mathematics courses, as well as consider getting involved in independent research as early as possible. This would be no later than the junior year and can begin even earlier. Students interested in grad school should also consider participating in the Senior Research Thesis program. Additionally, graduate CS courses can be taken with permission of the instructor.
The goal of the Senior Research Thesis Program is to introduce students to the breadth of tasks involved in independent research, including library work, problem formulation, experimentation, and writing and speaking. In particular, students present a brief midterm progress report each semester, present a public poster session in December, present an oral summary in the year-end university-wide Undergraduate Research Symposium and submit a written thesis in May. Students work closely with faculty advisors to plan and carry out their projects. Projects span the entire senior year, and students receive 18 units of academic credit each semester. Nine of these 18 can be counted toward CS elective requirements, and nine as free elective credits; hence, for most students, the thesis program replaces two courses per semester.
SCS Additional Majors and Minors
The School of Computer Science offers an Additional Major in Computer Science, Human-Computer Interaction, and Robotics. It also offers Minors in Computer Science, Computational Biology, Language Technologies, Neural Computation, Robotics, and Software Engineering.
Computer Science Additional Major
The following courses are required for the Additional Major in Computer Science:
| Prerequisites: | Units | |
| 15-112 | Fundamentals of Programming and Computer Science | 12 |
| 15-122 | Principles of Imperative Computation (requires 21-127 as a co-req) | 10 |
| 15-150 | Principles of Functional Programming | 10 |
| 21-120 | Differential and Integral Calculus | 10 |
| 21-122 | Integration, Differential Equations and Approximation | 10 |
| 21-127 | Concepts of Mathematics | 10 |
| Computer Science core: | Units | |
| 15-210 | Parallel and Sequential Data Structures and Algorithms | 12 |
| 15-213 | Introduction to Computer Systems | 12 |
| 15-251 | Great Theoretical Ideas in Computer Science | 12 |
| 15-451 | Algorithm Design and Analysis | 12 |
| One of the following Linear Algebra courses: | ||
| 21-241 | Matrices and Linear Transformations | 10 |
| 21-242 | Matrix Theory | 10 |
| 21-341 | Linear Algebra | 9 |
| One of the following Probability courses: | ||
| 15-359 | Probability and Computing | 12 |
| 21-325 | Probability | 9 |
| 36-217 | Probability Theory and Random Processes | 9 |
| 36-225 | Introduction to Probability Theory | 9 |
| One Communications course: | Units | |
| 15-221 | Technical Communication for Computer Scientists | 9 |
| One Algorithms & Complexity elective: | ||
| 15-354 | Computational Discrete Mathematics | 12 |
| 15-355 | Modern Computer Algebra | 9 |
| 15-453 | Formal Languages, Automata, and Computability | 9 |
| 21-301 | Combinatorics | 9 |
| 21-484 | Graph Theory | 9 |
| others as designated | ||
| One Applications elective: | ||
| 02-450 | Automation of Biological Research | 9 |
| 05-391 | Designing Human Centered Software | 12 |
| 05-431 | Software Structures for User Interfaces (plus one of the required User Interface Labs) | 6 |
| 10-601 | Machine Learning | 12 |
| 11-411 | Natural Language Processing | 12 |
| 15-313 | Foundations of Software Engineering | 12 |
| 15-322 | Introduction to Computer Music | 9 |
| 15-323 | Computer Music Systems and Information Processing | 9 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-385 | Computer Vision | 9 |
| 15-415 | Database Applications | 12 |
| 15-462 | Computer Graphics | 12 |
| 16-384 | Robot Kinematics and Dynamics | 12 |
| others as designated | ||
| One Logics & Languages elective: | ||
| 15-312 | Foundations of Programming Languages | 12 |
| 15-317 | Constructive Logic | 9 |
| 15-414 | Bug Catching: Automated Program Verification and Testing | 9 |
| 21-300 | Basic Logic | 9 |
| 80-311 | Undecidability and Incompleteness | 9 |
| others as designated | ||
| One Software Systems elective: | ||
| 15-410 | Operating System Design and Implementation | 12 |
| 15-411 | Compiler Design | 12 |
| 15-418 | Parallel Computer Architecture and Programming | 12 |
| 15-440 | Distributed Systems | 12 |
| 15-441 | Computer Networks | 12 |
| others as designated | ||
| Two Computer Science electives: | Units | |
| These electives can be from any SCS department: CSD (15-xxx), Lane Center (02-), HCII (05-), ISR (08-, 17-), MLD (10-), LTI (11-), RI (16-) | 18 | |
Computer Science Minor
The following courses are required for the Minor in Computer Science:
| Prerequisites: | Units | |
| 15-112 | Fundamentals of Programming and Computer Science | 12 |
| 21-127 | Concepts of Mathematics | 10 |
| Computer Science core courses: | Units | |
| 15-122 | Principles of Imperative Computation | 10 |
| 15-150 | Principles of Functional Programming | 10 |
| 15-210 | Parallel and Sequential Data Structures and Algorithms | 12 |
| One of the following Computer Science core courses: | ||
| 15-213 | Introduction to Computer Systems (requires 15-123 as a prerequisite) | 12 |
| 15-251 | Great Theoretical Ideas in Computer Science | 12 |
| Two Computer Science electives: | Units | |
| CS elective courses must be 15-213 or higher (except 15-221, which cannot be used); one can be from any SCS department, with prior approval. | 18 | |
Note: Since ECE students must take 15-213/18-213, they are required to take three CS electives; two can be from any SCS department with prior approval. This three-elective stricture applies to any student minoring in CS who is required to take 15-213/18-213 or 15-251 for their home major requirements.
Double-Counting Restriction
In order to avoid excessive double-counting, students pursuing a Double Major or Minor in Computer Science must complete at least 6 courses in their home department, of at least 9 units each, none of which are required by (or are cognates for requirements in) the Computer Science major.
Computational Biology Minor
Director: Dr. Ziv Bar-Joseph
Advisor: Dr. Karen Thickman
Admin Coordinator: Thom Gulish
Website: http://lane.compbio.cmu.edu/education/minor.html
The computational biology minor is open to students in any major of any college at Carnegie Mellon. The curriculum and course requirements are designed to maximize the participation of students from diverse academic disciplines. The program seeks to produce students with both basic computational skills and knowledge in biological sciences that are central to computational biology.
Why Minor in Computational Biology?
Computational Biology is concerned with solving biological and biomedical problems using mathematical and computational methods. It is recognized as an essential element in modern biological and biomedical research. There have been fundamental changes in biology and medicine over the past two decades due to spectacular advances in high throughput data collection for genomics, proteomics and biomedical imaging. The resulting availability of unprecedented amounts of biological data demands the application of advanced computational tools to build integrated models of biological systems, and to use them to devise methods of prevent or treat disease. Computational Biologists inhabit and expand the interface of computation and biology, making them integral to the future of biology and medicine.
A minor in Computational Biology will position students well for entering the job market and graduate school in this exciting and growing field.
Admission
Students must apply for admission no later than November 30 of their senior years; an admission decision will usually be made within one month. Students are encouraged to apply as early as possible in their undergraduate careers so that the advisor of the computational biology minor can provide advice on their curriculum.
To apply, send email to Dr. Ziv Bar-Joseph <zivbj at andrew.cmu.edu> and Dr. Karen Thickman <krthickman at cmu.edu>. Include in your email:
- Full name
- Andrew ID
- Preferred email address (if different)
- Your class and College/School at Carnegie Mellon
- Semester you intend to graduate
- All (currently) declared majors and minors
- Statement of purpose (maximum 1 page) — Describes why you want to take this minor and how it fits into your career goals
- Proposed schedule of courses for the minor (this is your plan, NOT a commitment)
Curriculum
The minor in computational biology requires a total of five courses: 3 core courses, 1 biology elective, and 1 computer science elective, for a total of 45 units.
Note: Courses in the minor may not be counted towards another SCS minor.
Human-Computer Interaction Additional Major
The undergraduate major in HCI is available only as an additional major. If you have questions, please contact the Academic Program Coordinator at hciibachelors@cs.cmu.edu.
Human-Computer Interaction (HCI) is devoted to the design, implementation, and evaluation of interactive computer-based technology. Examples of HCI products include intelligent computer tutors, wearable computers, and highly interactive web sites. Constructing an HCI product is a cyclic, iterative process that involves at least three stages.
For full details on the Additional Major in Human-Computer Interaction, see Intercollege Programs.
Language Technologies Minor
Chair: Alan W. Black
E-mail: awb@cs.cmu.edu
Website: http://www.lti.cs.cmu.edu/lti_minor
Human language technologies have become an increasingly central component of Computer Science in the last decade. Information retrieval, machine translation and speech technology are used daily by the general public, while text mining, natural language processing, and language-based tutoring are used regularly within more specialized professional or educational environments. The Language Technologies Minor allows students to learn about language technologies and apply them through a directed project.
Prerequisites
| Prerequisites | Units | |
| 15-122 | Principles of Imperative Computation | 10 |
| 15-150 | Principles of Functional Programming | 10 |
| Recommended | ||
| 21-241 | Matrices and Linear Transformations | 10 |
| or 21-341 | Linear Algebra | |
| 36-217 | Probability Theory and Random Processes | 9 |
Curriculum
| Core Course | ||
| 11-721 | Grammars and Lexicons | 12 |
| Electives (choose 3) | ||
| 15-492 | Special Topic: Speech Processing | 12 |
| 11-411 | Natural Language Processing | 12 |
| 11-441 | Search Engines and Web Mining | 12 |
| 11-711 | Algorithms for NLP | 12 |
| 11-731 | Machine Translation | 12 |
| 11-741 | Information Retrieval | 12 |
| 11-751 | Speech Recognition and Understanding | 12 |
| 11-752 | Speech II: Phonetics, Prosody, Perception and Synthesis | 12 |
| 11-761 | Language and Statistics | 12 |
| 80-180 | Nature of Language | 9 |
| or 80-280 | Linguistic Analysis | |
| Project (choose 1) | ||
| A semester-long directed research project OR paper to provide hands-on experience and an in-depth study of a topic (in same area as a chosen elective) | 12 | |
Example Course Sequence
The core gives a general introduction to language technologies, with an emphasis on natural language processing (NLP). The electives and project give in-depth experience in one or two specific language technologies. Though students would be able to mix and match as they see fit, one possible sequence is:
| Junior | Senior | ||
|---|---|---|---|
| Fall | Spring | Fall | Spring |
| Elective - if F elective | Elective (s) - if S elective(s) | 11-721 Grammars and Lexicons | Project |
| Elective - if F elective | |||
Double Counting of Courses
SCS undergraduates may use 11-721 Grammars and Lexicons as an elective for their CS degree and also as a required course for the LT minor. Courses in the minor may not be counted towards another SCS minor.
Machine Learning Minor
Chair: William W. Cohen
E-mail: ml-minor@cs.cmu.edu
Website: http://www.ml.cmu.edu/prospective-students/minor-in-machine-learning.html
Machine learning and statistical methods are increasingly used in many application areas including natural language processing, speech, vision, robotics, and computational biology. The Minor in Machine Learning allows undergraduates to learn about the core principles of this field.
Prerequisites
| Units | ||
| 15-122 | Principles of Imperative Computation | 10 |
| 21-122 | Integration, Differential Equations and Approximation | 10 |
| 36-217 | Probability Theory and Random Processes | 9 |
| or 36-225 | Introduction to Probability Theory | |
| or 21-325 | Probability | |
| or 15-359 | Probability and Computing | |
| 36-226 | Introduction to Statistical Inference | 9 |
Core Courses
| Units | ||
| 10-601 | Machine Learning | 12 |
| or 10-701 | Machine Learning | |
| 36-401 | Modern Regression | 9 |
Electives
| Total of 3 courses (36 units) from: | Units | |
| 10-701 | Machine Learning | 12 |
| 10-7xx | certain ML grad courses as specified on the Minor web page | |
| 10-xxx | year-long supervised research | |
| 36-315 | Statistical Graphics and Visualization | 9 |
| 36-402 | Advanced Data Analysis | 9 |
| 36-462 | Topics in Statistics: | 9 |
| 36-463 | Multilevel and Hierarchical Models | 9 |
| 36-464 | Topics in Statistics: Applied Multivariate Methods | 9 |
Additional electives can be found on the minor electives page.
Double Counting
Any course in the Machine Learning minor, other than the prerequisites, may not be counted towards another SCS minor.
Neural Computation Minor
Director: Dr. Tai Sing Lee
Administrative Coordinator: Melissa Stupka
Website: http://www.cnbc.cmu.edu/upnc/nc_minor/
The minor in Neural Computation is an intercollege minor jointly sponsored by the School of Computer Science, the Mellon College of Science, and the Dietrich College of Humanities and Social Sciences, and is coordinated by the Center for the Neural Basis of Cognition (CNBC).
The Neural Computation minor is open to students in any major of any college at Carnegie Mellon. It seeks to attract undergraduate students from computer science, psychology, engineering, biology, statistics, physics, and mathematics from SCS, CIT, Dietrich College and MCS. The primary objective of the minor is to encourage students in biology and psychology to take computer science, engineering and mathematics courses on the one hand, and to encourage students in computer science, engineering, statistics and physics to take courses in neuroscience and psychology on the other, and to bring students from different disciplines together to form a community. The curriculum and course requirements are designed to maximize the participation of students from diverse academic disciplines. The program seeks to produce students with both basic computational skills and knowledge in cognitive science and neuroscience that are central to computational neuroscience.
Curriculum
The minor in Neural Computation will require a total of five courses: four courses drawn from the four core areas (A: neural computation, B: neuroscience, C: cognitive psychology, D: intelligent system analysis), one from each area, and one additional depth elective chosen from one of the core areas that is outside the student's major. The depth elective can be replaced by a one-year research project in computational neuroscience. No more than two courses can be double counted toward the student's major or other minors. However, courses taken for general education requirements of the student's degree are not considered to be double counted. A course taken to satisfy one core area cannot be used to satisfy the course requirement for another core area. The following listing presents a set of current possible courses in each area. Other computational neuroscience courses are being developed at Carnegie Mellon and University of Pittsburgh that will also satisfy core area A requirement and the requirements will be updated as they come on-line. Substitution is possible but requires approval.
A. Neural Computation
| Units | ||
| 15-386 | Neural Computation | 9 |
| 15-883 | Computational Models of Neural Systems | 12 |
| 85-419 | Introduction to Parallel Distributed Processing | 9 |
| Pitt-Mathematics-1800 Introduction to Mathematical Neuroscience | 9 | |
B. Neuroscience
| 03-362 | Cellular Neuroscience | 9 |
| 03-363 | Systems Neuroscience | 9 |
| 03-761 | Neural Plasticity | 9 |
| 85-765 | Cognitive Neuroscience | Var. |
| Pitt-Neuroscience 1000 Introduction to Neuroscience | 9 | |
| Pitt-Neuroscience 1012 Neurophysiology | 9 | |
C. Cognitive Psychology
| 85-211 | Cognitive Psychology | 9 |
| 85-213 | Human Information Processing and Artifical Intelligence | 9 |
| 85-412 | Cognitive Modeling | 9 |
| 85-419 | Introduction to Parallel Distributed Processing | 9 |
| 85-428 | Neuro Basis of Cognitive Development | 9 |
| 85-765 | Cognitive Neuroscience | Var. |
D. Intelligent System Analysis
| 10-601 | Machine Learning | 12 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-385 | Computer Vision | 9 |
| 15-386 | Neural Computation | 9 |
| 15-486 | Artificial Neural Networks | 12 |
| 15-494 | Special Topic: Cognitive Robotics | 12 |
| 16-299 | Introduction to Feedback Control Systems | 12 |
| 16-311 | Introduction to Robotics | 12 |
| 24-352 | Dynamic Systems and Controls | 12 |
| 36-225 | Introduction to Probability Theory | 9 |
| 36-247 | Statistics for Lab Sciences | 9 |
| 36-401 | Modern Regression | 9 |
| 36-410 | Introduction to Probability Modeling | 9 |
Prerequisites
The required courses in the above four core areas require a number of basic prerequisites: basic programming skills at the level of , and basic mathematical skills at the level of 21-122 Integration, Differential Equations and Approximation or their equivalents. Some courses in Area D require additional prerequisites. Area B Biology courses require, at minimum, 03-121 Modern Biology. Students might skip the prerequisites if they have the permission of the instructor to take the required courses. Prerequisite courses are typically taken to satisfy the students' major or other requirements. In the event that these basic skill courses are not part of the prerequisite or required courses of a student's major, one of them can potentially count toward the five required courses (e.g. the depth elective), conditioned on approval.
Research Requirements (Optional)
The minor itself does not require a research project. The student however may replace the depth elective with a year-long research project. In special circumstances, a research project can also be used to replace one of the five courses, as long as (1) the project is not required by the student's major or other minor, (2) the student has taken a course in each of the four core areas (not necessarily for the purpose of satisfying this minor's requirements), and (3) has taken at least three courses in this curriculum not counted toward the student's major or other minors. Students interested in participating in the research project should contact any faculty engaged in computational neuroscience or neural computation research at Carnegie Mellon or in the University of Pittsburgh. A useful webpage that provides listing of faculty in neural computation and computational neuroscience is http://www.cnbc.cmu.edu/cnbc-directory/ . The director of the minor program will be happy to discuss with students about their research interest and direct them to the appropriate faculty.
Fellowship Opportunities
The Program in Neural Computation (PNC) administered by the Center for the Neural Basis of Cognition currently provides 3-4 competitive full-year fellowship ($11,000) to Carnegie Mellon undergraduate students to carry out mentored research in neural computation. The fellowship has course requirements similar to the requirements of the minor. Students do not apply to the fellowship program directly. They have to be nominated by the faculty members who are willing to mentor them. Therefore, students interested in the full-year fellowship program should contact and discuss research opportunities with any CNBC faculty at Carnegie Mellon or University of Pittsburgh working in the area of neural computation or computational neuroscience and ask for their nomination by sending email to Dr. Tai Sing Lee, who also administers the undergraduate fellowship program at Carnegie Mellon. See http://www.cnbc.cmu.edu/fellowcompneuro for details.
The Program in Neural Computation also offers a summer training program for undergraduate students from any U.S. undergraduate college. The students will engage in a 10-week intense mentored research and attend a series of lectures in neural computation. See the http://www.cnbc.cmu.edu/summercompneuro for application information.
Robotics Additional Major
Howie Choset, Director
Office: NSH 3205
Website: http://www.ri.cmu.edu/
Beginning in Fall 2012, the School of Computer Science will be offering Robotics as an additional major, available to all Carnegie Mellon undergraduate students.
The robotics major's central intellectual theme is that robotics is both multidisciplinary and interdisciplinary. This means that it draws from many fields, such as mechanical engineering, computer science and electrical engineering, and it also integrates these fields in a novel manner. The base of this program lies in motion and control. Upon this base, sensing, cognition, and action are layered. These foci are brought together by a unique systems perspective special to robotics. Finally, robotics involves building artifacts that embody these fundamentals, foci, and systems thinking, and as such there is a "hands-on" requirement as well.
Admission
Generally, students should apply in their sophomore year but we could allow admissions for students in their junior year provided they meet the requirements and their schedule would allow. The deadline should be early December and decisions should be made in time for Spring registration in the sophomore year. The materials include:
- Full name, student number, and email address
- Home college, year you intend to graduate, and list of all declared Majors and Minors
- Statement of purpose (maximum 1 page, single spaced, to articulate why the student wants to purse the robotics major)
- Proposed schedule of required courses (we will provide a table for them to fill out)
- Transcript
Curriculum
Prerequisites
Choose one from each category:
| Calculus | Units | |
| 21-259 | Calculus in Three Dimensions | 9 |
| Linear Algebra | ||
| 21-241 | Matrices and Linear Transformations | 10 |
| 18-202 | Mathematical Foundations of Electrical Engineering | 12 |
| 24-311 | Numerical Methods | 12 |
| Programming in C | ||
| 15-122 | Principles of Imperative Computation | 10 |
| 16-311 | Introduction to Robotics | 12 |
| Please note: This requirement is still under consideration. | ||
Required Courses
Choose 10 courses total (one from each category plus two electives):
| Overview/Introductory | Units | |
| 16-311 | Introduction to Robotics | 12 |
| Controls | ||
| 16-299 | Introduction to Feedback Control Systems | 12 |
| 18-370 | Fundamentals of Control | 12 |
| 24-451 | Feedback Control Systems | 12 |
| 16-xxx | Upper-level RI course with instructor permission |
| Kinematics | ||
| 16-384 | Robot Kinematics and Dynamics | 12 |
| 24-355 | Kinematics and Dynamics of Mechanisms (not offered regularly) | 9 |
| 16-xxx | Upper-level RI course with instructor permission |
| Machine Perception | ||
| 15-385 | Computer Vision | 9 |
| 15-463/862 | Computational Photography | 12 |
| 16-421 | Vision Sensors | 12 |
| 85-370 | Perception | 9 |
| 16-xxx | Upper-level RI course with instructor permission |
| Cognition and Reasoning | ||
| 10-601 | Machine Learning | 12 |
| 11-344 | Machine Learning in Practice | 12 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-494 | Special Topic: Cognitive Robotics | 12 |
| 16-xxx | Upper-level RI planning course with instructor permission |
| "Hands-on Course" | ||
| 15-491 | Special Topic: CMRoboBits: Creating Intelligent Robots | 12 |
| 16-362 | Mobile Robot Programming Laboratory | 12 |
| 18-578 | Mechatronic Design | 12 |
| 16-xxx | Upper-level RI project course e.g., 16-861 or 16-865 or independent study with instructor permission |
| Systems Engineering | ||
| 16-xxx | To be developed... |
| Capstone Course | ||
| 16-xxx | To be developed... |
| Required Electives (choose two) | ||
| 10-601 | Machine Learning | 12 |
| 11-344 | Machine Learning in Practice | 12 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-385 | Computer Vision | 9 |
| 15-462 | Computer Graphics | 12 |
| 15-491 | Special Topic: CMRoboBits: Creating Intelligent Robots | 12 |
| 15-494 | Special Topic: Cognitive Robotics | 12 |
| 16-264 | Humanoids | 12 |
| 16-362 | Mobile Robot Programming Laboratory | 12 |
| 16-421 | Vision Sensors | 12 |
| 18-342 | Fundamentals of Embedded Systems | 12 |
| 18-348 | Embedded Systems Engineering | 12 |
| 18-349 | Embedded Real-Time Systems | 12 |
| 18-549 | Embedded Systems Design | 12 |
| 18-578 | Mechatronic Design | 12 |
| 24-491 | Department Research Honors | -1 |
| 24-675 | Micro/Nano Robotics | 12 |
| 39-500 | Honors Research Project | -1 |
| 85-370 | Perception | 9 |
| 85-382 | Consciousness and Cognition | 9 |
| 85-395 | Applications of Cognitive Science | 9 |
| 85-412 | Cognitive Modeling | 9 |
| 85-419 | Introduction to Parallel Distributed Processing | 9 |
Any of these can be independent study but only one independent study is allowed. A student can also take additional courses from the core; e.g., a student who takes 15-385 as a core can take 16-421 as an elective.
Robotics Minor
Howie Choset, Director
Office: NSH 3205
Website: http://www.ri.cmu.edu/education/ugrad_minor.html
As its name suggests, the robotics minor focuses on robotics. It is open to students in all colleges of the University. This minor will have a prerequisite: basic programming skills, and familiarity with basic algorithms. Typically, students get these by taking Principles of Computing (15-110). Students should be able to demonstrate programming experience from other courses or independent study work.
A central course for the minor is a new one entitled, Introduction to Robotics (16-311). This course will give students the big picture of what is going on in robotics through topics such as kinematics, mechanisms, motion planning, sensor based planning, mobile robotics, sensors, and vision. The minor also has two other required courses: (1) a controls class and (2) a manipulation, dynamics, or mechanism class. These courses provide students with the necessary intuition and technical background to move on to more advanced robotics courses.
Students may satisfy the elective requirement by taking an upper level Robotics Institute course and an independent research project under Mechanical Engineering Project (24-391) or Honors Research Project (39-500). In any event, the student must have course selection approved by the director of the minor. In order to be awarded the Minor in Robotics, a student must earn a cumulative QPA of 2.0 in these courses.
Prerequisite
The robotics minor will have a prerequisite: knowledge of C language, basic programming skills, and familiarity with basic algorithms. Students can gain this knowledge by taking 15-122 Principles of Imperative Computation ( units).
Required Courses
| Overview: | Units | |
| 16-311 | Introduction to Robotics | 12 |
| Controls (choose one of the following): | ||
| 24-451 | Feedback Control Systems | 12 |
| 18-370 | Fundamentals of Control | 12 |
| 16-299 | Introduction to Feedback Control Systems (Computer Science) | 12 |
| Manipulation (choose one of the following): | ||
| 16-384 | Robot Kinematics and Dynamics | 12 |
| 24-355 | Kinematics and Dynamics of Mechanisms | 9 |
Electives
| Two Electives (chosen from the following): | Units | |
| 10-601 | Machine Learning | 12 |
| 11-344 | Machine Learning in Practice | 12 |
| 15-381 | Artificial Intelligence: Representation and Problem Solving | 9 |
| 15-385 | Computer Vision | 9 |
| 15-462 | Computer Graphics | 12 |
| 15-491 | Special Topic: CMRoboBits: Creating Intelligent Robots | 12 |
| 15-494 | Special Topic: Cognitive Robotics | 12 |
| 16-264 | Humanoids | 12 |
| 16-362 | Mobile Robot Programming Laboratory | 12 |
| 16-421 | Vision Sensors | 12 |
| 18-342 | Fundamentals of Embedded Systems | 12 |
| 18-348 | Embedded Systems Engineering | 12 |
| 18-349 | Embedded Real-Time Systems | 12 |
| 18-549 | Embedded Systems Design | 12 |
| 18-578 | Mechatronic Design | 12 |
| 24-491 | Department Research Honors | -1 |
| 24-675 | Micro/Nano Robotics | 12 |
| 39-500 | Honors Research Project | -1 |
| 85-370 | Perception | 9 |
| 85-382 | Consciousness and Cognition | 9 |
| 85-395 | Applications of Cognitive Science | 9 |
| 85-412 | Cognitive Modeling | 9 |
| 85-419 | Introduction to Parallel Distributed Processing | 9 |
Double-Counting Restriction
Courses in the Robotics Minor may not be counted towards another SCS minor.
Software Engineering Minor
Director: Jonathan Aldrich
Website: http://isri.cmu.edu/education/undergrad/
The Software Engineering minor is designed to teach the fundamental tools, techniques, and processes of software engineering. Through internships and a mentored project experience, students gain an understanding of the issues of scale and complexity that motivate software engineering tools and techniques. The core curriculum includes material both on engineering the software product and on the process, teamwork, and management skills that are essential to successful engineering. Graduates of the program should have the technical, process, and teamwork skills to be immediately productive in a mature engineering organization.
Prerequisite
| Units | ||
| 15-214 | Principles of Software Construction: Objects, Design, and Concurrency | 12 |
Core Course Requirements
| 15-313 | Foundations of Software Engineering | 12 |
| 15-413 | Software Engineering Practicum | 12 |
Electives
The minor requires three elective courses, one selected from each of the following categories:
1. One domain-independent course focused on technical software engineering material:
| 15-414 | Bug Catching: Automated Program Verification and Testing | 9 |
| 17-651 | Models of Software Systems | 12 |
| 17-652 | Methods: Deciding What to Design | 12 |
| 17-653 | Managing Software Development | 12 |
| 17-654 | Analysis of Software Artifacts | 12 |
| 17-655 | Architectures for Software Systems | 12 |
| 17-690 | Seminar in Software Process | -1 |
| 17-xxx | Other Software Engineering grad classes may be taken; check with the program office! |
2. One engineering-focused course with a significant software component:
| 15-410 | Operating System Design and Implementation | 12 |
| 15-412 | Operating System Practicum | -1 |
| 15-437 | Web Application Development | 12 |
| 15-440 | Distributed Systems | 12 |
| 15-441 | Computer Networks | 12 |
| 15-610 | Engineering Distributed Systems | 12 |
| 18-549 | Embedded Systems Design | 12 |
| 18-649 | Distributed Embedded Systems | 12 |
| Other courses, with prior approval from the Director of the Software Engineering Masters Program | ||
3. One course that explores computer science problems related to existing and emerging technologies and their associated social, political, legal, business, and organizational contexts:
| 08-200 | Ethics and Policy Issues in Computing | 9 |
| 08-533 | Privacy, Policy, Law and Technology | 9 |
| 08-801 | Dynamic Network Analysis | 12 |
| 15-390 | Entrepreneurship for Computer Science | 9 |
| 15-421 | Web Commerce, Security and Privacy | 12 |
| 19-402 | Telecommunications, Technology Policy & Management | 12 |
| 19-403 | Policies of Wireless Systems and the Internet | 12 |
| 70-311 | Organizational Behavior | 9 |
| 70-414 | Technology Based Entrepreneurship for CIT | 9 |
| 70-421 | Entrepreneurship for Computer Scientists | 9 |
| 70-471 | Logistics and Supply Chain Management | 9 |
| 88-260 | Organizations | 9 |
| 88-341 | Organizational Communication | 9 |
| 88-343 | Economics of Technological Change | 9 |
Required Internship and Reflection Course
A software engineering internship of a minimum of 8 full-time weeks in an industrial setting is required. The student must be integrated into a team and exposed to industry pressures. The intern may work in development, management, quality assurance, or other relevant positions. The director of the SE minor program has sole discretion in approving an internship experience based on these criteria. Students should confirm that an internship position is appropriate before accepting it, but internships that fulfill the criteria will also be accepted after the fact.
| 17-413 | Software Engineering Reflection Each student will write an issue-focused reflection and analysis of some personal software engineering experience, typically (but not always) based on the engineering internship above. This report must be passed by one SCS faculty member and one SE Ph.D. student, for both technical content and effective written communication. Initial course meetings will cover the reflective, writing, and speaking process. In later meetings, each student will present his or her experience through a 30-45 minute talk, which will be evaluated for communication skills and critical reflective content. This course is limited to enrollment of 16, and students who are admitted to the minor program are given first priority. | 6 |
Double Counting Rule
At most 2 of the courses used to fulfill the minor requirements may be counted towards any other major or minor program.
SCS Policies & Procedures
School of Computer Science (SCS) Academic Standards and Actions
Grading Practices
Grades given to record academic performance in SCS are detailed under Grading Practices at http://coursecatalog.web.cmu.edu/servicesandoptions/undergraduateacademicregulations/
Dean's List
SCS recognizes each semester those undergraduates who have earned outstanding academic records by naming them to the Dean's List. The criterion for such recognition is a quality point average of at least 3.75 while completing a minimum of 36 factorable units and earning no incomplete grades.
Academic Actions
In the first year, quality point averages below 1.75 in either semester invoke an academic action. For all subsequent semesters an academic action will be taken if the semester quality point average or the cumulative quality point average (excluding the first year) is below 2.00.
Probation: The action of probation will be taken in the following cases:
- One semester of the first year is below 1.75 QPA;
- The semester QPA of a student in good standing beyond the first year falls below 2.00.
The term of probation is one semester as a full-time student. First year students are no longer on probation at the end of the second semester if the second semester's QPA is 1.75 or above. Students in the third or subsequent semester of study are no longer on probation at the end of one semester if the semester QPA and cumulative QPA (excluding the first year) are 2.00 or above.
Probation Continued: A student who has had one semester on probation and is not yet meeting minimum requirements but whose record indicates that the standards are likely to be met at the end of the next semester of study is occasionally continued on probation. This action is normally taken only when a student's semester QPA is above 2.0 but their cumulative QPA is not yet above 2.0.
Suspension: A student who does not meet minimum standards at the end of one semester of probation will be suspended:
- A first year student will be suspended if the QPA from each semester is below 1.75.
- A student on probation in the third or subsequent semester of study will be suspended if the semester QPA is below 2.00.
The minimum period of suspension is one academic year (two semesters). At the end of that period a student may return to school (on probation) by:
- receiving permission in writing from the Associate Dean for Undergraduate Education, or the student's academic advisor,
- completing a Return from Leave form from the HUB
Students who have been suspended or have withdrawn are required to absent themselves from the campus (including residence halls and Greek houses) within a maximum of two days after the action and to remain off the campus for the duration of the time specified. This action includes debarment from part-time or summer courses at the university for the duration of the period of the action. Although suspended students may not hold student jobs, students on academic suspension may, under certain circumstances, have a non-student job with the university. Students on disciplinary or administrative suspension may not.
Drop: This is a permanent severance. A student who has been suspended and who fails to meet minimum standards in the semester that they return to school will be dropped.
Students who have been dropped are required to absent themselves from the campus (including residence halls and Greek houses) within a maximum of two days after the action.
The relation indicated above between probation, suspension and drop is nominal. In unusual circumstances, College Council may suspend or drop a student without prior probation.
Transfer into SCS
Undergraduate students admitted to colleges at CMU other than SCS and wishing to transfer into SCS during their first year should consult with the Assistant Dean for Undergraduate Education. In general, no undergraduate student will be considered for transfer until after having completed a 200-level Computer Science course. At that time, the decision to allow transfer will be made based on availability of space in the student's class and the student's academic performance.
Procedure for transfer of students from another university into SCS: A student first applies through the Office of Admission. If the Office of Admission believes the applicant is acceptable, the student's record is sent to SCS for evaluation. Extremely few external transfers are admitted.
Graduation Requirements
- A requirement for graduation is the completion of the program specified for a degree with a cumulative quality point average of 2.00 or higher for all courses taken after the first year.
- Students must be recommended for a degree by the faculty of SCS.
- A candidate for the bachelor's degree must complete at the University a minimum of four semesters of full-time study, or the equivalent of part-time study, comprising at least 180 units of course work.
- Students will be required to have met all financial obligations to the university before being awarded a degree.
Modification of Graduation Requirements: A student may seek permission to modify graduation requirements by petition to the SCS College Council.
