Computer Science Requirements

Main Content

Computers are a very prominent part of modern business and society. Many of the most important and exciting technological developments today involve computers and computer systems. The expanding role of computer-based systems has caused a high demand for computer professionals, a situation that is expected to continue well into the future.

Computer Science is an extremely exciting, challenging and rewarding area of study. It incorporates an excellent combination of theoretical and intellectual content on the one hand, and practical application and societal importance on the other. By some standards, it is the strongest discipline in academia today, and has been for the past three decades.

Computer Science is a broad and multidisciplinary field. Its general focus is on the design, analysis and use of computer hardware and software. As an academic discipline, it does not focus on just one technology, programming language, or computer architecture. Rather, it seeks to ground the student in fundamental concepts that are applicable to many environments.

Our curriculum prepares graduates for positions in the computer industry, as well as for advanced studies and research. We offer an undergraduate major leading to the Bachelor of Science and Bachelor of Arts degrees, an undergraduate minor, and graduate programs leading to the Master of Science degree and Doctor of Philosophy degree in computer science.

The bachelor’s degree programs in computer science provide students with the technical background necessary to use, design, analyze and implement computer software and systems. All students must complete the required University Core Curriculum and satisfy the School of Computing requirements. Computer Science majors are required to take a core set of courses dealing with programming, data structures and algorithms, computer organization, operating systems, social issues of computing, and a senior project.

Along with taking the core courses, computer science majors may choose from a broad selection of computer-based courses in order to complete their course requirements. This broad selection of courses covers all principal areas of computer science: languages, networks, databases, architecture, graphics, software engineering, artificial intelligence, bioinformatics, web development, cyber security, robotics and parallel computing. The curriculum for the Bachelor of Science degree is more traditional and somewhat more flexible than that for the Bachelor of Arts degree. It prepares students for a wide range of technical careers as software developers, systems administrators, database administrators, network administrators, etc. It also prepares students for entry into graduate degree programs in computer science. The Bachelor of Science degree in Computer Science is accredited by the Computing Accreditation Commission (CAC) of the Accreditation Board for Engineering and Technology (ABET), abet.org. The Bachelor of Arts degree program is more specifically oriented toward the interdisciplinary aspect of computer science in which students select a secondary concentration such as: business, engineering, science, education, liberal arts, or mass communication. One possible secondary concentration in the area of business applications is designed to enable students to pursue a fifth year of studies leading to an MBA degree.

Program Educational Objectives

  1. To provide students with a solid foundation in computer science, mathematics, and basic sciences, which will allow them to successfully pursue graduate studies in computer science, or other related degrees.
  2. To provide students with a solid foundation in computer science, mathematics, and basic sciences, which will allow them to successfully compete for quality jobs in all functions of computer science employment, ranging from software developer to customer support.
  3. To equip students with life-long learning skills, which will allow them to successfully adapt to the evolving technologies throughout their professional careers.
  4. To equip students with communication skills, which will allow them to collaborate effectively with other members of a team for the development of large computer and software systems.
  5. To provide students with the broad education necessary to understand the impact of computer technology in a global and societal context.

Student Outcomes

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions. 

The School of Computing also offers a minor in computer science. Students can choose from a variety of option tracks. Service courses are also available for students who wish to acquire some computer literacy but are not pursuing a career as a computer professional. Computer science majors can enrich their computer science degree with a secondary concentration, minor, or double major in areas such as mathematics, engineering, business, communications, etc.

Students interested in computer science will be advised with respect to computer science courses by the school so they may profitably pursue their academic and professional interests.

The School of Computing enforces the following retention policy: a computer science major will not be permitted to enter any of the courses CS 220, CS 306, CS 311, CS 320, CS 330 and CS 335, unless that student has achieved a grade point average of at least 2.00 for all required precedent computer science courses. Any exceptions to this policy will require the written approval of the Undergraduate Program Director. 

Permission to enroll in computer science courses is subject to the restriction that a student who receives a grade of F or WF two times in the same course cannot take the course again. An exception to this policy may be granted by written approval of the Undergraduate Program Director, but such exceptions will be rare.

The School of Computing also enforces the following restriction on students repeating its courses: a student cannot repeat a course or its equivalent, in which a grade of B or better was earned, without the consent of the Undergraduate Program Director. 

Bachelor of Science (B.S.) in Computer Science Degree Requirements

Degree RequirementsCredit Hours
University Core Curriculum Requirements 1 39
Requirements for Major in Computer Science 2 71
Computer Science Core 3 32
CS 202, CS 215, CS 220, CS 221, CS 306, CS 311, CS 320, CS 330, CS 335, each with a grade of C or better
Computer Science Electives 4 21
To build on the Core and to provide breadth and depth, seven 400-level computer science courses must be chosen
Senior Project 498 and 499/499B 5
MATH 150, MATH 250, MATH 221 5 8
Laboratory Science Sequence - PHYS 205A, PHYS 205B and PHYS 255A, PHYS 255B 5
Additional School of Computing Academic Requirements 9
Biological Sciences (3 hours completed in UCC) 3
Mathematics (completed with computer science major) Physical Sciences (completed with computer science major)
Supportive Skills - CS 290 and CS 280 or CS 480 6
General Electives 1
Total 120

1 The supportive skills are also required for a major.

2 The supportive skills are also required for a major. At least half of the computer science credit hours must be taken at SIU.

3 At least half of the computer science credit hours must be taken at SIU.

4 At least half of the computer science credit hours must be taken at SIU. CS 300 and CS 393 cannot be used to fulfill the elective requirement. Use of CS 490, CS 492, or CS 493 requires program director's approval. At most one of CS 447, CS 449, CS 471, CS 472, and CS 475 can be used as an elective. Up to two of the seven 400-level courses could be replaced by 300-level computer science courses.

5 The supportive skills are also required for a major. Prerequisite is MATH 111 or MATH 108 and MATH 109. The elective hours are reduced by 3-6 hours for students who place into a course lower than calculus.

Bachelor of Arts (B.A.) in Computer Science Degree Requirements

Degree RequirementsCredit Hours
University Core Curriculum Requirements 39
Requirements for Major in Computer Science 1 69
Computer Science Core 2 32
CS 201, CS 202, CS 215, CS 220, CS 221, CS 304 or CS 305, CS 306, CS 330, CS 335 each with a grade of C or better
Computer Science Electives 3 18
To build on the Core and to provide breadth and depth, two additional 300- and four 400-level computer science courses must be chosen.
MATH 111 (3 hours completed in UCC) 4 1
Secondary Concentration 5 18
18 credit hours approved by the School of Computing in one of the following areas: business, engineering, science, education, liberal arts, or mass communication. Pre-med, pre-law or a minor in any of the above areas may fully or partially satisfy this requirement depending on credit hours.
Additional School of Computing Academic Requirements 12
Biological Sciences (3 hours completed in UCC) 3
Mathematics - completed with computer science major Physical Sciences (3 hours completed in UCC) 3
Supportive Skills - CS 290 and CS 280 or CS 480 6
Total 120

1 The supportive skills are also required for a major.

2 At least half of the computer science credit hours must be taken at SIU. Students must take either CS 304 or CS 305.

3 At least half of the computer science credit hours must be taken at SIU. CS 300 and CS 393 cannot be used to fulfill the elective requirement. Use of CS 490, CS 492, or CS 493 requires programs director's approval. At most one of CS 447, CS 449, CS 471, CS 472, and CS 475 can be used as an elective. The 300-level electives could be replaced by 400-level computer science courses.

4 MATH 111 could be replaced by MATH 108 and MATH 109, or by MATH 150.

5 MBA Foundation: MATH 150 (instead of MATH 111), ACCT 220, FIN 270 and FIN 330, MGMT 304 or MGMT 318, MKTG 304, and ECON 240 and ECON 241. MGMT 304 allows a student to earn a minor in Business and Administration. MGMT 318 is required for entry into the Master in Business Administration degree program. Six credit hours must be at 300-level or above.

For your individualized curricular guide, see your Student Education Planner in DegreeWorks.

Tracks for B.S. and B.A. Programs:

Computer science majors can use their electives to form an optional track in five different computer science areas: cyber security; data science; artificial intelligence and machine learning; software engineering and system development; and computer networks and distributed systems. Computer science majors must take three courses (out of their 400-level electives) from a particular topic to complete a track in that area. Computer science is a very dynamic field; therefore see cs.siu.edu for current tracks and their relevant courses.

Computer Science Minor

A minor consists of CS 202, CS 215, CS 220, and at least nine hours of 300-level computer science coursework. At least nine of these hours must be taken at SIU.