Joint BS in Computer Science/MS in Computer Science

Degree Requirements

To earn a joint Bachelor of Science in Computer Science/Master of Science in Computer Science degree from UIC, students need to complete university, college, and department degree requirements. The Department of Computer Science degree requirements are outlined below. Students should consult the College of Engineering section for additional degree requirements and college academic policies.

The Joint Bachelor of Science in Computer Science (BSCS) and Master of Science in Computer Science (MSCS) is designed for undergraduate students with outstanding academic performance who desire to pursue graduate studies in Computer Science, or who wish to prepare themselves for advanced placement in the workplace. Students will earn both a BSCS and an MSCS degree upon completion, with 8 hours of course work shared between the two degrees.

The requirements for completion of the combined BSCS/MSCS degree are identical to the completion of these two separate degrees; however, there are 8 hours of shared course work used for both degrees. Completion of 120 hours at the undergraduate level; plus 8 shared hours counting toward both the BSCS and MSCS degrees; plus 28 hours of course work at the graduate level will result in joint BSCS/MSCS degrees. Students in the BSCS who have only two semesters of course work left and who have at least a 3.60/4.00 grade point average may register for two graduate-level courses (one at the 400 level, and one at the 500 level) and receive 4 hours, instead of 3 hours, for each. The graduate-level courses taken in the senior year will be used at the undergraduate level to fulfill 8 hours of BS selective requirements. At the graduate level these courses will count as required courses. An advisor must approve these courses.

Students should apply to the program during their third year, after having completed at least 27 credit hours of CS courses (excluding CS 398). An overall GPA of 3.60 or higher is required for application.

Sample Course Schedule

Plan of Study Grid
First Year
Fall SemesterHours
MATH 180 Calculus I 4
CS 111 Program Design I 3
ENGL 160 Academic Writing I: Writing in Academic and Public Contexts 3
Science Elective 5
ENGR 100 Engineering Orientation a 1
 Hours15
Spring Semester
MATH 181 Calculus II 4
ENGL 161 Academic Writing II: Writing for Inquiry and Research 3
CS 141 Program Design II 3
CS 151 Mathematical Foundations of Computing 3
General Education Requirement course 3
 Hours16
Second Year
Fall Semester
MATH 210 Calculus III 3
CS 211 Programming Practicum 2
CS 251 Data Structures 4
Science Elective 5
General Education Requirement course 3
 Hours17
Spring Semester
CS 261 Machine Organization 3
CS 301 Languages and Automata 3
Required math course 3
General Education Requirement course 3
Humanities/Social Sciences/Art Elective 3
 Hours15
Third Year
Fall Semester
CS 361 Systems Programming 3
CS 362 Computer Design 3
CS 342 Software Design 3
Required math course 3
General Education Requirement course 3
Free Elective 3
 Hours18
Spring Semester
CS 341 Programming Language Design and Implementation 3
Technical Elective 3
Required math course 3
Humanities/Social Science Elective 3
Free Elective 5
 Hours17
Fourth Year
Fall Semester
CS 377 Communication and Ethical Issues in Computing 3
CS 401 Computer Algorithms I 3
Technical Elective 3
General Education Requirement course 3
Technical Elective 3
 Hours15
Spring Semester
CS 499 Professional Development Seminar 0
Technical Elective 4
Technical Elective 4
CS 385 Operating Systems Concepts and Design 3
Free Elective 4
 Hours15
Fifth Year
Fall Semester
MS Course Work 16
 Hours16
Spring Semester
MS Course Work 4
MS Course Work or 4
M.S. Thesis Research (thesis option)  
MS Course Work or one of the following: 4
Project Research (project option)  
M.S. Thesis Research (thesis option)  
 Hours12
 Total Hours156