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