Gold University of Minnesota M. Skip to main content.University of Minnesota. Home page.
 
UMSEC Education

What's inside.

About UMSEC

Prospective Students

Why an MSSE Degree?

How to apply

Course descriptions

Information sessions

Alumni stories

Faculty profiles

FAQ

Current Students

Course Schedule

Course Materials

Student Handbook

Plan B Project

Upcoming Events

2005 Graduation Photos

FAQ

Alumni

Upcoming Events

Resources

SEI

University Libraries

Graduate School

SE Archives

Formal Methods Virtual Lib.

Software Dioxide

The ATRIUM Project

ISR


Contact Us


 

MSSE Home

UMSEC Home

 
 
 
UMSEC: University of Minnesota Software Engineering Center
 

MSSE Course Descriptions

Created by faculty from the Computer Science and Engineering Department and by industry experts, the MSSE curriculum delivers a powerful blend of software engineering theory and practice. Expect program content that is consistently cutting-edge, rigorous, and relevant. Topics include requirements engineering, project management, quality assurance, and database management systems.

The curriculum is fixed for the first three semesters. The fourth semester offers electives, including an optional independent project. A total of 30 semester credits and satisfactory performance on at least 3 class projects is required for graduation. Following is a brief semester-by-semester outline of the curriculum:

Semester 1:

SEng 5801: Software Engineering I

Topics in software engineering lifecycles, problem specification and analysis, system design techniques, and documentation. You will have an opportunity to define and specify a medium-sized project. (3 credits)

SEng 5707: Principles and Use of Database Management Systems

Hands-on course in database systems, including modeling and querying. Fundamental concepts, data models, data manipulation languages, extending data types, database design, and security and integrity policy. Application techniques for the use of database systems. Concepts practiced in design and development of database applications. (3 credits)

SEng 5899: Industrial Seminars

Four half-day tutorials on a variety of topics. (1 credit) Here are a few samples of past seminar topics. Seminars are generally scheduled on Saturdays, and are open to the public.

  • Professional ethics for software engineers
  • Software re-engineering and maintenance
  • ISO and SEI CMM process evaluation
  • Legal and intellectual property issues
  • Configuration management
  • Internet commerce
  • System management & computer security
  • Safety-critical systems engineering
  • Software engineering in a start-up environment

Semester 2:

SEng 5802: Software Engineering II

Developing fluency in object-oriented design. We study semantics of object-oriented languages, strengths and limitations of the object-oriented approach, processes that can lead to good design outcomes, graphical and textual representations for design including UML, common problems and some of the patterns that can solve them, and refactoring. Students develop an ability to read and critique designs, and to clearly present and advocate design ideas. Students work in teams to complete a multi-phase design project.(3 credits)

SEng 5811: Software Testing and Verification

Theoretical and practical aspects of testing software. Students participate in the entire range of test activities, from analyzing a requirements document for test conditions through executing test cases and writing a test report. In addition there will much discussion on the types of testing that should be done, who should do it, and why it should be done at all. At course completion, the student should confidently be able to organize and carry out the software testing phase for any small or medium-size software project. (2 credits)

SEng 5852: Quality Assurance and Process Improvement

Theory and application of the capability maturity model: process assessment, modeling, and improvement techniques. Life cycle issues related to development and maintenance, quality, safety, and security assurance, project management, and automated support environments. Students participate in group projects and case studies. (3 credits)

Semester 3:

SEng 5851: Software Project Management

Team building and motivation, team organization. Issues faced in the management of large software development projects: cost estimation, scheduling, planning, execution, monitoring, evaluation, and refinement. Students participate in group projects and case studies. (3 credits)

SEng 5861: Introduction to Software Architecture

Software architecture process and artifacts. Description of architectures; evaluation of the RUP architecture process; introduction to evaluating architectures; and a short review of architectural description languages (ADLs) and architecture patterns. (3 credits)

SEng 5899: Industrial Seminars

Four half-day tutorials on a variety of topics. (1 credit)

Semester 4:

SEng 5115: Graphical User Interface Design and Evaluation

Design and evaluation of interactive application interfaces, user- and task-centered approaches to design, guidelines for graphical design, a variety of interface evaluation techniques, and an overview of current interface trends including web interfaces and information visualization. Students work in groups on a course-long project that includes designing, prototyping, and evaluating an application interface. (3 credits)

Electives

Each year, second-year students vote for a set of elective offerings, and may register for 1 or 2 electives in the fourth semester. Examples of electives offered in recent years include:

SEng 5131: Network Programming and Distributed Object Systems

Tools, techniques, and design principles behind these systems. Design, deployment, and maintenance issues; multi-tier and peer-to-peer architectures; security and transactional issues that present unique challenges in distributed systems. Students will design and implement a distributed system using elements of the J2EE tool set.

SEng 5511: Artificial Intelligence and Software Agents

Problems in search, logic, and game playing, first order predicate logic, inference, and knowledge representation. Definitions of "intelligent" or "autonomous" agents, agent classifications, agent architectures, and various application areas, such as electronic commerce and robotics. Includes a semester project, which may be done individually or in teams.

SEng 5708: Data Analytics

Data Analytics is the collection of technologies that enable an enterprise to analyze its entire collection of data to extract knowledge that can help it in its day-today functions as well as strategic directions. Practically every function of the enterprise, including marketing, customer service, operations, security, purchase, etc., can benefit from it. This course provides a detailed introduction of the technologies that comprise data analytics, including data warehousing, data mining, and reporting, with a strong emphasis on applications.

SEng 5831: Software Development for Realtime Systems

Real-time systems are systems in which a timely response by a computer to external stimuli is vital to the performance of the system's objective. We begin with basic computer architecture and hardware elements relevant to the study of real-time issues, including low-level input/output devices, interrupt controllers, and CPU cores. Next we study software design and specification methods such as flowcharts, state transition diagrams (finite state automata), and petri nets. Finally, we move on to real-time kernels, including task scheduling, interrupt latency, and communication and synchronization of tasks.

SEng 8891: Independent Project

Students will work individually or in teams with an advisor on an advanced software or research project. (2 or 3 credits)

Man with glasses
 
The University of Minnesota is an equal opportunity educator and employer.