Carnegie Mellon University Masters in Software Engineering

Last updated

The Master of Software Engineering (MSE) at Carnegie Mellon University is a master's program founded in 1989 with the intent of developing technical leaders in software engineering practice, as a joint effort between Carnegie Mellon's School of Computer Science and the Software Engineering Institute. A core component of the degree is the studio project, a capstone project that accounts for 40 percent of the course units. [1]

Contents

History

Centered around software engineering workshops conducted at the Software Engineering Institute, the degree program's original core concepts and curriculum were developed. The original faculty included many educators who remain currently active, while others have retired or died. The latter notable individuals include Norm Gibbs and Jim 'Coach' Tomayko.

A hallmark of the MSE program is that it targets software practitioners who are already working in the field. [2]

Following its inception, the program has evolved to address a demand for lighter, faster software development processes, enabled by the rapid and widening adoption of the Internet. This included extreme programming, which later became part of agile methods, all of which sought to more rapidly respond to customer requirements in contrast to more deliberative, plan-driven development.

Program directors

Curriculum

The MSE program began as a joint effort of the School of Computer Science and the Software Engineering Institute. The degree program is an intensive 16-month curriculum designed for professional software engineers. Class sizes are generally around 20 students. Applicants to the program must have a strong background in computer science, no less than two years of relevant industry experience with an average of five years of experience. [3]

The MSE curriculum has three basic components:

  1. Core Courses develop foundational skills in the fundamentals of software engineering, with an emphasis on design, analysis, and the management of large-scale software systems.
  2. The Studio Project, a capstone project that spans the duration of the program, allows for students to plan and implement a significant software project for an external client. Inspired by the design projects in architecture programs, students work as members of a team under the guidance of faculty advisors (mentors), analyzing a problem, planning the software development effort, executing a solution, and evaluating their work.
  3. Electives allow students to develop deeper expertise in an area of speciality within the software engineering domain, or to pursue study in areas relevant to their personal and professional interests.

Core Courses

  1. Models of Software Systems - This course considers many of the standard models for representing sequential and concurrent systems, such as state machines, algebras, and traces.
  1. Methods: Deciding What to Design - This course considers the variety of ways of understanding the problem to be solved by the system one is developing and of framing an appropriate solution to that problem.
  1. Management of Software Development - This course considers how to lead a project team, understand the relationship of software development to overall product engineering, estimate time and costs, and understand the software process.
  1. Analysis of Software Artifacts - This course considers the analysis of software artifacts—primarily code, but also including analysis of designs, architectures, and test suites.
  1. Architectures for Software Systems - The course considers commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures.

Notable faculty

Related Research Articles

Software engineering is an engineering-based approach to software development. A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.

<span class="mw-page-title-main">Software Engineering Institute</span> Federally funded research center in Pittsburgh, Pennsylvania, United States

Software Engineering Institute (SEI) is a federally funded research and development center in Pittsburgh, Pennsylvania, United States. Founded in 1984, the institute is now sponsored by the United States Department of Defense and the Office of the Under Secretary of Defense for Research and Engineering, and administrated by Carnegie Mellon University. The activities of the institute cover cybersecurity, software assurance, software engineering and acquisition, and component capabilities critical to the United States Department of Defense.

<span class="mw-page-title-main">Carnegie Mellon University</span> Private research university in Pittsburgh, Pennsylvania, U.S.

Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. The institution was originally established in 1900 by Andrew Carnegie as the Carnegie Technical Schools. In 1912, it became the Carnegie Institute of Technology and began granting four-year degrees. In 1967, it became the current-day Carnegie Mellon University through its merger with the Mellon Institute of Industrial Research, founded in 1913 by Andrew Mellon and Richard B. Mellon and formerly a part of the University of Pittsburgh.

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

<span class="mw-page-title-main">Computer engineering</span> Engineering discipline specializing in the design of computer hardware

Computer engineering is a branch of electronic engineering and computer science that integrates several fields of computer science and electronic engineering required to develop computer hardware and software. Computer engineers require training in electronic engineering, computer science, hardware-software integration, software design, and software engineering. It uses the techniques and principles of electrical engineering and computer science, and can encompass areas such as artificial intelligence (AI), robotics, computer networks, computer architecture and operating systems. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microcontrollers, microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also on how to integrate them into the larger picture. Robotics are one of the applications of computer engineering.

<span class="mw-page-title-main">Carnegie Mellon School of Computer Science</span> School for computer science in the United States

The School of Computer Science (SCS) at Carnegie Mellon University in Pittsburgh, Pennsylvania, US is a school for computer science established in 1988. It has been consistently ranked among the top computer science programs over the decades. As of 2022 U.S. News & World Report ranks the graduate program as tied for second with Stanford University and University of California, Berkeley. It is ranked second in the United States on Computer Science Open Rankings, which combines scores from multiple independent rankings.

<span class="mw-page-title-main">John Patrick Crecine</span> American educator and economist

John Patrick "Pat" Crecine was an American educator and economist who served as President of Georgia Tech, Dean at Carnegie Mellon University, business executive, and professor. After receiving his early education at public schools in Lansing, Michigan, he earned a bachelor's degree in industrial management, and master's and doctoral degrees in industrial administration from the Graduate School of Industrial Administration at Carnegie Mellon University. He also spent a year at the Stanford University School of Business.

<span class="mw-page-title-main">Carnegie Mellon College of Fine Arts</span> Fine arts school of Carnegie Mellon University

The College of Fine Arts (CFA) at Carnegie Mellon University in Pittsburgh, in the U.S. state of Pennsylvania oversees the Schools of Architecture, Art, Design, Drama, and Music along with its associated centers, studios, and galleries.

<span class="mw-page-title-main">Carnegie Mellon Silicon Valley</span> Branch campus in California

Carnegie Mellon Silicon Valley is a degree-granting branch campus of Carnegie Mellon University located in the heart of Silicon Valley in Mountain View, California. It was established in 2002 at the NASA Ames Research Center in Moffett Field.

The School of Engineering and Applied Science (SEAS) at the George Washington University in Washington, D.C. is a technical school which specializes in engineering, technology, communications, and transportation. The school is located on the main campus of the George Washington University and offers both undergraduate and graduate programs.

<span class="mw-page-title-main">Randal Bryant</span> American computer scientist (born 1952)

Randal E. Bryant is an American computer scientist and academic noted for his research on formally verifying digital hardware and software. Bryant has been a faculty member at Carnegie Mellon University since 1984. He served as the Dean of the School of Computer Science (SCS) at Carnegie Mellon from 2004 to 2014. Dr. Bryant retired and became a Founders University Professor Emeritus on June 30, 2020.

<span class="mw-page-title-main">Mary Shaw (computer scientist)</span> American software engineer

Mary Shaw is an American software engineer, and the Alan J. Perlis Professor of Computer Science in the School of Computer Science at Carnegie Mellon University, known for her work in the field of software architecture.

Bonnie E. John is an American cognitive psychologist who studies human–computer interaction, predictive human performance modeling, and the relationship between usability and software architecture. She was a founding member of the Human-Computer Interaction Institute at Carnegie Mellon University, a research staff member at IBM's Thomas J. Watson Research Center, and the director of computation and innovation at The Cooper Union. She is currently a UX designer at Bloomberg L.P.

The Tepper School of Business is the business school of Carnegie Mellon University. It is located in the university's 140-acre (0.57 km2) campus in Pittsburgh, Pennsylvania.

International IT University or International university of information technologies - established in close collaboration with educational organization iCarnegie which represents American IT university Carnegie Mellon in 2009 by order of President of Kazakhstan. Formation of the qualified, international recognized IT specialists in Kazakhstan became the purpose of creation of a higher educational institution of a similar profile. International IT University provided with grants from the government of Kazakhstan and national infocommunication companies, which cover disciplines by Kazakhstan and the U.S. educational systems.

Software architecture description is the set of practices for expressing, communicating and analysing software architectures, and the result of applying such practices through a work product expressing a software architecture.

Project Lead The Way (PLTW) is an American nonprofit organization that develops STEM curriculum for use by US elementary, middle, and high schools.

Curtis Matthew Scott was a software architect and board game designer known for his work on approximately thirty role-playing games and books primarily focused on Dungeons and Dragons. He attended the University of New Orleans and Carnegie Mellon University, received his Masters in Computer Science during which time he published works contributing to the field of software. Scott was accepted to the PhD program in computer science at Carnegie Mellon University just prior to his death on August 19, 1992, at the age of 31.

Leonard Joel (Len) Bass is an American software engineer, Emeritus professor and former researcher at the Software Engineering Institute (SEI), particularly known for his contributions on software architecture in practice.

References

  1. Tomayko, J.E. (April 1996). "Carnegie Mellon's software development studio: A five year retrospective". Proceedings of 9th Conference on Software Engineering Education. pp. 119–129. doi:10.1109/CSEE.1996.491367. ISBN   0-8186-7249-8. S2CID   11669118.
  2. Nancy R. Mead: Software engineering education: How far we’ve come and how far we have to go
  3. Garlan, David; Gluch, P. David; Tomayko, James E.: Agents of Change: Educating Software Engineering Leaders of Tomorrow, page 59–65. IEEE Software, November 1997.