Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 CMU Software Engineering Minor
Software Engineering Minor
Effectively building modern software systems at scale
requires not just programming skills, but also engineering skills.These skills include the ability to interact
effectively with customers to gather the requirements for a system in a
precise
way; to develop a design that resolves competing quality attributes; to
make
tradeoffs among schedule, cost, features, and quality to maximize value
to
stakeholders; to work effectively with other engineers; and to assure
the
quality of the delivered software system.We hear regularly from industry that these skills are crucial to
them,
and that they are interested in students with a strong software
engineering background.
Overview
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.
Minor Requirements
Admission
The Software Engineering Minor is open to undergraduate students in any
major in the university. The program is limited to 15
students per incoming class (as of Spring 2008, however, we are not yet
close to that limit). For priority consideration, applications
are due 10 days before the beginning of Spring and Fall course
registration, and decisions will be made 3 days before course
registration begins so students can plan effectively. Upcoming
due dates are October 31, 2008;
April 10, 2009; November 6, 2009; and April 9, 2010. Students
may
petition the Director for admission outside this schedule.
To apply, send email to jonathan.aldrich
at cs.cmu.edu and cc cora13
at cs.cmu.edu. 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)
Prerequisites
15-211: Fundamental Data Structures
and Algorithms
Either 15-212 or 15-213
Core Course Requirements
15-313 Foundations of Software
Engineering
15-413 Software Engineering Practicum
Electives
One
domain-independent course focused on technical
software engineering material, and
18-749
Fault-Tolerant Distributed Systems (not presently offered)
Other courses, with prior
approval from the Director
of the Software Engineering Masters Program. Ask before you take the course!
One course
that explores computer science
problems related to existing and emerging technologies and their
associated
social, political, legal, business, and organizational contexts
05-801 Computer-Supported Cooperative Work
08-200
Ethical Dilemmas and Policy Issues in Computing
08-300
Constructing Appropriate Technology
08-531
Usable Privacy and Security
08-532 Law of Computer Technology
08-533 Privacy Policy, Law and Technology
08-781
Mobile and Pervasive Computing Services
08-782
Adaptive Trading Technologies
08-801
Dynamic Organizations and Networks
08-810
Computational Modeling of Complex Socio-Technical Systems
19-403 Policies of Wireless Systems and the Internet
70-311 Organizational Behavior
70-414
Technology Based Entrepreneurship for CIT
70-421
Entrepreneurship for Computer Scientists
70-459
Web Business Engineering
70-471
Logistics and Supply Chain Management
88-260
Organizations
88-341
Organizational Communication
88-343 Economics of Technological Change
88-393 Technology and Economic Growth
Required Internship and Reflection Course
A
software engineering internship of a minimum
of 8 full-time weeks in an industrial setting is required.The student must be integrated into a team
and exposed to industry pressures.The
intern
may work in development, management, quality assurance, or other
relevant
positions.The director of the SE minor
program has sole discretion in approving an internship experience based
on
these criteria.Students should confirm
that an internship position is appropriate before accepting it, but
internships
that fulfill the criteria will also be accepted after the fact.
17-413 Internship
Reflection (required 6 unit course, number to be determined, to
be offered Fall semester): 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.
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.