Department of Mathematics and Computer Science

Present Location: Software Engineering Degree Information

Software Engineering

The degree program in Software Engineering is designed to prepare students for entry-level employment in computer software development and to provide preparation for graduate work in software engineering or computer science. This curriculum uses as its basis the standard curriculum published by the Association for Computing Machinery (ACM) and the Institute for Electrical and Electronics Engineers (IEEE).

Liberal Arts Core requirements should be selected with care. For example, the mathematics and science requirements of this degree meet The College's Liberal Arts Core requirements. The major includes Mathematics, Science, and Computer Science requirements as well as the Software Engineering requirements.

A list and description of each Software Engineering course can be found here.

To read about previous Software Engineering Capstone Projects, click here.


Software Engineering Major Requirements

Software Engineering Core Requirements
Course CodeCourse TitleCredit Hours
SWE 3110Software Requirements and Design3
SWE 3120Software Testing3
SWE 4980Software Engineering Capstone I1
SWE 4990Software Engineering Capstone II1
Choose Two Upper-Level (3000/4000) SWE Courses From the Following
SWE 3240Software Quality and Configuration Management3
SWE 3420Software Maintenance3
SWE 4240Software Project Management3
Computer Science Requirements
CSC 1010Introductory Programming in Python4
CSC 1180Foundations of Programming in C++4
CSC 2180Data Structures4
CSC/SWE 2300Software Engineering3
CSC 3180Introduction to Algorithms3
CSC 3260Introduction to Human-Computer Interaction3
CSC 3400Database Design and Applications3
Pick From the Electives Below to Total 9 Hours. 2000-Level Programming courses can only satisfy 3 hours.
CSC 2220Programming in Java3
CSC 2230Programming in C#3
CSC 2240Programming in Python3
CSC 4000Operating Systems Theory and Practice3
CSC 4110Advanced Database Systems3
CSC 4150Introduction to Robotics and Artificial Intelligence3
CSC 4200Programming Languages3
CSC 4280Cybersecurity3
CSC 4281Penetration Testing3
CSC 4300Computer Architecture3
CSC 4350Computer Networks3
CSC 4380Information Security3
CSC 4400Computer Graphics3
CSC 4700Special Studies in Computer Science1-3
CSC 4950, 4960Special Topics1-3
Mathematics Requirements
CSC 3710Discrete Structures3
MTH 2040Calculus I4
MTH 2050Calculus II4
MTH 2180Applied Probability and Statistics3
MTH 3030Introduction to Linear Algebra with Applications3
Choose One Math Course From the List Below
MTH 3060Calculus III4
MTH 3100Introduction to Mathematical Proofs3
MTH 3110Ordinary Differential Equations3
MTH 3120Introduction to Geometry3
MTH 3200Introduction to Number Theory3
MTH 3250Probability and Statistics I3
MTH 3350Abstract Algebra I3
MTH 3380Introduction to Numerical Methods3
MTH 3400Multivariable Calculus3
MTH 3440Advanced Calculus I3
MTH 3950, 3960Special Topics1-3
MTH 4260Probability and Statistics II3
MTH 4360Abstract Algebra II3
MTH 4450Advanced Calculus II3
MTH 4950, 4960Special Topics1-3
Science Requirements
PHY 1010/1011 OR
PHY 3010/3011
Introduction to Physics/General Physics Lab
5
Science course/lab Courses must be chosen from:
  • Biology
  • Chemistry
  • Environmental Science
  • Geology
  • Physics
4-5
Additional Mathematics or Science Elective

Students must have at least 30 hours of mathematics and science (as denoted above). For some students, that means taking an additional course in Mathematics (3060 or higher), a third natural science course (see restrictions above), or electronics (PHY 3030).

It is the student's responsibility to have the required number of hours.

3-5
Non-Technical Support
SWE 1790Engineering Leadership3
COM 3450Technical Writing3
Total Major Hours83-88