DRAFT Advising Handbook 2025-2026 
    
    Jul 10, 2025  
DRAFT Advising Handbook 2025-2026

Software Engineering


Software Engineering
Academic Bulletin

Area of Study: Mathematics and Natural Sciences
Programs: Major and Minor
Department: Department of Computer and Informaiton Science
Major/Minor Exclusions:
A student majoring in Software Engineering may not double major or minor in Computer Science, Data Science, or Informatics.
A student minoring in Software Engineering may not major in Computer Science, Data Science, or Informatics.

Description
A program focused on the knowledge and skills needed by teams and individuals to develop and maintain large-scale software systems. Students apply engineering principles and industry-standard tools to design, implement, test, release, and improve software for real-world clients.

Careers

  • Software Engineer
  • Product Manager
  • Web Developer
  • DevOps Engineer
  • Document Engineer

Graduate Programs and Certificates

  • Software Engineering
  • Software Testing
  • Project Management
  • DevOps / CI/CD
  • Certificates in related fields

Cooperative Programs

Our students have the opportunity to participate in one of the cooperative opportunities, including Carnegie Mellon’s (CMU’s) Accelerated Master’s Program in Information Systems Management or in Information Security Policy & Management, one of the 3-2 engineering programs and Health Informatics program at Chatham, and 4-1 program in Business Data Analytics with CMU’s Tepper School of Business. Participation in such academic programs will likely require more careful planning of the student’s program of study at Allegheny College, and students should work with their academic advisor to carefully craft their academic plan. More information about these programs is available at https://www.cis.allegheny.edu/teaching/cmu/

Finding an Academic Advisor

Students can approach any CIS faculty member to serve as their academic advisor.

Laptop Use in CIS Courses
All students are expected to use their own laptops during class and lab sessions in CIS courses. This setup reflects real-world practice and supports flexible classroom use.

To ensure your laptop meets course requirements, please review the department’s approved laptop guidelines here: https://www.cs.allegheny.edu/resources/laptops

Students enrolled in any CIS course (regardless of major/minor status) may request a loaner laptop at any time during the semester using the Laptop Loan Request Form at the same link. A configured laptop will be prepared and made available for pick-up at the library.

Introductory Courses (CMPSC 100, 101, and 104)
All three introductory courses are required for a software engineering major, CMPSC 100 and CMPSC 101 are offered every semester. CMPSC 104 is offered every fall semester. Both CMPSC 100 and  104 are appropriate and recommended for first-year students. Students with prior programming experience, specifically in Python, may reach out to the Chair (jjumadinova@allegheny.edu) to discuss the possibility of bypassing CMPSC 100 and enrolling in CMPSC 101.

Core Courses (CMPSC 201, CMPSC 203, CMPSC 302, CMPSC 404)
CMPSC 201, Programming Languages and CMPSC 203, Software Engineering, are taught every fall semester. CMPSC 302 and CMPSC 404 are offered every spring semester. All core courses have one or more prerequisites and are thus not ideal courses for incoming students unless they have taken prior courses in Computer Science but they may be suitable for transfer students.

Junior Seminar and Senior Project courses

Junior Seminar, CMPSC 580, is always offered in the spring semester. Students must receive the instructor’s permission to take the course before they can register for it on Self-Service. This course must be completed before students take the Senior Comprehensive Project course in their major. The first and second reader selection process for the Senior Comprehensive Project occurs in CMPSC 580. Students who plan to study away during the Spring semester of their Junior year should take CMPSC 580 in the spring semester of their Sophomore year.

Comprehensive Senior Project in all CIS majors is a two-semester project with SE 600 course taken in the Fall semester and SE 610 course taken in the Spring semester. In rare circumstances, faculty will consider an exception to the semesters in which these courses are taken, but no exception can be made to it being a two-semester project. Students who are double majoring should consider completing a joint, single comprehensive senior project by registering for DOUBL 600 and 610. Students completing a double project will work with their first reader to ensure their proposed project satisfies all requirements of their major in the CIS department.

Important Notes About the Major in Software Engineering

  • The major in Software Engineering requires the successful completion of at least 48 semester hours in Computer Science. To graduate with a major in Software Engineering, a student must have an earned GPA of at least 2.0 in the required courses presented for the major. For the Software Engineering major, at most one of CMPSC 100, 101 or 104 may be presented for the major on a Credit/No Credit grade basis. 

Additional, regularly updated, details about the Computer Science major are always available at: https://www.cs.allegheny.edu/teaching/bulletin/

Suggested Schedule for a Major in Software Engineering

We do not recommend taking more than two CMPSC courses with a lab (with an exception of the Junior seminar and a Senior Project) in one semester.

  Fall Academic Semester Spring Academic Semester
First Year CMPSC 100 CMPSC 101
Sophomore CMPSC 104
CMPSC 201 or CMPSC 202
CMPSC 302 (spring only)
CMPSC 201 or CMPSC 202
Junior CMPSC 203 (fall only)
1 Elective
CMPSC 404 (spring only)
Optionally, 1 Elective
CMPSC 580 (spring only)
Senior 1 Elective (majors need 2) if needed
SE 600
SE 610

Students who declare a Software Engineering major are encouraged to regularly meet with their academic adviser to verify that they are making suitable progress towards the completion of their degree requirements. 

Minors in Software Engineering

The minor in Software Engineering requires the completion of at least 24 semester hours of coursework in Software Engineering including:

  •     CMPSC 100 - Computational Expression AND
  •     CMPSC 101 - Data Structures AND
  •     CMPSC 203 - Software Engineering

A minor must also take one additional course from the Core courses (CMPSC 201, CMPSC 302, CMPSC 404) and two courses from Electives (CMPSC 400, CMPSC 403, CMPSC 303, CMPSC 305). Please remember that at most one of CMPSC 100 or 101 may be presented for the minor on a Credit/No Credit grade basis. 

Information for Transfer Students

A maximum of 16 transfer credits may be counted toward the major. A maximum of 8 transfer credits may be counted toward the minor.

Three Year Software Engineering Academic Plan

Transferring after one year
We expect students transferring to Allegheny after attending one year at another institution may have one introductory course; in some cases, they may also be transferring in a second or third introductory course and/or a Core or Elective course. We do not recommend taking more than two computer science courses with a lab (with an exception of the Junior Seminar and Senior Project) in one semester.
  MAJORS MINORS
Year 1 at
Allegheny
  • Complete remaining CMPSC 100-level introductory courses if necessary
    (majors need 3: CMPSC 100, 101, and 104)
  • Take 1-2 Core course(s)
  • Take 1 Elective course
  • Complete CMPSC 100-level introductory course if necessary
    (minors need 2: CMPSC 100, and CMPSC 101)
  • Take 1 additional Core or Elective course
Year 2 at
Allegheny
  • Take 2-3 Core courses
  • Take 1-2 Elective courses (majors need 2)
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Take 1-2 Core courses (minors need 2, including CMPSC 203)
  • Take 1-2 Elective courses (minors need 2)
Year 3 at
Allegheny
  • Complete remaining Core or Elective courses if necessary
  • Take SE 600 in the fall semester
  • Take SE 610 in the spring semester
  • Take any remaining CMPSC courses to reach major 
    requirement of 48 credits
  • Complete remaining Core or Elective courses if necessary
  • Take any remaining CMPSC courses to reach minor 
    requirement of 24 credits

Two Year Software Engineering Academic Plan

Transferring after two years
We expect students transferring to Allegheny after attending two years at another institution may have at least two introductory courses and may also be transferring in a Core or Elective course. We do not recommend taking more than two computer science courses with a lab (with an exception of the Junior Seminar and Senior Project) in one semester.
  MAJORS MINORS
Year 1 at
Allegheny
  • Complete remaining CMPSC 100-level introductory courses if necessary
    in the first semester (majors need 3: CMPSC 100, 101, and 104)
  • Take 2-3 Core courses
  • Optionally, take 1 Elective course
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Complete CMPSC 100-level introductory course if necessary
    (minors need 2: CMPSC 100 and CMPSC 101
  • Take 1-2 Core courses (minors need 2, one of them must be CMPSC 203)
  • Optionally, take 1 Elective course (minors need 2)
Year 2 at
Allegheny
  • Take 1-2 Core courses
  • Take 1-2 Elective courses (majors need 2)
  • Take SE 600 in the fall semester
  • Take SE 610 in the spring semester
  • Take any remaining CMPSC courses to reach major
    requirement of 48 credits
  • Take 1-2 Elective courses (minors need 2)
  • Take any remaining Core courses if necessary
  • Take any remaining CMPSC courses to reach minor 
    requirement of 24 credits

Issues to consider for transfer credits:

  • It is common for the similar sounding CMPSC courses to have varying degrees of “depth” across different institutions as evident by the varying or lack of prerequisites and topics covered. Transfer credit is accepted only for courses at approximately the same level of topic “depth” as the Allegheny College courses.
  • All CMPSC courses use version control software (Git), continuous integration (GitHub Actions) and some courses beyond CMPSC 100 use a container-based system (Docker). Transfer students unfamiliar with these technologies should reach out to the Chair of the department to be placed in a short tutoring program with the department’s Technical Leaders.
  • All CMPSC introductory courses at Allegheny College are taught in Python programming languages. Transfer students unfamiliar with Python should reach out to the Chair of the department to receive adequate support.