Software Development Minor

The Software Development minor provides students with a solid understanding of software development and design, including programming in different computer languages, the use and theory of algorithms and data structures, and how to function effectively in a software development team. 

 

Current Catalog Year
2024-2025
Degree
Minor
Total Credits
20
Locations
Mankato

Program Requirements

Core

This course provides conceptual and logical tools for students planning to major in a computing-based major. Programming in a high-level language such as C++, Python, or Java, and the development of skills in abstraction, problem-solving, and algorithmic thinking are emphasized.

Prerequisites: MATH 112 or MATH 113 or MATH 115 or MATH 121

This course is a continuation of CIS 121. Students develop a basic knowledge of programming skills and object-oriented concepts, and use fundamental data structures such as lists, stacks, queues, and trees.

Prerequisites: CIS 121. Select One Course: MATH 112, MATH 113, MATH 115, MATH 121, or MATH 130

This course builds on CS 122 (Data Structures) with coverage of advanced data structures and associated algorithms, including trees, graphs, hashing, searching, priority queues, and memory management. Formal proof techniques, the analysis of best, worst, and expected cases, and the development of efficient algorithms are emphasized. Use of effect-free programming, first-class functions, and higher-order operations such as map, reduce, and filter are explored.

Prerequisites: MATH 121 and CS 111 or CIS 122 or IT 214

This course explores both structured as well as object oriented systems analysis and design. Use of upper and lower CASE tools are employed in the analysis, design and implementation of a team oriented term project.

Prerequisites: CIS 340. Select One Course: CIS 122 or CIS 123

Restricted Electives

Choose 4 Credit(s).

This course provides the student with a solid understanding of the principles, techniques and design patterns involved in advanced object-oriented programming. Successful students should have a distinct advantage in the marketplace.Variable

Prerequisites: CIS 223, CIS 380

Topics include software quality assurance, software quality metrics, software configuration management, software verification and validation, reviews, inspections, and software process improvement models, functional and structural testing models.

Prerequisites: CIS 223, CIS 380

An introduction to all important aspects of software engineering. The emphasis is on principles of software engineering including project planning, requirements gathering, size and cost estimation, analysis, design, coding, testing, implementation, and maintenance. Group project work.

Prerequisites: CIS 223, CIS 380