Advising Handbook 2023-2024 
    
    Sep 08, 2024  
Advising Handbook 2023-2024 [ARCHIVED CATALOG]

Department of Computer and Information Science


  • General Department Information
    • Laptops
    • Enrollment in Common CIS Introductory Courses for Fall 2023
    • Junior Seminar and Senior Project Courses
    • Finding an Academic Advisor
    • Cooperative Programs
  • Computer Science
    • Fall 2023 Courses for Computer Science
    • Important Notes About the Major in Computer Science
    • Suggested Schedule for a Major in Computer Science
    • Minor in Computer Science
    • Information for Transfer Students
      • Three Year Computer Science Academic Plan
      • Two Year Computer Science Academic Plan
  • Data Science
    • Fall 2023 Courses for Data Science
    • Important Notes About the Major in Data Science
    • Suggested Schedule for a Major in Data Science
    • Minor in Data Science
    • Information for Transfer Students
      • Three Year Data Science Academic Plan
      • Two Year Data Science Academic Plan
  • Informatics
    • Fall 2023 Courses for Informatics
    • Important Notes About the Major in Informatics
    • Suggested Schedule for a Major in Informatics
    • Minor in Informatics
    • Information for Transfer Students
      • Three Year Informatics Academic Plan
      • Two Year Informatics Academic Plan
  • Software Engineering
    • Fall 2023 Courses for Software Engineering
    • Important Notes About the Major in Software Engineering
    • Suggested Schedule for a Major in Software Engineering 
    • Minor in Software Engineering
    • Information for Transfer Students
      • Three Year Software Engineering Academic Plan
      • Two Year Software Engineering Academic Plan

General Department Information

CIS department manages four majors and minors in:

  • Computer Science
  • Data Science
  • Informatics
  • Software Engineering

Each of these programs is unique, with a specific focus and leading to specific outcomes. The table below includes an overview of each program and illustrates some of the possible pathways.

  Computer Science (BS) Informatics (BS or BA) Data Science (BS) Software Engineering (BS)
Area of Study Mathematics and Natural Sciences Interdisciplinary Studies Interdisciplinary Studies Mathematics and Natural Sciences
  Discipline-Centered Interdisciplinary Applied: Data Focus Applied: Software Focus
Description A program focusing on computational
theory and the rich interplay between
computer hardware and software.
Students use scientific and design-centric
approaches to solve computational problems
and to create and evaluate realistic computer
and computer-based systems.
A program focusing on critical 
approaches to information and technology,
with an emphasis on interdisciplinary
methods. Students develop ethical and
technical frameworks and apply them to a
wide-ranging set of culturally-relevant
problems in order to enrich the publish
understanding of the relationship between
information and culture.
A program focusing on the study of
integrated principles and methods to 
analyze complex big data for decision
making, prediction, modeling, and data
management. Students examine social and
human contexts and ethical implications
of how data are collected, analyzed,
and utilized in diverse areas.
A program focusing on the knowledge
and skills that teams and individuals
need to develop and maintain 
large-scale software systems. Students
apply engineering principles and 
industry-standard software tools to
design, implement, test, release, and
enhance software for real-world customers.
Careers computer scientist
hardware engineer
computer engineer
product designer
systems architect
systems manager

Campaign strategist
information architect
digital librarian
health information technologist
geospatial analyst

data scientist
data analyst
data engineer
technology analyst
database analyst
database administrator
software engineer
product manager
web developer
DevOps engineer
document engineer
Graduate
Programs
Computer Science
Computer Engineering
Product Design
MIS
MPS
MLIS
MS
Data Science
Data Analytics
Data Engineering and 
Database Administration
Certificates
Software Engineering
Software Testing
Project Management
DevOps, CI/CD
Certificates

The requirements of these four majors and minors are described in detail at the following website: https://wws/cs/allegheny.edu/teaching/bulletin/

Laptops

We now invite all students to use their own laptops during class, laboratory, and practical sessions in all CIS courses. Desktop computers are not available in the teaching and lab spaces in Alden Hall. This allows us to closely mirror real-world practice while most effectively using the existing classroom furniture.

To ensure that every student has a laptop that will run the required software to complete work in computer science course, we encourage all students registered for computer sciences courses to visit the following web site to learn about department approved laptops: https://www.cs.allegheny.edu/resources/laptops

The department has a laptop lending program, which allows students to request a laptop to use while taking any of the CIS courses (do not have to be a major or minor). A student in need of a laptop for a CIS course can fill out a Laptop Loan Request at any point of the semester. The form is located at the following web site: https://www.cs.allegheny.edu/resources/laptops. A departmentally configured laptop will then be set up for this student and they will be contacted when the laptop is ready for pick up.

Enrollment in Common CIS Introductory Courses for Fall 2023

Common Introductory Courses (CMPSC 100, 101, and 102)
CMPSC 100 and CMPSC 101 are required for all CIS majors and CMPSC 100 is required for all CIS minors. Both CMPSC 100 and 101 use Python programming language.

CMPSC 100, Computational Expression:
We are offering two sections of CMPSC 100, Computational Expression, in Fall 2023. This is the course that most students should take as their first course in any Computer and Information Science program. If both classes fill, entrance advisers should contact the Chair and one of the instructors, Janyl Jumadinova (jjumadinova@allegheny.edu). She may add students to this course beyond the set limit, in consultation with the second CMPSC 100 instructor, if the room capacity and software and hardware availability permit doing so.  

CMPSC 101, Computational Expression:
Interested students and their entrance advisors can contact the Chair, Janyl Jumadinova (jjumadinova@allegheny.edu) if they have taken an AP Computer Science Examination (and scored a 3, 4, or 5) or if they have some background knowledge in programming in Python. The instructor of the course is the new faculty who will begin her employment at Allegheny in August. During FYCR, the Chair may add students to this course, in consultation with the instructor, beyond the set limit if the room capacity and software and hardware availability permit doing so.

Meeting Student Demand for Computer and Information Science Courses:

If student interest goes beyond the room capacity in which a course meets, we will collaborate with the Provost, Registrar, entrance advisers, and incoming students to ensure that, whenever possible, students can take an introductory course in their first or second semester. Additionally, with the assistance of entrance advisors, we can record the names of students who are not able to add a computer science course in their first semester and reserve them a spot in the course when it is offered next time. Please contact a course instructor and the Chair for assistance. The faculty in Computer and Information Science have already planned a tentative schedule of course offerings up to the Spring 2028 semester. Please contact the chair for read-only access to this Google Spreadsheet.

Junior Seminar and Senior Project courses

Junior Seminar, CMPSC 580, is always offered in the spring semester. Students can register for CMPSC 580 directly on Self-Service. This course must be completed before students take the Senior Comprehensive Project course in their major. 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 an appropriate 600 course taken in the Fall semester and a 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 is able to satisfy all requirements of their major in the CIS department.

Finding an Academic Advisor

Students can approach any CIS faculty to serve as their academic advisors. While all CIS faculty are capable of serving as advisors for any major in the department, the following are the primary focus areas of faculty:

Oliver Bonham-Carter: Data Science
Doug Luman: Informatics
Greg Kapfhammer: Software Engineering
Janyl Jumadinova: Computer Science
New faculty, Emily Graber and Morgan Green can begin serving as academic advisors starting in Fall 2024.

Cooperative Programs

Students are encouraged to read the sections of the Academic Bulletin concerning cooperative opportunities such as the Carnegie Mellon’s (CMU’s) Accelerated Master’s Program in Information Systems Management or one of the 3-2 engineering programs and Health Informatics program at Chatham. It is likely that participation in such academic programs will require a more intense program of study during the first three years of study.

Computer Science 

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

Fall 2023 Courses for Computer Science 

Introductory Courses (CMPSC 100, 101, and 102)
All three introductory courses are required for a computer science major. CMPSC 102 is not offered in Fall 2023 as it is a spring course and is offered once a year, every spring semester.

Core Courses (CMPSC 200)
CMPSC 200, Computer Organization, is taught during the Fall 2023 semester. All of the core courses have two 100-level CIS courses as a prerequisite and are thus not ideal courses for incoming students unless they have taken prior courses in Computer Science but maybe suitable for transfer students. If a student wants to enroll in CMPSC 200, they should contact the instructor, Doug Luman (dluman@allegheny.edu). This course is typically offered every fall semester.

Elective Courses (CMPSC 305)
CMPSC 305, Database Systems, is unlikely to be suitable for incoming first-year students. However, they may be a good fit for incoming transfer students. Students interested in CMPSC 305 can contact Oliver Bonham-Carter (obonhamcarter@allegheny.edu) to see if they can be added to this course. 

Important Notes About the Major in Computer Science

  • The major in Computer Science requires the successful completion of at least 48 semester hours in Computer Science. To graduate with a major in Computer Science, a student must have an earned GPA of at least 2.0 in the required Computer Science and other courses presented for the major. For the Computer Science major, at most one of CMPSC 100, 101 or 102 may be presented for the major on a Credit/No Credit grade basis. 
  • Students who are interested in Mathematics and/or planning to attend graduate school in Computer Science are strongly encouraged to take Math 151 early in their academic career. In consultation with their academic adviser, students who major in Computer Science may incorporate Mathematics courses into their study through the following substitutions:
    • Math 205 as a substitute for CMPSC 102
    • Math 320, Math 330, Math 345, or Math 370 as a substitute for one of the required specialization courses.

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 Computer Science

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
CMPSC 102 (spring only)
Sophomore Two of the following:
CMPSC 200 (fall only)
CMPSC 204 (fall only)
Elective
Two of the following:
CMPSC 202
CMPSC 406 (spring only)
Elective
Junior Remaining course from CMPSC 200, 
CMPSC 204, or Elective
Remaining course from CMPSC 202, 
CMPSC 406, or Elective
CMPSC 580 (spring only)
Senior CMPSC 600  

Students who declare a Computer Science 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 Computer Science

The minor in Computer Science requires the completion of at least 24 semester hours of coursework in Computer Science including:

  •     CMPSC 100 - Computational Expression AND
  •     CMPSC 102 - Discrete Structures 

A minor must also include two courses from the Core (CMPSC 200, CMPSC 202, CMPSC 204, CMPSC 406) and two courses from Electives (CMPSC 300, CMPSC 304, CMPSC 400, CMPSC 403). Please remember that at most one of CMPSC 100 or 102 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 Computer Science 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 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 102
  • Take 1-2 Core course(s)
  • Take 2 Elective course
  • Complete CMPSC 100-level introductory
    courses if necessary (minors need 2: CMPSC 100 
    and CMPSC 102
    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)
  • Take 1-2 Elective courses (minors need 2)
Year 3 at
Allegheny
  • Complete remaining Core or Elective courses
    if necessary
  • Take CMPSC 600 in the fall semester
  • Take CMPSC 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 Computer Science 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 102)
  • Take 2-3 Core courses
  • Optionally, take 1 Elective course
  • Enroll in CMPSC 580, Junior Seminar (spring 
    semester only)
     
  • Complete CMPSC 100-level introductory
    courses if necessary (minors need 2: CMPSC 100 and CMPSC 102)
  • Take 1-2 Core courses (minors need 2)
  • 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 CMPSC 600 in the fall semester
  • Take CMPSC 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 many 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.

Data Science 

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

Fall 2023 Courses for Data Science

Introductory Courses (CMPSC 100, 101, and 105)
All three introductory courses are required for a data science major. CMPSC 105 is not offered in Fall 2023 as it is a spring course and is offered once a year, every Spring semester.

Core Courses
A number of Core courses offered through various departments are available in Fall 2023. While some of them do not have prerequisites, others do have prerequisites. Also, some courses are already full. The courses with prerequisites are unlikely to be suitable for incoming first-year students but could be appropriate for some incoming transfer students.

Core courses offered in Fall 2023 under Effective Communication category:

  • ENGL 208
  • ENGL 210 (currently full and has a prerequisite)

Core courses offered in Fall 2023 under Ethics category:

  • PHIL 140 (limited number of seats left)
  • PSYCH 162 (currently full)

Core courses offered in Fall 2023 under Statistics category:

  • BIO 385 (currently full and has prerequisites)
  • ECON 202 (has prerequisites)
  • POLSC 489 (has prerequisites)
  • Math 345  (has prerequisites)
  • PSYCH 207  (has prerequisites)

Elective Courses 

The following elective courses are offered in Fall 2023:

  • ECON 203 (has a prerequisite)
  • GHS 223 (currently full)
  • GHS 228
  • GHS 321 (has a prerequisite, not open to first-year students)
  • PSYCH 307  (has prerequisites)
  • CMPSC 305

Courses that have prerequisites are not suitable for incoming first-year students. However, they may be a good fit for incoming transfer students. Students interested in CMPSC 305 can contact Oliver Bonham-Carter (obonhamcarter@allegheny.edu) to see if they can be added to this course. 

Important Notes About the Major in Data Science

  • The major in Data Science requires the successful completion of at least 48 semester hours. To graduate with a major in Data Science, a student must have an earned GPA of at least 2.0 in the required courses presented for the major. For the Data Science major, at most one of CMPSC 100, 101 or 105 may be presented for the major on a Credit/No Credit grade basis. 
  • With an approval from an academic advisor, students may substitute a Junior Seminar in another department for CMPSC 580.

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

Suggested Schedule for a Major in Data Science

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

  Fall Academic Semester Spring Academic Semester
First Year CMPSC 100 CMPSC 101
CMPSC 105 (spring only)
Sophomore CMPSC 301 (fall only)
1 additional Core courses
CMPSC 405 (spring only)
1 additional Core courses
Junior Remaining Core course
Elective
CMPSC 580
Senior DS 600 DS 610

Students who declare a Data Science 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 Data Science

The minor in Data Science requires the completion of at least 24 semester hours of coursework including:

  • CMPSC 100 - Computational Expression AND
  • CMPSC 105 - Data Exploration AND
  • CMPSC 301 - Data Science 

A minor must also include one course from the Ethics Core, one course from Effective Communication Core, and one course from Statistics Core. Please remember that at most one of CMPSC 100 or 105 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 Data Science 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 CMPSC courses with a lab (with an exception of the Junior Seminar and Senior Project) in one semester.
  MAJOR MINOR
Year 1 at
Allegheny
  • Complete remaining CMPSC 100-level introductory courses
    if necessary (majors need 3: CMPSC 100, 101, and 105)
  • Take 2-3 Core course(s)
  • Complete CMPSC 100-level introductory course
    if necessary (minors need 2: CMPSC 100 and CMPSC 105)
  • Take 1-2 Core courses
Year 2 at
Allegheny
  • Take 2-3 Core courses
  • Optionally take 1 Elective course
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Take 2-3 Core courses
Year 3 at
Allegheny
  • Complete remaining Core or Elective courses
    if necessary
  • Take DS 600 in the fall semester
  • Take DS 610 in the spring semester
  • Take any remaining courses to reach major
    requirement of 48 credits.
  • Complete remaining courses if necessary
  • Take any remaining courses to reach minor
    requirement of 24 credits

Two Year Computer Science 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 CMPSC 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 105)
  • Take 2-4 Core courses
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Complete CMPSC 100-level introductory courses
    if necessary (minors need 2: CMPSC 100 and CMPSC 105)
  • Take 1-2 Core courses (minors need 2)
  • Optionally, take 1 Elective course (minors need 2)
Year 2 at
Allegheny
  • Take 1-3 Core courses
  • Take 1 Elective course
  • Take DS 600 in the fall semester
  • Take DS 610 in the spring semester
  • Take any remaining 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 many 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.

Informatics

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

Fall 2023 Courses for Informatics

Introductory Courses (CMPSC 100, 101, and 105)
All three introductory courses are required for a data science major. CMPSC 105 is not offered in Fall 2023 as it is a spring course and is offered once a year, every Spring semester.

Core Courses
Most Core courses are not offered in Fall 2023. The following Core Methods courses are offered in Fall 2023 but are full:

  • Art 187 (currently full)
  • FDS 171 (currently full)

Applications Modules
Students should consult with an advisor about their interests, questions, and goals as they design their module coursework. In their first year, students should consider taking introductory courses related to their module(s) of interest.

Important Notes About the Major in Informatics

  • The major in Data Science requires the successful completion of at least 48 semester hours. To graduate with a major in Informatics, a student must have an earned GPA of at least 2.0 in the required courses presented for the major. For the Informatics major, at most one of CMPSC 100, 101 or 105 may be presented for the major on a Credit/No Credit grade basis. 
  • With an approval from an academic advisor, students may substitute a Junior Seminar in another department for CMPSC 580.

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

Suggested Schedule for a Major in Informatics

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

  Fall Academic Semester Spring Academic Semester
First Year CMPSC 100 CMPSC 101
CMPSC 105 (spring only)
Sophomore 2 Core courses 1 Core course
1 Applications Module course
Junior Remaining Core course
1 Applications Module course
CMPSC 580
Senior INFM 600 INFM 610

Students who declare an Informatics 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 Informatics

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

  • CMPSC 100 - Computational Expression AND
  • CMPSC 101 - Data Structures 

A minor must also take two Core courses (CMPSC 350 and COMM 342) and two courses from one Applications Module. 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 Data Science 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 CMPSC 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 105)
  • Take 2 Core course(s)
  • Optionally, take 1 Applications Module course
  • Complete CMPSC 100-level introductory course
    if necessary (minors need 2: CMPSC 100 and CMPSC 101)
  • Take 1-2 Core courses
Year 2 at
Allegheny
  • Take 2 Core courses
  • Take 1 Applications Module course
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Complete remaining Core courses if necessary
  • Take 2 Applications Module courses
Year 3 at
Allegheny
  • Complete remaining Applications Module course if necessary
  • Take INFM 600 in the fall semester
  • Take INFM 610 in the spring semester
  • Take any remaining courses to reach major
    requirement of 48 credits
  • Complete remaining courses inf necessary
  • Take any remaining courses to reach minor 
    requirement of 24 credits

Two Year Computer Science 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 CMPSC 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 105)
  • Take 2-3 Core courses
  • Enroll in CMPSC 580, Junior Seminar (spring semester only)
  • Complete CMPSC 100-level iintroductory course
    if  necessary (minors need 2: CMPSC 100 and CMPSC 101)
  • Take 1-2 Core courses (minors need 2)
  • Optionally, take 1 Applications Module course (minors need 2)
Year 2 at
Allegheny
  • Complete remaining 1-2 Core courses
  • Take 2 Applications Module courses
  • Take INFM 600 in the fall semester
  • Take INFM 610 in the spring semester
  • Take any remaining courses to reach major 
    requirement of 48 credits
  • Take 1-2 Applications Module 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 many 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.

Software Engineering

Area of Study: Mathematics and Natural Sciences
Programs: Major and Minor
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 Computer Science may not major in Computer Science, Data Science, or Informatics.

Fall 2023 Courses for Software Engineering 

Introductory Courses (CMPSC 100, 101, and 104)
All three introductory courses are required for a computer science major. CMPSC 104 is not offered in Fall 2023 but it will be offered every fall semester starting in Fall 2024.

Elective Courses (CMPSC 305)
CMPSC 305, Database Systems, is unlikely to be suitable for incoming first-year students. However, they may be a good fit for incoming transfer students. Students interested in CMPSC 305 can contact Oliver Bonham-Carter (obonhamcarter@allegheny.edu) to see if they can be added to this course. 

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 Computer Science 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 Computer Science 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 many 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.