• No results found

School of Computer Science

N/A
N/A
Protected

Academic year: 2021

Share "School of Computer Science"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

School of Computer Science

Andrew Moore, Dean

Klaus Sutner, Associate Dean for Undergraduate Education Thomas 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 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, engineering, humanities and fine arts 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 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 double majors in Computer Science (for non-CS majors), Human-Computer Interaction, and Robotics, and minors in Computational Biology, Computer Science (for non-CS majors), Language Technologies, Machine Learning, Neural Computation, Robotics, and Software Engineering.

Curriculum - B.S. in Computer Science

Computer Science

Computer Science Core: Units

15-128 Freshman Immigration Course 1

15-122 Principles of Imperative Computation

(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 Communications course: Units

15-221 Technical Communication for Computer

Scientists 9

One Algorithms/Complexity elective (min. 9 units):

15-354 Computational Discrete Mathematics 12

15-355 Modern Computer Algebra 9

15-453 Formal Languages, Automata, and Computability 9

15-455 Undergraduate Complexity Theory 9

15-456 Computational Geometry 9

21-301 Combinatorics 9

21-484 Graph Theory 9

others as designated by the CS Undergraduate Program One Logics/Languages elective (min. 9 units):

15-312 Foundations of Programming Languages 12

15-317 Constructive Logic 9

15-414 Bug Catching: Automated Program Verification

and Testing 9

15-424 Foundations of Cyber-Physical Systems 12

21-300 Basic Logic 9

80-310 Formal Logic 9

80-311 Undecidability and Incompleteness 9

others as designated by the CS Undergraduate Program One Software Systems elective (min. 12 units):

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 by the CS Undergraduate Program One Applications elective (min. 9 units):

02-510 Computational Genomics 12

05-391 Designing Human Centered Software 12

10-601 Introduction to 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-415 Database Applications 12

15-462 Computer Graphics 12

16-384 Robot Kinematics and Dynamics 12

16-385 Computer Vision 9

others as designated by the CS Undergraduate Program

Two Computer Science electives: Units

These electives can be from any SCS department; 200-level or above, at least 9 units each: Computer Science [15-], Lane Center for Computational Biology [02-], Human Computer Interaction Institute [05-], Institute for Software Research [08-,17-], Machine Learning [10-], Language Technologies Institute [11-], and Robotics Institute [16-]. (NOTE: The following courses do NOT count as Computer Science electives:

02-223, 02-250, 02-261, 08-200, 15-351. Consult with a CS undergraduate advisor before registration to determine eligibility for this requirement.)

18

Mathematics

21-120 Differential and Integral Calculus 10

21-122 Integration and Approximation 10

21-127 Concepts of Mathematics 10

one of the following Matrix Algebra courses:

21-241 Matrices and Linear Transformations 10

21-242 Matrix Theory 10

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

(2)

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:

02-261 Quantitative Cell and Molecular Biology

Laboratory 9

03-124 Modern Biology Laboratory 9

09-101 Introduction to Experimental Chemistry (This 3 unit lab together with 09-105 satisfies the lab requirement.)

3

09-221 Laboratory I: Introduction to Chemical Analysis 12 15-321 Research Methods for Experimental Computer

Science 9

27-100 Engineering the Materials of the Future 12

33-104 Experimental Physics 9

42-203 Biomedical Engineering Laboratory 9

85-310 Research Methods in Cognitive Psychology 9 The following courses from the Lane Center for Computational Biology can be used to satisfy the Science and Engineering requirement and can be paired with a Biology [03-] course for two courses from one department:

02-223 Personalized Medicine: Understanding Your Own

Genome 9

02-250 Introduction to Computational Biology

(or 02-251 + 02-252) 12

02-261 Quantitative Cell and Molecular Biology

Laboratory 9

The following MCS and CIT courses cannot be used to satisfy the Engineering and Natural Sciences requirement:

06-262 Mathematical Methods of Chemical Engineering 12

09-103 Atoms, Molecules and Chemical Change 9

09-104 Fundamental Aspects of Organic Chemistry and

Biochemistry 9

09-231 Mathematical Methods for Chemists 9

18-090 Introduction to Signal Processing for Creative

Practice 10

18-202 Mathematical Foundations of Electrical

Engineering 12

18-345 Introduction to Telecommunication Networks 12 18-411 Computational Techniques in Engineering 12 18-487 Introduction to Computer & Network Security &

Applied Cryptography 12

19-101 Introduction to Engineering and Public Policy 12

19-211 Ethics and Policy Issues in Computing 9

19-350 SP TP: Research Methods & Statistics for

Engineering & Public Policy Analysis 9 19-402 Telecommunications Technology, Policy &

Management 12

19-403 Policies of Wireless Systems and the Internet 12 19-411 Global Competitiveness: Firms, Nations and

Technological Change 9

19-448 Science, Technology & Ethics 9

33-100 Basic Experimental Physics 6

33-115 Physics for Future Presidents 9

33-124 Introduction to Astronomy 9

33-232 Mathematical Methods of Physics 10

39-100 Special Topics: WHAT IS ENGINEERING? 9

39-200 Business for Engineers 9

In addition, all Electrical and Computer Engineering graduate courses [18-6xx, 18-7xx, 18-8xx, 18-9xx] cannot be used for this requirement.

Consult with a CS undergraduate advisor about any course to be used for the Science and Engineering requirement before registration.

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-271 Philosophy and Psychology 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-300 History of American Public Policy 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-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-210 Comparative Political Systems 9

88-220 Policy Analysis I 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-1960 9

70-342 Managing Across Cultures 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-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

(3)

79-230 Arab-Israeli Conflict and Peace Process since

1948 9

79-240 The Development of American Culture 9

79-241 African American History: Africa to the Civil War 9 79-242 African American History: Reconstruction to the

Present 9

79-255 Irish History 9

79-281 Introduction to Religion 9

79-282 Europe and the World since 1800 6

79-311 Introduction to Anthropology 9

79-345 The Roots of Rock and Roll, 1870-1970 9

79-350 Early Christianity 9

79-395 The Arts in Pittsburgh 9

79-396 Music and Society in 19th and 20th Century

Europe and the U.S. 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. Some of the courses taught in these units are considered technical courses and may not be used to satisfy this requirement.

Additionally, a select set of courses from Business Administration and from Environmental and Public Policy can also count for this requirement.

The complete list of additions and deletions can be found at http://

www.csd.cs.cmu.edu/education/bscs/humanities-arts.html. Consult with a CS undergraduate advisor for additional information.

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 and Mathematics. Consult with a CS undergraduate advisor and an advisor from the department of the minor (or double major) for specific restrictions on double counting.

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 14 135

Mathematics 5 49

Science/Engineering 4 36

Humanities/Arts 7 63

Minor Requirement/Free

electives 8 74

Computing @ Carnegie

Mellon 1 3

360

Sample Course Sequence

Freshman Year:

Fall Units

15-122 Principles of Imperative Computation 10

15-128 Freshman Immigration Course 1

15-131 Great Practical Ideas for Computer Scientists

(optional, not required for CS major) 2

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

  45

Spring Units

15-150 Principles of Functional Programming 10

15-251 Great Theoretical Ideas in Computer Science 12

21-122 Integration and Approximation 10

xx-xxx Science/Engineering Course 9

xx-xxx Humanities and Arts Elective 9

  50

Sophomore Year:

Fall Units

15-213 Introduction to Computer Systems 12

15-221 Technical Communication for Computer

Scientists 9

21-241 Matrices and Linear Transformations 10

xx-xxx Science/Engineering Course 9

xx-xxx Minor Requirement / Free Elective 9

  49

Spring Units

15-210 Parallel and Sequential Data Structures and

Algorithms 12

xx-xxx Computer Science: Applications 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

xx-xxx Computer Science: Logic/Languages 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-xxx Computer Science: Systems Elective 12

xx-xxx Computer Science: Algorithms/Complexity

Elective 9

xx-xxx Humanities and Arts Elective 9

xx-xxx Minor Requirement / Free Elective 9

xx-xxx Science/Engineering Course 9

  48

Senior Year:

Fall Units

xx-xxx School of Computer Science Elective 9

(4)

xx-xxx Humanities and Arts Elective 9

xx-xxx Minor Requirement / Free Elective 9

xx-xxx Minor Requirement / Free Elective 9

  36

Spring Units

xx-xxx School of 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:

The flexibility in the curriculum allows many different schedules, of which the above is only one possibility. Some elective courses are offered only once per year (Fall or Spring). Constrained CS electives (algorithms/

complexity, logic/languages, systems and applications) may be taken in any order and in any semester if prerequisites are met and seats are available.

Constrained electives are shown in the specific semesters in the schedule above as an example only. Students should consult with their academic advisor to determine the best elective options depending on course availability, their academic interests and their career goals. Additionally, the School of Computer Science offers a Double Major in Human-Computer Interaction and a Double Major in Robotics, as well as numerous computing- oriented Minors available to majors and non-majors alike.

Undergraduate 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 graduate school are strongly encouraged to participate in the Undergraduate Research Thesis program. Additionally, graduate CS courses can be taken with permission of the instructor and in consultation with an academic advisor.

The goal of the Undergraduate Research Thesis Program is to introduce students to the breadth of tasks involved in independent research, including library work, problem formulation, experimentation, analysis, writing and speaking. In particular, students write a survey paper summarizing prior results in their desired area of research, present a public poster session in December describing their current progress, present their final results in an oral summary in the year-end university-wide Undergraduate Research Symposium (Meeting of the Minds) and submit a written thesis at the end of their senior year. Students work closely with faculty advisors to plan and carry out their research. The Undergraduate Research Thesis (15-599) can start as early as the Spring semester of the junior year, and spans the entire senior year. Students receive a total of 36 units of academic credit for the thesis work. Up to 18 units can be counted toward CS elective requirements (9 per semester). For most students, the thesis program requires at least one semester with 18 units of thesis work, so students in this program are advised to plan their schedules carefully to ensure there is ample time to perform the required research for the thesis. Students interested in research are urged to consult with their CS undergraduate advisor and Assistant Dean no later than the start of their junior year in order to plan their workload effectively.

Computer Science 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, Human-Computer Interaction, Language Technologies, Neural Computation, Robotics, and Software Engineering.

To see the additional majors and minors other than Computer Science, see Additional Majors and Minors in SCS (http://

coursecatalog.web.cmu.edu/schoolofcomputerscience/addlmajorsminors).

Computer Science Additional Major

Students interested in pursuing an additional major in Computer Science should first consult with an advisor in the CS Undergraduate Office after completion of prerequisites and at least two of the core courses for application requirements and availability of seats.

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-requisite) 10

15-150 Principles of Functional Programming 10

21-120 Differential and Integral Calculus 10

21-122 Integration 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 Matrix Algebra courses:

21-241 Matrices and Linear Transformations 10

21-242 Matrix Theory 10

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

15-455 Undergraduate Complexity Theory 9

15-456 Computational Geometry 9

21-301 Combinatorics 9

21-484 Graph Theory 9

others as designated by the CS Undergraduate Program 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

15-424 Foundations of Cyber-Physical Systems 12

21-300 Basic Logic 9

80-310 Formal Logic 9

80-311 Undecidability and Incompleteness 9

others as designated by the CS Undergraduate Program 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 by the CS Undergraduate Program One Applications elective:

02-510 Computational Genomics 12

05-391 Designing Human Centered Software 12

10-601 Introduction to 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

(5)

15-415 Database Applications 12

15-462 Computer Graphics 12

16-384 Robot Kinematics and Dynamics 12

16-385 Computer Vision 9

others as designated by the CS Undergraduate Program

Two Computer Science electives: Units

These electives can be from any SCS department; 200-level or above, at least 9 units each: Computer Science [15-], Lane Center for Computational Biology [02-], Human Computer Interaction Institute [05-], Institute for Software Research [08-,17-], Machine Learning [10-], Language Technologies Institute [11-], and Robotics Institute [16-]. (NOTE: The following courses do NOT count as Computer Science electives:

02-223, 02-250, 02-261, 08-200, 15-351. Consult with the CS undergraduate office before registration to determine eligibility for this requirement.)

18

Computer Science Minor

Students interested in pursuing a minor in Computer Science should first consult with an advisor in the CS Undergraduate Office after completion of the prerequisites and core courses for application requirements.

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 12

15-251 Great Theoretical Ideas in Computer Science 12 Two Computer Science electives, of at least 9 units each: Units CS elective courses must be 15-213 or higher, at least 9-units

each. 15-221 and 15-351 cannot be used. One course 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.

Additional Majors and Minors in SCS

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 at least 45 units.

Prerequisites Units

03-121 Modern Biology 9

15-122 Principles of Imperative Computation 10

Core Classes

02-250 Introduction to Computational Biology 12

02-261 Quantitative 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-510 Computational Genomics 12

02-512 Computational Methods for Biological Modeling

and Simulation 9

02-530 Cell and Systems Modeling 12

Biology Electives (one of the following):

03-231 Biochemistry I 9

03-240 Cell Biology 9

03-327 Phylogenetics 9

03-330 Genetics 9

03-362 Cellular Neuroscience 9

03-363 Systems Neuroscience 9

03-364 Developmental Neuroscience 9

03-439 Introduction to Biophysics 9

03-442 Molecular Biology 9

03-534 Biological Imaging and Fluorescence

Spectroscopy 9

42-202 Physiology 9

Computer Science Electives (one of the following):

02-422 Advanced Algorithms for Computational

Structural Biology 9

02-450 Automation of Biological Research 9

02-500 Undergraduate Research in Computational

Biology Var.

02-510 Computational Genomics 12

(6)

02-512 Computational Methods for Biological Modeling

and Simulation 9

02-530 Cell and Systems Modeling 12

02-740 Bioimage Informatics 12

09-560 Computational Chemistry 12

10-601 Introduction to Machine Learning 12

15-381 Artificial Intelligence: Representation and

Problem Solving 9

15-386 Neural Computation 9

15-415 Database Applications 12

16-721 Learning-based Methods in Vision 12

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

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 multi-disciplinary 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-4xx Interaction Design Overview (IDO)—and four electives from an approved list.

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 User Interface Lab.

• 05-392 (IDO)2: This is a new 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. It will be first offered in Spring 2014.

Electives

The HCI minor requires four electives from the pre-approved list of electives (http://www.hcii.cmu.edu/undergraduate-electives) made available at the HCII website.

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 (http://staging.cs.cmu.edu/academics/hci-undergraduate/

major/applying).

• BHCI Minor: Admissions form available at the HCII website (http://

staging.cs.cmu.edu/academics/hci-undergraduate/minor).

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:

• Freshman-level programming (51-257 or 15-110 or 15-112 or 15-121 .

Core Courses

• BHCI Major:

• Interaction Design Studio (IDS)

• User Centered Research & Evaluation (UCRE)

• HCI Programming (PUI/SSUI) and Lab

• BHCI Project

• BHCI Minor:

• Interaction Design Overview (IDO)

• Designing Human Centered Systems (DHCS)

Electives

• BHCI Major: Four (4) electives (2 from defined list and 2 free electives approved by the director of the BHCI major)

• BHCI Minor: Four (4) electives (from defined list)

Double Counting

• BHCI Major: Two (2) courses with primary major.

• BHCI Minor: Two (2) courses 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 User Interface Lab). If students take this course sequence, they would get credit for fulfilling this requirement plus one elective.

(7)

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.

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)

11-411 Natural Language Processing 12

11-441 Search Engines and Web Mining 12

11-492 Speech Processing 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

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-122 Principles of Imperative Computation 10

21-122 Integration and Approximation 10

36-217 Probability Theory and Random Processes 9 or 36-225 Introduction to Probability Theory

or 21-325 Probability

36-226 Introduction to Statistical Inference 9

or 36-326 Mathematical Statistics (Honors)

Core Courses

Units

10-601 Introduction to Machine Learning 12

or 10-701 Introduction to Machine Learning

36-401 Modern Regression 9

Electives

Total of 3 courses (36 units) from: Units

10-701 Introduction to 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 Methods for Data Analysis 9

36-462 Special Topics: Data Mining 9

36-463 Special Topics: Multilevel and Hierarchical

Models 9

36-464 Special Topics: Applied Multivariate Methods 9 Additional electives can be found on the minor electives page (http://

www.ml.cmu.edu/prospective-students/minor-electives.html).

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) (http://

www.cnbc.cmu.edu).

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

(8)

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-386 Neural Computation 9

15-387 Computational Perception 9

15-883 Computational Models of Neural Systems 12 85-419 Introduction to Parallel Distributed Processing 9

86-375 Computational Perception 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-426 Learning in Humans and Machines 9

85-765 Cognitive Neuroscience Var.

D. Intelligent System Analysis

10-601 Introduction to Machine Learning 12

15-381 Artificial Intelligence: Representation and

Problem Solving 9

15-386 Neural Computation 9

15-387 Computational Perception 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

16-385 Computer Vision 9

18-290 Signals and Systems 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

42-631 Neural Data Analysis 9

42-632 Neural Signal Processing 12

86-375 Computational Perception 9

86-631 Neural Data Analysis 9

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/

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

Director: Dr. Howie Choset

Administrative Coordinator: Julie Goldstein Website: http://addlmajor.ri.cmu.edu/#&panel1-1

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. These foci are brought together by a unique systems perspective special to robotics. Since robotics involves building artifacts that embody these fundamentals, foci, and systems thinking, there is a "hands-on" course requirement. Lastly, 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 in their Freshman year. Students in their Sophomore year may apply, provided they meet the requirements and their schedule would allow.

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, 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 pursue the Robotics Additional Major)

• Proposed schedule of required courses

• Unofficial Transcript (can be downloaded from SIO)

Curriculum Prerequisites

Calculus Units

21-259 Calculus in Three Dimensions 9

Linear Algebra (choose one)

18-202 Mathematical Foundations of Electrical

Engineering 12

21-240 Matrix Algebra with Applications 10

21-241 Matrices and Linear Transformations 10

(9)

21-260 Differential Equations 9

24-311 Numerical Methods 12

Programming in C

15-122 Principles of Imperative Computation 10

or knowledge and experience programming in C

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 and Program Director's 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 and Program Director's permission Machine Perception

15-463 Computational Photography 12

16-385 Computer Vision 9

16-421 Vision Sensors 12

85-370 Perception

Upper-level RI course with Instructor and Program Director's permission

9

Cognition and Reasoning

10-601 Introduction to 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 and Program Director's 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 and Program Director's permission

Systems Engineering

16-450 Robotics Systems Engineering 12

Capstone Course

16-474 Robotics Capstone 12

Required Electives (choose two)

10-601 Introduction to Machine Learning 12

11-344 Machine Learning in Practice 12

15-381 Artificial Intelligence: Representation and

Problem Solving 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-385 Computer Vision 9

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

24-675 Micro/Nano Robotics 12

39-500 Honors Research Project Var.

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

Robotics Minor

Director: Dr. Howie Choset

Administrative Coordinator: Julie Goldstein

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 manipulation, dynamics, or mechanism 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. Students may satisfy the elective requirement by taking an approved course or upper-level Robotics course. The student must have course selection approved by the Director of the Minor during the application submission process. In order to be awarded the Minor in Robotics, a student must earn a cumulative QPA of 2.5 in these courses. 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 (https://www-preview.ri.cmu.edu/

education/apply/ugrad_appform.html).

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

(10)

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 Introduction to Machine Learning 12

11-344 Machine Learning in Practice 12

15-381 Artificial Intelligence: Representation and

Problem Solving 9

15-424 Foundations of Cyber-Physical Systems 12

15-462 Computer Graphics 12

15-463 Computational Photography 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-385 Computer Vision 9

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

24-675 Micro/Nano Robotics 12

39-500 Honors Research Project Var.

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

Double-Counting Restriction

Courses in the Robotics Minor may not be counted towards another SCS minor. Computer Science (CS) Majors are permitted to double count a maximum of two courses (excluding General Education requirements) towards the Minor in Robotics.

Software Engineering Minor

Co-Director: Jonathan Aldrich Co-Director: Claire Le Goues

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

17-xxx Other Software Engineering graduate classes may be taken; get preapproval from the program director.

2. One engineering-focused course with a significant software component:

15-410 Operating System Design and Implementation 12

15-412 Operating System Practicum Var.

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 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-200 Ethics and Policy Issues in Computing 9

08-300 Constructing Appropriate Technology 12

08-532 Law of Computer Technology 9

08-533 Privacy, Policy, Law and Technology 9

08-781 Mobile and Pervasive Computing Services 9

08-801 Dynamic Network Analysis 12

08-810 Computational Modeling of Complex Socio-

Technical Systems 12

70-459 Web Business Engineering 9

15-390 Entrepreneurship for Computer Science 9

15-421 Information 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 Entrepreneurship for Engineers 9

70-421 Entrepreneurship for Computer Scientists 9

70-471 Supply Chain Management 9

88-260 Organizations 9

88-341 Organizational Communication 9

88-343 Economics of Technological Change 9

88-391 Technology and Economic Growth 9

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.

(11)

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:

1. One semester of the first year is below 1.75 QPA;

2. 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:

1. receiving permission in writing from the Assistant Dean for Undergraduate Education, or the student's academic advisor, 2. 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. Students who have been suspended and who fail 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.

Return from Leave of Absence

SCS undergraduate students returning from a leave of absence are required to submit a Return from Leave of Absence form to the CS Undergraduate Office for approval by the student's academic advisor and assistant dean. In addition, the student must also supply a letter that explains the reason for the leave, the actions that were performed during the leave to prepare the student for a successful return, and a description of the on-campus resources, if required, that would be used by the student in order to increase the likelihood of success. Students returning from a leave are also encouraged to provide two letters of support from people close to the student (e.g. family, friends, clergy, teachers, coaches, others as appropriate). Requests to return are reviewed by the student's academic advisor, assistant dean and student affairs liaison to determine eligibility and any resources that need to be put into place to assist the student upon return. Contact the CS Undergraduate Office for more information.

Transfer into SCS

Undergraduate students admitted to colleges at CMU other than SCS and wishing to transfer into SCS should consult with the Assistant Dean for Undergraduate Education during their first year. In general, no undergraduate student will be considered for transfer until after having completed 15-122, 15-150 and at least one 200-level core Computer Science course (15-210, 15-213, or 15-251) with an exceptional grade point average. Additionally, students are expected to have performed well in 21-127. The decision to allow transfer will be made based on availability of space in the student's class and the student's academic performance (in the specified courses and in their courses overall) at the discretion of the Assistant Dean for Undergraduate Education. Students should consult the CS Undergraduate Program office for minimum requirements, transfer request instructions and deadlines.

Procedure for transfer of students from another university into SCS: A student should first apply 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 by the Assistant Dean for Undergraduate Education.

Admission is based on seat availability, overall academic performance from the student's current institution, and the application material. It is important to note that extremely few external transfers are admitted to the SCS program at Carnegie Mellon University.

Graduation Requirements

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

2. Students must be recommended for a degree by the faculty of SCS.

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

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

References

Related documents

Lost control of anxiety worksheet answers, unrealistic worry about treating all of bulimia nervosa, directing and the intolerance of.. I have lower levels of scales for professionals

Hypothesis 4d: Shared vision will moderate the positive and indirect effect of employee stakeholder integration on a firm’s environmental performance (through proactive

In order to reduce the research gap, this study examines how small and medium enterprises apply knowledge management processes in their daily business activities

En consecuencia las mujeres, los hombres y los niños contribuían al bienestar de todos desde la ejecución de sus actos y como todos los miembros del circo

Furthermore, the postoperative courses of serum creatinine, eGFR and urinary [TIMP 2]*[IGFBP7] urine concentrations for patients with AKI stage 2/3 and for those with no or mild

Collected information included: demographic information, clinical symptoms, date and site of diagnosis, biochemical data, staging information, bone marrow involvement

 Immunostaining  enhances  fluorescence  and   the  number  of  labeled  neurons  and  processes  without  compromising  color  diversity...  Processing  a

Mean ⴞ SE total leaf areas and number of leaves per plant on plants of five different ages in cabbage, glossy collards, and yellow rocket.. Host