Software engineering




NewsSee what's new for the Computing Program


Twitter: MUMSComp
LinkedIn: Marquette University MS in Computing

Software engineers begin careers creating code, connecting application modules and functionalities, debugging, and porting applications to other operating system platforms. In a senior position, which offers the potential of more voice in the definition of the end product, software engineers work with end users, OEM customers, and others. They also take a more supervisory role in the team structure.

Software engineers can serve as application programmers, systems programmers, support engineers, or web developers. There are many courses that are focused on particular application areas, for example, digital signal processing. The courses in the following table are the core courses applicable to software engineering.

Courses offered in the Software Development/Software Engineering Career Focus:


Course Number Title Description
MSCS 5610 or
MSCS 6330
Data Mining Techniques for extracting patterns from large databases. Classification, prediction, clustering, summarization and discrimination.

MSCS 5800 or

MSCS 6380

Principles of Data Base Systems/
Advanced Database Systems
Database concepts and architecture. Data modeling, transactions, security Web access and distributed query.

MSCS 5860 or

MSCS 6340

Component-Based Software Construction/
Component Architecture
Components in object-oriented programming, selection, integration, component frameworks, specification and interfaces.
MSCS 6050 Elements of Software Development Software design and development process, requirements gathering and analysis, design, coding and documentation, configuration management, quality and maintenance of software.
MSCS 6055 Software Quality Assurance Quality approaches as they apply to requirements, design, release, configuration management, testing, defect management, and operations and support.

MSCS 6060 or

MSCS 6350

Parallel and Distributed Systems/
Distributed Computing
Software for parallel and distributed systems, tools, approaches, architecture, heterogeneity, and solving business problems.

MSCS 6310-6320 or
EECE 5820

Computer Networks 1 and 2/

Operating Systems and Networking
Networking and networking standards and protocols, layered architecture of networks.
MSCS 6370 Information Representation Grammars and languages for communicating business information in very diverse systems.
MSCS 6391 Topics MSCS: Data Warehouse Use of databases, online analytical processing, ETL, data dictionaries and metadata to support business reporting.

MSCS 6931 or

INTE 6150

MSCS Topics: Project Management/

Project Management
Effective project management, business alignment, structure, risk management, scheduling, monitoring, reporting and managing teams.
MSCS 6931 MSCS Topics: Software Quality Assurance Organizing for quality, quality experts, standards and best practices, techniques, metrics, safety, and cost of quality.
INTE 6158 System Analysis and Design Analyze, model, and design business systems using common tools and methodologies.
EECE 5610 Object-Oriented Software Engineering Object-oriented analysis and design. Requirements, specification, notations, quality, testing, reuse, and reverse engineering.
EECE 5620 Modern Programming Practices Advanced topics including design patterns, graphical components, software component models, and common models and libraries.
EECE 5630 Software Testing Testing and quality, testing techniques, validation, types of testing, metrics, preventing and detecting errors.
EECE 5650 Introduction to Algorithms Algorithm analysis for time and space complexity, advanced data structures, problem solving, greedy algorithms, dynamic programming, NP-completeness.
EECE 6810 Algorithm Analysis and Applications Asymptotic complexity analysis, recursion analysis, advanced data structure, sorting, heuristic search, linear programming.



Summer Research Experience

The Department of Mathematics, Statistics and Computer Science hosts a Summer Research Experience (REU) for Undergraduates. This program provides undergraduates with an intensive, faculty-mentored, summer research experience in the areas of applied mathematics, high-performance computing, statistics, ubiquitous systems and mathematics education. Learn more