Search | Print Options

Search | Print Options

Additional Majors and Minors in SCS

To see information for the additional major and minor in Computer Science, see the main School of Computer Science section.

Computational Biology Minor

Director: Dr. Ziv Bar-Joseph
Advisor: Phillip Compeau
Admin Coordinator: Nicole Stenger

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 and Dr. Phillip Compeau. 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 at least 45 units.

Prerequisites Units
03-121Modern Biology9
15-122Principles of Imperative Computation10
Core Classes
02-250Introduction to Computational Biology12
02-261Quantitative Cell and Molecular Biology Laboratory
(03-116 Phage Genomics Research or 03-343 Experimental Techniques in Molecular Biology may be substituted for 02-261 with permission of the minor advisor)
9
plus one of the following courses:
02-510Computational Genomics12
02-512Computational Methods for Biological Modeling and Simulation9
02-530Cell and Systems Modeling12
Biology Electives (one of the following):
03-231Biochemistry I9
03-320Cell Biology9
03-327Phylogenetics9
03-330Genetics9
03-362Cellular Neuroscience9
03-363Systems Neuroscience9
03-364Developmental Neuroscience9
03-439Introduction to Biophysics9
03-442Molecular Biology9
03-534Biological Imaging and Fluorescence Spectroscopy9
42-202Physiology9
Computer Science Electives (one of the following):
02-422Advanced Algorithms for Computational Structural Biology9
02-450Automation of Biological Research9
02-500Undergraduate Research in Computational BiologyVar.
02-510Computational Genomics12
02-512Computational Methods for Biological Modeling and Simulation9
02-530Cell and Systems Modeling12
02-740Bioimage Informatics12
09-560Computational Chemistry12
10-601Introduction to Machine Learning (Masters)12
15-381Artificial Intelligence: Representation and Problem Solving9
15-386Neural Computation9
15-415Database Applications12
16-720Computer Vision12
A number of graduate courses in CS and Robotics may be taken in consultation with the minor advisor.

Note: No more than two courses may be double counted with your major's core requirements. Courses in the minor may not be counted towards another SCS minor. Consult the advisor for the minor for more information.

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 Manager 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.

Human-Computer Interaction Minor

The Minor in Human-Computer Interaction will give students core knowledge about techniques for building successful user interfaces, approaches for conceiving, refining, and evaluating interfaces that are useful and useable, and techniques for identifying opportunities for computational technology to improve the quality of people’s lives. The students will be able to effectively collaborate in the design, implementation, and evaluation of easy-to-use, desirable, and thoughtful interactive systems. They will be prepared to contribute to multidisciplinary teams that create new interactive products, services, environments, and systems.

The key concepts, skills and methods that students will learn in the HCI Minor include:

  • Fieldwork for understanding people’s needs and the influence of context
  • Generative approaches to imagining many possible solutions such as sketching and “bodystorming”
  • Iterative refinement of designs
  • Basic visual design including typography, grids, color, and the use of images
  • Implementation of interactive prototypes
  • Evaluation techniques including discount and empirical evaluation methods

The HCI minor is targeted at undergraduates who expect to get jobs where they design and/or implement information technology-based systems for end users, and well as students with an interest in learning more about the design of socio-technical systems. It is appropriate for students with majors in Computer Science and Information Systems, as well as students in less software-focused majors, including Design, Architecture, Art, Business Administration, Psychology, Statistics, Decision Science, Mechanical Engineering, Electrical Engineering, English and many others in the university.

Curriculum

The only prerequisite for this Minor is an introductory-level college programming course (such as 15-110, 15-112, 15-121, or 51-257) and to be in good standing with the University.

In addition to the programming prerequisite, the Minor has required two courses—05-391 Designing Human Centered Software (DHCS) and 05-392 Interaction Design Overview (IxDO)—and four electives. The student will be required to get a grade of “C” or better in each course in order for it to count as part of the Minor. There is no final project or research required for the Minor.

Required Courses
  • 05-391 Designing Human Centered Software (DHCS)1: This course provides an overview of the most important methods taught in the Additional Major in HCI, such as Contextual Inquiry, Prototyping and Iterative Design, Heuristic Evaluation, and Think Aloud User Studies. It covers in a more abbreviated form the content of 05-410 User-Centered Research and Evaluation, 05-430 Programming Usable Interfaces, and 05-433 Programming Usable Interfaces OR Software Structures for Usable Interfaces.
  • 05-392 (IxDO)2: This is a design course that will combine material from 05-651 and 05-650 for students who do not have any previous experience with design, in a form that will fit appropriately in to a one-semester format. 
Electives

The HCI minor requires four electives approved by the undergraduate director. 

Double Counting

Students may double count up to two (2) of the required courses or electives with their primary major.

Relationship between the BHCI Major and Minor

Admission
  • BHCI Major: Application and admissions required, information on the HCII website.
  • BHCI Minor: Admissions form available at the HCII website.
Prerequisites
  • BHCI Major:
    • Freshman-level programming (51-257 or 15-110 or 15-112 or 15-121 .
    • Statistics (introductory)
    • Cognitive Psychology
    • Interaction Design Fundamentals or Communication Design Fundamentals
  • BHCI Minor:
Core Courses
  • BHCI Major:
    • Interaction Design Studio I & II (IxDS)
    • User Centered Research & Evaluation (UCRE)
    • HCI Programming (PUI/SSUI) and Lab 
    • BHCI Project
  • BHCI Minor:
    • Interaction Design Overview (IxDO)
    • Designing Human Centered Systems (DHCS)
Electives
  • BHCI Major: Four (4) electives 
  • BHCI Minor: Four (4) electives 
Double Counting
  • BHCI Major: Two (2) core courses or electives with primary major.
  • BHCI Minor: Two (2) courses or electives with primary major.

Footnotes

1 Alternatively, a student can take both the BS/MHCI empirical methods course (05-410) and the BS/MHCI core-programming course (either 05-430 Programming Usable Interfaces or05-431 Software Structures for User Interfaces, along with its associated 05-433 Programming Usable Interfaces OR Software Structures for Usable Interfaces). If students take this course sequence, they would get credit for fulfilling this requirement plus one elective.

2 Alternatively, students can fulfill the design requirement by taking 05-650 and 05-651. If students take this course sequence, they would get credit for fulfilling this requirement plus one elective.

These alternative ways of fulfilling the requirements for the HCI minor are designed for students who are in the HCI 2nd major who want to “downgrade” to the minor. These students can use some the courses completed for the HCI 2nd major as a way of fulfilling the requirements for the minor.

Students who are in the HCI minor right from the start are strongly encouraged to follow the regular requirements outlined above and are strongly discouraged from trying these alternative ways of fulfilling the requirements. It can be extremely difficult to get into any of the alternative courses. This is true especially for 05-650, but for other courses as well. The fact that a student in the minor has already taken 05-651 will not give priority for getting into Studio.

IDeATe Minors

Advisor: Kelly Delaney
E-mail: kellydel@andrew.cmu.edu
Website: http://ideate.cmu.edu 

The Integrative Design, Arts and Technology (IDeATe) network offers students the opportunity to become immersed in a collaborative community of faculty and peers who share expertise, experience, and passions at the intersection of arts and technology. Students engage in active  "learning by doing" in state-of-the-art maker spaces. The program addresses current and emerging real-world challenges that require disciplinary expertise coupled with multidisciplinary perspectives and collaborative integrative approaches.

The IDeATe undergraduate curriculum consists of eight interrelated concentration areas, all of which can also be taken as minors. The themes of these areas integrate knowledge in technology and the arts. Four of these minors are based in the School of Computer Science:

Animation & Special effects minor

Explore the technical and artistic aspects of 3D and 2D animation in an integrated manner and within different application contexts, from film animation and special effects to interactive displays. Students interested in declaring the minor should meet with the IDeATe advisor to discuss curriculum and to make a loose plan of study.

Curriculum
One Portal Course Units
15-104Introduction to Computing for Creative Practice
(for students in the Dietrich College of Humanities and Social Sciences, the College of Fine Arts and the Tepper School of Business. These students may take 15-112 as a substitute for 15-104)
10
62-150IDeATe: Introduction to Media Synthesis and Analysis
(for students in the College of Engineering, Mellon College of Science and the School of Computer Science)
10
Four Collaborative or Supportive Courses:
15-365Experimental Animation
(or crosslisted 60-422)
12
15-463Computational Photography12
15-465Animation Art and Technology
(or crosslisted 60-414)
12
16-461Experimental Capture9
60-125IDeATe Introduction to 3D Animation
(must be taken with 60-126, 6 units, for a total of 12 units)
6
60-220IDeATe Technical Character Animation10
60-415Advanced ETB: 3D Animation10
60-426Advanced ETB: 2D Animation10

Students may take a collaborative or supportive course from one of the other IDeATe areas as one of their four collaborative or supportive courses toward the Animation & Special Effects minor. Students may double-count at most two of their Animation & Special Effects minor courses toward other majors and minors.

Intelligent Environments Minor

Develop spaces and devices that support efficiency and high quality of experience, in contexts like daily activity, built environment, making process (from laying plaster to robot development), and arts performance.

Curriculum
One Portal Course: Units
16-223Introduction to Physical Computing
(for students in the Dietrich College of Humanities and Social Sciences, the College of Fine Arts and the Tepper School of Business.)
10
60-223IDeATE: Introduction to Physical Computing
(for students in the College of Engineering, Mellon College of Science and the School of Computer Science.)
10
Four Collaborative or Supportive Courses:
12-750Infrastructure Management12
16-375Robotics for Creative Practice
(or crosslisted 54-375)
10
16-455Human-Machine Virtuosity
(or crosslisted 48-530)
12
16-456Reality Computing Studio
(or crosslisted 48-558)
12
16-467Human Robot Interaction12
18-540Rapid Prototyping of Computer Systems12
54-371Personalized Responsive Environments
(or crosslisted 16-371)
9
60-446Advanced SIS: Expanded Theater Fusion Studio
(or crosslisted 54-498)
10

Students may take a collaborative or supportive course from one of the other IDeATe areas as one of their four collaborative or supportive courses toward the Intelligent Environments minor. Students may double-count at most two of their Intelligent Environments minor courses toward other majors and minors.

Learning Media minor

Design effective new media systems for learning using new technologies, learning science principles and media arts knowledge. Produce engaging and effective experiences from games to tangible learning tool kits and remote systems.

Curriculum
One Portal Course Units
15-104Introduction to Computing for Creative Practice
(for students in the Dietrich College of Humanities and Social Sciences, the College of Fine Arts and the Tepper School of Business. These students may take 15-112 as a substitute for 15-104)
10
62-150IDeATe: Introduction to Media Synthesis and Analysis
(for students in the College of Engineering, Mellon College of Science and the School of Computer Science)
10
Four Collaborative or Supportive Courses:
05-291Learning Media Design12
05-292Learning Media Methods6
05-418Design Educational Games12
05-432Personalized Online Learning12
05-823E-Learning Design Principles and Methods12
80-292Learning Science Principles6
85-392Human Expertise9

Students may take a collaborative or supportive course from one of the other IDeATe areas as one of their four collaborative or supportive courses toward the Learning Media minor. Students may double-count at most two of their Learning Media minor courses toward other majors and minors.

Physical computing minor

Build interfaces and circuitry to embed in physical contexts, such as mobile environments and new creative practice instruments.

Curriculum
One Portal Course: Units
16-223Introduction to Physical Computing
(for students in the Dietrich College of Humanities and Social Sciences, the College of Fine Arts and the Tepper School of Business.)
10
60-223IDeATE: Introduction to Physical Computing
(for students in the College of Engineering, Mellon College of Science and the School of Computer Science.)
10
Four Collaborative or Supportive Courses:
15-294Special Topic: Rapid Prototyping Technologies5
16-375Robotics for Creative Practice
(or crosslisted 54-375)
10
16-455Human-Machine Virtuosity
(or crosslisted 48-530)
12
18-540Rapid Prototyping of Computer Systems12
18-551Digital Communication and Signal Processing Systems Design12
18-578Mechatronic Design12
48-390Physical Computing Studio10
60-1303-D Media Studio I
Topic: Hey Robot, Let's Make Something
5
60-412Interactive Art and Computational Design12
60-439Advanced SIS/CP: Hybrid Instrument Building10
62-478IDeATe digiTOOL6

Students may take a collaborative or supportive course from one of the other IDeATe areas as one of their four collaborative or supportive courses toward the Physical Computing minor. Students may double-count at most two of their Physical Computing minor courses toward other majors and minors.

 

Language Technologies Minor

Chair: Alan W. Black
E-mail: awb@cs.cmu.edu
Website: http://www.lti.cs.cmu.edu/learn

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-122Principles of Imperative Computation10
15-150Principles of Functional Programming10
Recommended
21-241Matrices and Linear Transformations10
or 21-341 Linear Algebra
36-217Probability Theory and Random Processes9
Curriculum
Core Course
11-721Grammars and Lexicons12
Electives (choose 3)
11-411Natural Language Processing12
11-441Machine Learning for Text Mining9
11-492Speech Processing12
11-711Algorithms for NLP12
11-731Machine Translation12
11-741Machine Learning for Text Mining12
11-751Speech Recognition and Understanding12
11-752Speech II: Phonetics, Prosody, Perception and Synthesis12
11-761Language and Statistics12
80-180Nature of Language9
or 80-280 Linguistic Analysis
Project
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
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-122Principles of Imperative Computation10
21-120Differential and Integral Calculus10
21-122Integration and Approximation10
36-217Probability Theory and Random Processes9
36-225Introduction to Probability Theory9
or 21-325 Probability
36-226Introduction to Statistical Inference9
or 36-326 Mathematical Statistics (Honors)
Core Courses
Units
10-401Introduction to Machine Learning (Undergrad)12
or 10-601 Introduction to Machine Learning (Masters)
36-401Modern Regression9
Electives
Total of 3 courses (36 units) from: Units
10-701Introduction to Machine Learning (PhD)12
10-7xxcertain ML grad courses as specified on the Minor web page
10-xxxyear-long supervised research
36-315Statistical Graphics and Visualization9
36-402Advanced Methods for Data Analysis9
36-462Special Topics: Data Mining9
36-463Special Topics: Multilevel and Hierarchical Models9
36-464Special Topics: Applied Multivariate Methods9

 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.

The Minor in Neural Computation

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 inter college 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, to encourage students in computer science, engineering, statistics and physics to take courses in neuroscience and psychology, 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. Substitution is possible but requires approval by the director of the minor program.

A. Neural Computation
Units
15-386Neural Computation9
15-387Computational Perception9
15-883Computational Models of Neural Systems12
85-419Introduction to Parallel Distributed Processing9
86-375Computational Perception9
Pitt-Mathematics-1800 Introduction to Mathematical Neuroscience9
B. Neuroscience
03-362Cellular Neuroscience9
03-363Systems Neuroscience9
03-365Neural Correlates of Learning and Memory9
42-630Introduction to Neuroscience for Engineers
(crosslisted with 18-690)
12
85-765Cognitive NeuroscienceVar.
Pitt-Neuroscience 1000 Introduction to Neuroscience9
Pitt-Neuroscience 1012 Neurophysiology9
C. Cognitive Psychology
85-211Cognitive Psychology9
85-213Human Information Processing and Artifical Intelligence9
85-412Cognitive Modeling9
85-414Cognitive Neuropsychology9
85-419Introduction to Parallel Distributed Processing9
85-426Learning in Humans and Machines9
85-765Cognitive NeuroscienceVar.
D. Intelligent System Analysis
10-601Introduction to Machine Learning (Masters)12
15-381Artificial Intelligence: Representation and Problem Solving9
15-386Neural Computation9
15-387Computational Perception9
15-494Special Topic: Cognitive Robotics12
16-299Introduction to Feedback Control Systems12
16-311Introduction to Robotics12
16-385Computer Vision9
18-290Signals and Systems12
24-352Dynamic Systems and Controls12
36-225Introduction to Probability Theory9
36-247Statistics for Lab Sciences9
36-401Modern Regression9
36-410Introduction to Probability Modeling9
42-631Neural Data Analysis9
42-632Neural Signal Processing12
86-375Computational Perception9
86-631Neural Data Analysis9
Prerequisites

The required courses in the above four core areas require a number of basic prerequisites: basic programming skills at the level of 15-110 Principles of Computing and basic mathematical skills at the level of 21-122 Integration 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), conditional on approval by the director of the minor program.

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 is http://www.cnbc.cmu.edu/computational-neuroscience. 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 fellowships ($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/training/undergraduate/undergraduate-research-fellowships-in-computational-neuroscience/ 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 http://www.cnbc.cmu.edu/training/undergraduate/summer-undergraduate-research-program-in-computational-neuroscience/ for application information.

Robotics Additional Major

Director: Dr. Howie Choset
Administrative Coordinator: Barbara (B.J.) Fecich
Website: http://addlmajor.ri.cmu.edu/

The Additional Major in Robotics focuses on the theme 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 foundation of this program lies in motion and control. Upon this base, sensing, cognition, and action are layered. Since robotics involves building artifacts that embody these fundamentals, foci, and systems thinking, there is a "hands-on" course requirement. These foci are brought together by a unique systems perspective special to robotics. Students will complete a capstone course that will tie together previously learned skills and knowledge.

Admission

The Additional Major in Robotics is available to all Carnegie Mellon undergraduate students. Students should apply for the Robotics Additional Major their freshman year. Students in their sophomore year may apply, provided they meet the requirements and their schedule can accommodate the courses. The application is due early February and decisions on admittance to the Additional Major will be emailed to students in time for Fall registration. Application materials include:

  • Full name and email address
  • Home college, expected graduation date, and list of all declared Majors and Minors
  • Statement of purpose (maximum 1 page, single spaced, to articulate why the student wants to pursue the Robotics Additional Major)
  • Proposed schedule of required courses 
  • Unofficial Transcript (can be downloaded from SIO)

Curriculum

Prerequisites
Calculus Units
21-259Calculus in Three Dimensions9
Linear Algebra (choose one)
18-202Mathematical Foundations of Electrical Engineering12
21-240Matrix Algebra with Applications10
21-241Matrices and Linear Transformations10
21-260Differential Equations9
24-311Numerical Methods12
Programming in C
15-122Principles of Imperative Computation10
or knowledge and experience programming in C
Required Courses

Choose 10 courses total (one from each category plus two electives):

Overview Units
16-311Introduction to Robotics12
Controls
06-464Chemical Engineering Process Control9
16-299Introduction to Feedback Control Systems12
18-370Fundamentals of Control12
24-451Feedback Control Systems12
16-xxxUpper-level RI course with instructor and Program Director's permission9-12
Kinematics
16-384Robot Kinematics and Dynamics12
24-355Kinematics and Dynamics of Mechanisms
(not offered regularly)
9
16-xxxUpper-level RI course with instructor and Program Director's permission9-12
Machine Perception
15-463Computational Photography12
16-385Computer Vision9
16-421Vision Sensors12
85-370Perception9
16-xxxUpper-level RI course with instructor and Program Director's permission9-12
Cognition and Reasoning
10-601Introduction to Machine Learning (Masters)12
11-344Machine Learning in Practice12
15-381Artificial Intelligence: Representation and Problem Solving9
15-494Special Topic: Cognitive Robotics12
16-xxxUpper-level RI course with instructor and Program Director's permission9-12
"Hands-on Course"
15-491Special Topic: CMRoboBits: AI and Robots for Daily-Life Problems12
16-362Mobile Robot Programming Laboratory12
18-578Mechatronic Design12
16-xxxUpper-level RI project course e.g., 16-861 or 16-865 or independent study with instructor and Program Director's permission9-12
Systems Engineering
16-450Robotics Systems Engineering12
Capstone Course
16-474Robotics Capstone12
Required Electives (choose two)
10-601Introduction to Machine Learning (Masters)12
11-344Machine Learning in Practice12
15-381Artificial Intelligence: Representation and Problem Solving9
15-424Foundations of Cyber-Physical Systems12
15-462Computer Graphics12
15-463Computational Photography12
15-491Special Topic: CMRoboBits: AI and Robots for Daily-Life Problems12
15-494Special Topic: Cognitive Robotics12
16-264Humanoids12
16-362Mobile Robot Programming Laboratory12
16-385Computer Vision9
16-421Vision Sensors12
16-423Designing Computer Vision Apps12
16-597Undergraduate Reading and ResearchVar.
18-342Fundamentals of Embedded Systems12
18-348Embedded Systems Engineering12
18-349Embedded Real-Time Systems12
18-549Embedded Systems Design12
18-578Mechatronic Design12
85-370Perception9
85-395Applications of Cognitive Science9
85-412Cognitive Modeling9
85-419Introduction to Parallel Distributed Processing9
85-426Learning in Humans and Machines9

Students may count up to 12 units of 16-597 Undergraduate Reading and Research towards the degree requirements. A student can also take additional courses from the core; e.g., a student who takes 16-385 as a core can take 16-421 as an elective.

Graduate level Robotics courses may be used to meet elective requirement with permission from the Program Director. Graduate level Mechanical Engineering and Electrical and Computer Engineering courses that are relevant to robotics may be used to meet the elective requirement with permission from the Program Director.

A 3.0 QPA in the Additional Major curriculum is required for graduation. Courses that are taken Pass/Fail or audited cannot be counted for the Additional Major.

Double-Counting Restriction

Students are permitted to double count a maximum of six courses from their Primary Major towards the Additional Major in Robotics. CS Majors are permitted to double count a maximum of five courses from their Primary Major towards the Additional Major in Robotics.

Robotics Minor

Director: Dr. Howie Choset
Administrative Coordinator: Barbara (B.J.) Fecich
Website: http://www.ri.cmu.edu/education/ugrad_minor.html

The Minor in Robotics provides an opportunity for undergraduate students at Carnegie Mellon to learn the principles and practices of robotics through theoretical studies and hands-on experience with robots. The Minor is open to students in any major of any college at Carnegie Mellon. Students initially learn the basics of robotics in an introductory robotics overview course. Additional required courses teach control systems and robotic manipulation. Students also choose from a wide selection of electives in robotics, perception, computer vision, cognition and cognitive science, or computer graphics. Students have a unique opportunity to undertake independent research projects, working under the guidance of Robotics Institute faculty members; this provides an excellent introduction to robotics research for those considering graduate studies.

All Robotics Minors are required to take Introduction to Robotics (16-311). This course is designed to help students understand 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 requires students to take a controls class and a kinematics class.  These courses provide students with the necessary intuition and technical background to move on to more advanced robotics courses. In addition to the required courses, students must take 2 electives. The student must have course selection approved by the Director during the application submission process. 

A 2.5 QPA in the Minor curriculum is required for graduation. Courses that are taken Pass/Fail or audited cannot be counted for the Minor.

Admission

Admission to the Undergraduate Minor in Robotics is limited to current Carnegie Mellon students. Students interested in signing up for the minor should fill out the application form.

Prerequisite

Successful candidates for the Robotics Minor will have 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.

Required Courses
Overview: Units
16-311Introduction to Robotics12
Controls (choose one of the following):
06-464Chemical Engineering Process Control9
24-451Feedback Control Systems12
18-370Fundamentals of Control12
16-299Introduction to Feedback Control Systems
(Computer Science)
12
16-xxxUpper-level RI course with instructor and Program Director's permission
Kinematics (choose one of the following):
16-384Robot Kinematics and Dynamics12
24-355Kinematics and Dynamics of Mechanisms9
16-xxxUpper-level RI course with instructor and Program Director's permission
Electives
Two Electives (chosen from the following): Units
10-601Introduction to Machine Learning (Masters)12
11-344Machine Learning in Practice12
15-381Artificial Intelligence: Representation and Problem Solving9
15-424Foundations of Cyber-Physical Systems12
15-462Computer Graphics12
15-463Computational Photography12
15-491Special Topic: CMRoboBits: AI and Robots for Daily-Life Problems12
15-494Special Topic: Cognitive Robotics12
16-264Humanoids12
16-362Mobile Robot Programming Laboratory12
16-385Computer Vision9
16-421Vision Sensors12
16-423Designing Computer Vision Apps12
16-597Undergraduate Reading and ResearchVar.
18-342Fundamentals of Embedded Systems12
18-348Embedded Systems Engineering12
18-349Embedded Real-Time Systems12
18-549Embedded Systems Design12
18-578Mechatronic Design12
85-370Perception9
85-395Applications of Cognitive Science9
85-412Cognitive Modeling9
85-419Introduction to Parallel Distributed Processing9
85-426Learning in Humans and Machines9

Graduate level Robotics courses may be used to meet the elective requirement with permission from the Program Director. Graduate level Mechanical Engineering and Electrical and Computer Engineering courses that are relevant to robotics may be used to meet the elective requirement with permission from the Program Director.

Students may count up to 12 units of 16-597 Undergraduate Reading and Research towards the degree requirements.

Double-Counting Restriction

Courses being used to satisfy the requirements for the Robotics Minor may not be counted towards another minor. Students are permitted to double count a maximum of two courses from their Major (excluding General Education requirements) towards the Minor in Robotics. Free electives are not subject to the double counting policy.

Software Engineering Minor

Director: Claire Le Goues (clegoues@cs.cmu.edu)
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.

Admission

The Software Engineering Minor is open to undergraduate students in any major in the university. For priority consideration, applications are due 10 days before the beginning of Spring and Fall course registration. Students may petition the Director for admission outside this schedule.

To apply, send the directors an email.  Include in your email:

  • Full name
  • Andrew ID
  • Preferred email address (if different)
  • Semester you intend to graduate
  • QPA
  • All (currently) declared majors and minors, or home college if no major declared
  • 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 required courses and internship (this is your plan, NOT a commitment)
Prerequisite
Units
15-214Principles of Software Construction: Objects, Design, and Concurrency12
 Core Course Requirements
15-313Foundations of Software Engineering12
15-413Software Engineering Practicum12
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-414Bug Catching: Automated Program Verification and Testing9
17-609Global Software Development9
17-615Software Process Definition9
17-619Introduction to Real-Time Software and Systems12
17-651Models of Software Systems12
17-652Methods: Deciding What to Design12
17-653Managing Software Development
(prereq: 15-413 or an internship)
12
17-654Analysis of Software Artifacts12
17-655Architectures for Software Systems
(prereq: 15-413 or an internship)
12
17-664Enterprise Application Integration12
17-690Seminar in Software ProcessVar.
17-xxxOther Software Engineering graduate classes may be taken; get preapproval from the program director.
2. One engineering-focused course with a significant software component:
15-410Operating System Design and Implementation15
15-412Operating System PracticumVar.
15-437Web Application Development12
15-440Distributed Systems12
15-441Computer Networks12
15-610Engineering Distributed Systems12
17-643Hardware for Software EngineersVar.
18-549Embedded Systems Design12
18-649Distributed Embedded Systems12
Other courses may be acceptable, with prior approval from the director of the minor.
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-200Ethics and Policy Issues in Computing9
08-532Law of Computer Technology9
08-533Privacy, Policy, Law and Technology9
08-781Mobile and IoT Computing Services9
08-801Dynamic Network Analysis12
08-810Computational Modeling of Complex Socio-Technical Systems12
15-390Entrepreneurship for Computer Science9
15-421Information Security and Privacy12
19-402Telecommunications Technology, Policy & Management12
70-311Organizational Behavior9
70-414Entrepreneurship for Engineers9
70-421Entrepreneurship for Computer Scientists9
70-471Supply Chain Management9
88-260Organizations9
88-341Organizational Communication9
Other courses may be acceptable, with prior approval from the director of the minor.
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-413Software 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. This rule does not apply to 15-214 (a prerequisite for the minor) or courses counted for general education requirements.