Bachelor of Science in Computer Science
B.S. in Computer Science Program
Educational Objectives
Graduates who have earned the bachelor’s degree in computer science, within a few years following graduation, will have demonstrated technical proficiency, collaborative activities, and professional development.
Technical Proficiency
Graduates will have achieved success and visibility in their chosen careers as shown by technical accomplishments in industry, government, entrepreneurial activities, or academia.
Collaborative Activities
Graduates will have exercised shared responsibilities through activities such as contributions to multiperson or multidisciplinary technical projects, participation in professional society/organization functions, or performing collaborative research. In all such cases, graduates will have contributed to documentation of the collaborative activities.
Professional Development
Graduates will have demonstrated continual updating to extend their expertise and adapt to a changing environment through graduate studies; short courses, conferences, and seminars; or professional self-study. In addition, graduates will have demonstrated evidence of increasing technical and/or managerial impact.
Careers
Professional Opportunities
Computer scientists may pursue the design, analysis, and implementation of computer algorithms; study the theory of programming methods and languages; or design and develop software systems. They also may work in artificial intelligence, database systems, parallel and distributed computation, human-computer interaction, computer graphics, operating systems, or computer systems analysis and administration. Computer scientists may work for software companies, government and defense, telecommunications, or consulting firms.
Undergraduate Admission to the School of Engineering
Admission to the KU School of Engineering and its degree programs is selective. Students may be admitted to an engineering or computer science degree program as freshmen (first-year) students, but all admissions, for both in-state and out-of-state students, are selective. Applications are judged on several factors, such as high school record, scores on national tests, academic record at college or university level, and trend of grades and more. High school transcripts are required.
Freshman Admission Standards to the School of Engineering
To be considered for admission to the School of Engineering, beginning freshmen (first-year) students must meet or exceed the following minimum standards:
- Must be admissible to the University of Kansas by assured admissions or individual review, AND
- Have a 3.0+ high school GPA, AND
- Demonstrate mathematics preparedness by:
- Obtaining a mathematics ACT score of 22+ (or math SAT score of 540+), OR
- Achieving a B or better in college algebra or a more advanced mathematics course, OR
- Achieving a C or better in a high school calculus course; OR
- Earning credit via IB or AP credit for the above-mentioned courses in accordance with KU placement credit requirements; OR
- Achieving at minimum a qualifying score for MATH 104 on the ALEKS mathematics placement exam.
Pre-Engineering
Students not admitted directly to the School of Engineering and their department but who are admissible to the university may be admitted to the College of Liberal Arts and Sciences as an pre-engineering student. They can later re-apply to the School of Engineering during the semester they are completing the admission requirements for current students at KU.
Transfer Student Admission Standards to the School of Engineering
Applications from all transfer students, whether from other institutions or from other academic schools at the University of Kansas, are evaluated on a case-by-case basis. Transfer students must:
- Be admissible to KU, AND
- Earn a cumulative college transferable grade-point average of 2.5+, AND
- Earn a grade of C- or better in MATH 125 (Calculus I, or its direct equivalent), AND
- Earn grades of C or better in math, science, and engineering courses applicable to the engineering degree.
Students must also complete their last 30 hours of credit at KU. For more information on transfer credits, see KU Undergraduate Admissions.
Current Student Admission Standards to the School of Engineering
Students who are currently enrolled at KU, need to meet the following:
- Earn a 2.5+ KU GPA, AND
- Earn a grade of C- or better in MATH 125 (Calculus I, or its direct equivalent), AND
- Earn a grade of C or better in all math, science, and engineering courses.
Current KU Students admitted to other academic units may apply to the School of Engineering by completing a Change of School form. Per University Registrar deadlines for processing, Change of School applications each semester are processed up until the 20th day of classes. If received and processed after the 20th day of classes, students will be active in the new program the following semester.
Already Applied to KU, But Not Engineering?
Don't worry. It's not too late to change your mind if you’ve already applied to KU and selected a major outside the School of Engineering. If you think one of the 12 engineering or computer science majors is a better fit for your talents, you can still change your requested major — preferably before May 1 — and be considered for admission to the School of Engineering and all the benefits that go with it.
To update your application, visit Undergraduate Admissions and click on “Change application term, major, mailing address, and/or email address.”
Please contact a member of our recruitment team, 785-864-3881, if you have any difficulty.
Application Deadlines For New Freshman and Transfer Applicants
| Semester | Applicants | Deadline |
|---|---|---|
| November 1 | Priority scholarship deadline for incoming freshmen. | |
| December 1 | Deadline to apply for the Self Engineering Leadership Fellows Program for incoming freshmen. | |
| May 1 | Enrollment Deposit due. | |
| Last Friday in October | Deadline to submit Change of School applications for fall semester admission. | |
| Last Friday in March | Deadline to submit Change of School applications for spring semester admission. |
Bachelor of Science in Computer Science Degree Requirements
| Code | Title | Hours |
|---|---|---|
| Core 34 General Education | ||
| The KU Core 34 is comprised of 34-35 credit hours typically completed during the first two years of study. The Core 34 consists of the following requirements: English (6), Communications (3), Math & Statistics (3), Natural & Physical Sciences with lab (4-5), Social & Behavioral Sciences (6 in two different disciplines), Arts & Humanities (6 in two different disciplines), US Culture (3), and Global Culture (3) | 27 | |
| MATH 125 | Calculus I (Core 34: Math & Statistics (SGE)) 030 | 4 |
| or MATH 145 | Calculus I, Honors | |
| or MATH 115 & MATH 116 | Calculus I and Calculus II | |
MATH 125 Calculus I is the "math pathway" course. If a student is not ready to start in Calculus 1, this degree will take more than 4 years to complete. This course will fulfill your Core 34 Math and Statistics requirement. | ||
| Mathematics | ||
| MATH 126 | Calculus II | 4 |
| or MATH 146 | Calculus II, Honors | |
| MATH 127 | Calculus III | 4 |
| or MATH 147 | Calculus III, Honors | |
| MATH 290 | Elementary Linear Algebra | 2 |
| or MATH 291 | Elementary Linear Algebra, Honors | |
| EECS 210 | Discrete Structures | 4 |
| EECS 461 | Probability and Statistics | 3 |
| Basic Science | ||
| EPHX 210 | General Physics I for Engineers | 3 |
| or PHSX 211 | General Physics I | |
| or PHSX 213 | General Physics I Honors | |
| Natural Science Elective | ||
| Any course fulfilling Core 34 NPS totaling 4 credit hours. May be fulfilled with 3 credit hours of NLEC and 1 credit hour of NLAB. | 4 | |
| Computer Science Required Courses | ||
| EECS 101 | New Student Seminar | 1 |
| EECS 140 | Introduction to Digital Logic Design | 4 |
| or EECS 141 | Introduction to Digital Logic: Honors | |
| EECS 168 | Programming I | 4 |
| or EECS 169 | Programming I: Honors | |
| EECS 268 | Programming II | 4 |
| EECS 330 | Data Structures and Algorithms | 4 |
| EECS 348 | Software Engineering I | 4 |
| EECS 388 | Embedded Systems | 4 |
| EECS 468 | Programming Paradigms | 3 |
| EECS 510 | Introduction to the Theory of Computing | 3 |
| EECS 563 | Introduction to Communication Networks | 3 |
| EECS 565 | Introduction to Information and Computer Security | 3 |
| EECS 581 | Software Engineering II | 3 |
| EECS 645 | Computer Systems Architecture | 3 |
| EECS 678 | Introduction to Operating Systems | 4 |
| Capstone | ||
| EECS 582 | Computer Science Capstone (Fulfills KU Capstone) | 3 |
| Computer Science Electives | ||
| For CS majors, 7 CS electives must be chosen from the following courses. | 21 | |
| Digital Systems Design | ||
| Introduction to Database Systems | ||
| Cyber Defense | ||
| Introduction to Data Mining | ||
| Computer Forensics | ||
| Interdisciplinary Collaborations | ||
| Advanced Data Structures and Algorithms | ||
| Introduction to Scientific Computing | ||
| Introduction to Artificial Intelligence | ||
| Introduction to Machine Learning | ||
| Programming Languages | ||
| Compiler Construction | ||
| Introduction to Network Security | ||
| Advanced Software Security Evaluation | ||
| Introduction to Hardware Security and Trust | ||
| Introduction to IoT Security | ||
| Mobile Security | ||
| Special Topics: _____ | ||
| Software Reverse Engineering | ||
Additionally, any EECS 700 or above course may be taken as a CS elective. | ||
| Total Hours | 126 | |
Curriculum Notes
Course Prerequisites and Corequisites
Students must pass (with an appropriate grade) all prerequisite courses for a given course before taking the subsequent course. If Course A is a Corequisite for Course B, Course A must be taken in the same semester as Course B or be completed prior to taking Course B.
Upper Level Eligibility
In addition to prerequisites and corequisites, EECS undergraduates are required to earn Upper Level Course Eligibility (ULE) by attaining grades of C- or better in each of the following 11 courses:
- EPHX 210
- MATH 125, MATH 126, MATH 127, MATH 290
- EECS 101, EECS 140, EECS 168, EECS 210, EECS 268, EECS 348
Honors versions of the required course or otherwise accepted alternative per the degree requirements above are also subject to this rule. If students earn less than a C- in any of the above listed courses, they must repeat the course at the next available opportunity and must not take a course for which that course is a prerequisite. It is the student's responsibility to contact their advisor before beginning the new semester regarding any required course retakes and the associated enrollment adjustments (drops and adds).
To enroll in any upper‑level EECS course beyond the ULE list, students must have fulfilled the Upper Level Eligibility Requirements detailed above. Exceptions: EECS 312, EECS 330, EECS 361, and EECS 388 may be taken in the same semester as students are completing their upper level eligibility. Students may also petition for a Partial Waiver of Upper Level Eligibility Requirements by completing the appropriate petition with their academic advisor, to be submitted to the EECS department.
Double Major
If students wish to double-major (earn two degrees), they must fulfill all the requirements for the degrees in question. They must also consult the Engineering Dean’s office and the department and/or school of the second major to find out if there are any additional requirements. If they wish to obtain two degrees offered by the EECS department, the following rule applies: a course that is required for one EECS degree program may not be used to satisfy a Senior Elective or General Elective requirement of another EECS degree program.
Enrollment in Graduate Courses
An undergraduate student may not enroll in an EECS course numbered 700-799 unless the student’s engineering GPA is 3.0 or higher. In addition, it is strongly recommended that the student have a grade of B or higher in each prerequisite course. Undergraduates may not enroll in courses numbered EECS courses 800 and above.
The recommended 4-year plan is listed below by semester to semester enrollment, but may vary according to existing credits.
| Freshman | |||
|---|---|---|---|
| Fall | Hours | Spring | Hours |
| EECS 101 | 1 | EECS 140 | 4 |
| EECS 168 | 4 | MATH 126 | 4 |
| MATH 125 (Core 34: Math and Statistics (SGE))030*** | 4 | EECS 268 | 4 |
| Core 34: English (SGE)010 | 3 | Core 34: English (SGE)010 | 3 |
| Core 34: Communications (SGE)020 | 3 | ||
| 15 | 15 | ||
| Sophomore | |||
| Fall | Hours | Spring | Hours |
| EECS 210 | 4 | EECS 330 | 4 |
| EECS 348 | 4 | EECS 388 | 4 |
| EPHX 210 | 3 | MATH 290 | 2 |
| MATH 127 | 4 | Core 34: U.S. Culture (SGE)070 | 3 |
| Core 34: Natural & Physical Sciences (SGE)040 | 4 | ||
| 15 | 17 | ||
| Junior | |||
| Fall | Hours | Spring | Hours |
| EECS 461 | 3 | EECS 563 | 3 |
| EECS 468 | 3 | EECS 565 | 3 |
| EECS 510 | 3 | EECS 645 | 3 |
| EECS 678 | 4 | PHIL 375 (Core 34: Arts & Humanities (SGE))060** | 3 |
| CS Elective #1 | 3 | CS Elective #2 | 3 |
| CS Elective #3 | 3 | ||
| 16 | 18 | ||
| Senior | |||
| Fall | Hours | Spring | Hours |
| EECS 581 | 3 | EECS 582 (Capstone) | 3 |
| CS Elective #4 | 3 | CS Elective #6 | 3 |
| CS Elective #5 | 3 | CS Elective #7 | 3 |
| Core 34: Arts & Humanities (SGE)060 | 3 | Core 34: Social & Behavioral Sciences (SGE)050 | 3 |
| Core 34: Social & Behavioral Sciences (SGE)050 | 3 | Core 34: Global Culture (SGE)070 | 3 |
| 15 | 15 | ||
| Total Hours 126 | |||
- 1
Means of satisfying KU Core Goals are chosen from a variety of options (see kucore.ku.edu). Hours listed are assuming the goals are satisfied with course work.
Notes:
* - This course is a Required major course and is also part of Core 34: Systemwide General Education. If this course is not taken to fulfill the Core 34:SGE requirement, it must be taken in place of elective hours.
** - This course is a Recommended Core 34: Systemwide General Education course. This specific course is not required but is recommended by the program’s faculty.
*** - This course is a Required Core 34: Systemwide General Education course. This program is approved by the Kansas Board of Regents to require this specific Core 34:Systemwide General Education course. If a student did not take this course it must be taken in addition to other degree requirements.
At the completion of this program, students will be able to:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
Departmental Honors
An undergraduate student may graduate with departmental honors in electrical engineering, computer engineering, computer science, or interdisciplinary computing by graduating with a minimum grade-point average requirement while maintaining full-time status. In addition, students must enroll in EECS 498 Honors Research for their last 2 semesters and must complete an independent research project paper and oral presentation to a panel of 3 judges. See the EECS Undergraduate Handbook for full details.
