Program Educational Objectives
The program educational objectives are:
- Preparation for both professional practice and advanced study
- Promotion of the ideas of life-long learning
- Development of self-fulfillment, confidence, and belonging within the discipline of computer science
- Development of ethical values and personal responsibility
- Encouragement of inter- and intradisciplinary exploration
The program educational objectives are met by a modern curriculum that balances computing practices with the fundamental theories of computer science. Mathematics, projects, and digital hardware courses are important components of the curriculum. In addition to traditional technical courses, and in keeping with the Jesuit tradition of educating the whole person, the curriculum includes studies in the humanities, communications, social sciences, and fine arts. Opportunities for involvement in professional societies, student design competitions, public open-source projects, research with faculty, and University co-curricular activities are plentiful and help to accomplish these objectives.
Transfer Requirements
Students interested in transferring into the Computer Science undergraduate program must complete MATH 131 Calculus I, CMSI 1010 Computer Programming and Laboratory, and CMSI 2120 Data Structures and Applications with a minimum grade of B (3.0) in each course before being considered. Final approval of the transfer request resides with the department chair.
Student Outcomes
Graduates of the Computer Science undergraduate program will be able to:
- Communicate the purpose and technical details of a software system
- Work effectively as a team member
- Apply the right language or tool for a given computing task
- Design, implement, test, and evaluate software components and systems
Graduation Requirements
Department criteria for graduation include
- completion of at least 124 semester hours covering all requirements below, with
- a minimum of 45 semester hours of upper division courses, and
- a minimum grade point average of C (2.0) in the upper division courses.
The course requirements fall into five areas:
- Computer Science Foundational Knowledge and Skills:
Course List
Code |
Title |
Semester Hours |
CMSI 1010 | Computer Programming and Laboratory | 4 |
CMSI 1900 | Exploring Computer Science | 0 |
CMSI 2120 | Data Structures and Applications | 4 |
CMSI 2130 | Algorithms and Analysis | 4 |
CMSI 2820 | Discrete Mathematics for Computer Science | 4 |
CMSI 2210 | Computer Systems Organization | 4 |
- CMSI 2820 Discrete Mathematics for Computer Science may be replaced with MATH 367 Discrete Methods. This substitution is recommended for students wishing to double major or minor in mathematics.
- Computer Science Explorations: These courses build on foundational knowledge and skills to deepen undergraduate-level exposure to the field. In addition to a fixed set of explorations courses required of all majors, students must select four or more breadth explorations courses that include at least one course from three distinct tracks, determined in consultation with the student’s academic advisor. Students have the flexibility to emphasize breadth by continuing to select courses across multiple tracks or emphasize depth by focusing on courses within a single track aligning to more specialized interests.
- CMSI 3801 Languages and Automata I; CMSI 3802 Languages and Automata II
- Four (4) total courses, one from each of the three tracks listed below, plus one additional upper division computer science course, not limited to the selections below.
- Artificial Intelligence (AI)-This track prepares students to address modern problems in machine learning, intelligent agent design, and the data sciences, extending both industry capabilities and theoretic development for academia:
- Systems/Architecture (SA)-This track focuses on the architecture and design of hardware and software systems, along with security and privacy issues relating to systems and networks:
Course List
Code |
Title |
Semester Hours |
CMSI 3520 | Database Systems | 4 |
CMSI 3550 | Networks and the Internet | 4 |
CMSI 3510 | Operating Systems | 4 |
EECE 3140 | Microprocessor and Microcontroller Systems | 4 |
- Games and Interaction (GI)-This track provides an in-depth examination of both game design (the rules, objectives, etc. that make games successful) and development (the implementation of a designed game), alongside the underpinning theories of user interaction and computer graphics:
- Computer Science Applications, Integration, and Mastery:
- Mathematics Core:
- The MATH 361 Probability and Mathematical Statistics requirement is waived for students who take CMSI 4320 Cognitive Systems Design.
- University Core: A minimum of 32 semester hours that must include the following:
Course List
Code |
Title |
Semester Hours |
FFYS 1000 | First Year Seminar | 3-4 |
RHET 1000 | Rhetorical Arts | 4 |
| 4 |
| 4 |
| 4 |
| 4 |
1 | 4 |
2 | As needed |
- Free Electives: Courses necessary to bring the total semester hour count to 124. Students will normally prepare a coherent program of electives and related core courses with a faculty advisor. Students may use elective slots for additional Computer Science courses, either emphasizing breadth by taking courses across multiple tracks, or depth by selecting multiple courses within a track. Students may also use free electives to help pursue a second major or minor or take any combination of courses that suits their interests. Example elective groups include, but are by no means limited to:
- Business and Information Management: Selected electives from economics or business and multiple courses from Information Systems and Business Analytics, such as ISBA 3720 Systems Analysis and Design.
- Scientific Computing: Three suitable science courses and two math courses outside the Computer Science Mathematics Core with a computational component.
- Games and Animation: The Games and Interaction computer science track can be supplemented with several suitable animation (ANIM) courses and one physics course, preferably PHYS 1100 Introduction to Mechanics.
- Mathematics: Courses selected from Calculus III, Differential Equations, Abstract Algebra, Methods of Applied Math, Real Variables, Complex Variables, Topology, or any upper division mathematics course.
- Cognitive Science: The Artificial Intelligence computer science track can be supplemented with PSYC 2003 Brain and Behavior (with appropriate PSYC prerequisites), PSYC 4001 Cognitive Neuroscience (with appropriate prerequisites). One or more courses in linguistics or the philosophy of language and thought are recommended.
- General Breadth: Any number of free electives to create a broad-based education. A mix of martial arts, languages, music or music theory, film, animation, psychology, and various selections from the humanities, communications, and creative arts are common choices.
Curriculum
(124 Semester Hours)
A typical course of study leading to the B.S. degree in computer science is as follows. Note that this chart is not a substitute for the official requirements above. Students must consult with an academic advisor to ensure all graduation requirements are satisfied and that 124 total semester hours are completed.
Plan of Study Grid
First Year |
Fall |
CMSI 1010 |
Computer Programming and Laboratory |
4 |
MATH 131 |
Calculus I |
4 |
FFYS 1000 |
First Year Seminar |
4 |
|
4 |
CMSI 1900 |
Exploring Computer Science |
0 |
ORNT 1000 |
First Year Forum |
0 |
| Semester Hours | 16 |
Spring |
CMSI 2120 |
Data Structures and Applications |
4 |
MATH 132 |
Calculus II |
4 |
RHET 1000 |
Rhetorical Arts |
3-4 |
|
4 |
| Semester Hours | 15-16 |
Sophomore Year |
Fall |
CMSI 2130 |
Algorithms and Analysis |
4 |
CMSI 2210 |
Computer Systems Organization |
4 |
CMSI 2021 |
Web Application Development 1 |
2 |
CMSI 2820 |
Discrete Mathematics for Computer Science |
4 |
|
3-4 |
| Semester Hours | 17-18 |
Spring |
MATH 251 |
Applied Linear Algebra |
4 |
CMSI 2022 |
Mobile Application Development 1 |
2 |
EECE 2242 |
Logic and Computer Design |
4 |
|
4 |
|
3-4 |
| Semester Hours | 17-18 |
Junior Year |
Fall |
CMSI 3801 |
Languages and Automata I |
4 |
|
4 |
|
4 |
|
3-4 |
| Semester Hours | 15-16 |
Spring |
CMSI 3802 |
Languages and Automata II |
4 |
|
4 |
|
4 |
MATH 361 |
Probability and Mathematical Statistics |
4 |
| Semester Hours | 16 |
Senior Year |
Fall |
CMSI 4071
|
Senior Project I
or Senior Thesis I |
4 |
|
4 |
2 |
4 |
|
0-6 |
| Semester Hours | 12-18 |
Spring |
CMSI 4072
|
Senior Project II
or Senior Thesis II |
4 |
|
4 |
2 |
4 |
|
0-6 |
| Semester Hours | 12-18 |
| Minimum Semester Hours | 120-136 |