Computer Science + Education, BS
for the degree of Bachelor of Science Major in Computer Science + Education
The Computer Science + Education, BS is sponsored jointly by the Department of Computer Science and the Department of Curriculum & Instruction. The major in Computer Science and Education is a flexible program for undergraduate students who plan to pursue careers in either field and offers two foci of concentration.
The CS + Education blended bachelor's degree is a partnership between the Siebel School of Computing and Data Science in The Grainger College of Engineering and the College of Education. As part of the computing community at Illinois, you will benefit from being part of a top-five-ranked Computer Science program with world-class faculty and research. Learn more about the School's Rankings and Statistics.
Degree Requirements
See requirements for Learning Sciences or Secondary Education curriculum maps.
CS Student Life
With 800+ student organizations and many CS Student Groups, there's a community for everyone at Illinois.
Undergraduate Research
Participate in high-impact semester, year-round, or summer research, mentorship, and showcase opportunities.
Career Services
Explore comprehensive career services supporting internships, job searches, and resume development.
Curriculum Map
The curriculum sequence mapped below is a sample sequence. Students will work with an academic advisor to achieve educational goals specific to their needs and preparation.
Education - Learning Sciences
- Course prerequisite chain
- Immediate prerequisite
- Credit or concurrent registration required
- Concurrent registration required
- Postrequisite course sequence
First Year | Second Year | Third Year | Fourth Year | ||||
---|---|---|---|---|---|---|---|
Fall First Year | Spring First Year | Fall Second Year | Spring Second Year | Fall Third Year | Spring Third Year | Fall Fourth Year | Spring Fourth Year |
Introduction to Computer Science as a field and career for incoming first year and external transfer students in the computer science majors. Overview of the field and specific examples of problem areas and methods of solution. EDUC 101 (1) Informational orientation seminar for Education majors to enhance their understanding of college life and the field of education as a profession. CS 124 (3) Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing. Course Information: Credit is not given for both CS 124 and CS 125. Prerequisite: Three years of high school mathematics or MATH 112. First course in calculus and analytic geometry for students with some calculus background; basic techniques of differentiation and integration with applications including curve sketching; antidifferentation, the Riemann integral, fundamental theorem, exponential and trigonometric functions. Course Information: Credit is not given for both MATH 221 and either MATH 220 or MATH 234. Prerequisite: An adequate ALEKS placement score as described at http://math.illinois.edu/ALEKS/ and either one year of high school calculus or a minimum score of 2 on the AB Calculus AP exam. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. Introduction in research-based writing and the construction of academic, argumentative essays that use primary and secondary sources as evidence. This course fulfills the Campus Composition I general education requirement. Course Information: Credit is not given for both RHET 105 and any of these other Comp I courses: RHET 101, RHET 102, CMN 111 or CMN 112. Class Schedule Information: Students whose second language is English should take an English placement test through the Division of English as an International Language, before signing up for rhetoric. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. GEE (3)4 |
CS 128 (3) Continuation of CS 124. More advanced concepts in computing and techniques and approaches for solving computational problems. Course Information: Prerequisite: CS 124 or CS 125. CS 173 (3) Discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs. Course Information: Credit is not given for both CS 173 and MATH 213. Prerequisite: One of CS 124, CS 125, ECE 220; one of MATH 220, MATH 221. CI 210 (3) Surveys the field of digital environments and their capacity to support teaching and learning. Examines theories of interactivity, immersion, learning with multi-media, and digital literacies to discuss and evaluate various digital environments. Students learn to critically assess digital environments and to create original prototypes that target a specific and important learning or teaching goal. Environments that will be discussed and experimented with in class include virtual worlds, social networks, digital classrooms, interactive exhibits, video games, and tangible technologies. GEE (3)4 GEE (3)4 |
CS 225 (4) Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms. Course Information: Credit is not given for CS 277 if credit for CS 225 has been earned. Prerequisite: CS 126 or CS 128 or ECE 220; One of CS 173, MATH 213, MATH 347, MATH 412 or MATH 413. Class Schedule Information: Students must register for one lecture-discussion and one lecture section. CS 222 (1) Design and implementation of novel software solutions. Problem identification and definition; idea generation and evaluation; and software implementation, testing, and deployment. Emphasizes software development best practices?including framework selection, code review, documentation, appropriate library usage, project management, continuous integration and testing, and teamwork. Course Information: Prerequisite: CS 128; credit or concurrent registration in CS 225. Restricted to majors in Computer Science undergraduate curricula only. MATH 231 (3) Second course in calculus and analytic geometry: techniques of integration, conic sections, polar coordinates, and infinite series. Course Information: Prerequisite: MATH 220 or MATH 221. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter in Fall and Spring terms only. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. GEE (3)4 GEE (3)4 |
Fundamentals of computer architecture: digital logic design, working up from the logic gate level to understand the function of a simple computer; machine-level programming to understand implementation of high-level languages; performance models of modern computer architectures to enable performance optimization of software; hardware primitives for parallelism and security. Course Information: Prerequisite: CS 125 or CS 128; CS 173 or MATH 213; credit or concurrent enrollment in CS 225. Introductory course incorporating linear algebra concepts with computational tools, with real world applications to science, engineering and data science. Topics include linear equations, matrix operations, vector spaces, linear transformations, eigenvalues, eigenvectors, inner products and norms, orthogonality, linear regression, equilibrium, linear dynamical systems and the singular value decomposition. Course Information: Credit is not given for both MATH 257 and any of MATH 125, MATH 225, MATH 227, MATH 415 or ASRM 406. Prerequisite: MATH 220 or MATH 221; CS 101 or equivalent programming experience. Class Schedule Information: Students must register for a lecture, a lab, and a discussion section. LSCElect1 (3) Learning Sciences Core Elective EFElective (3-4) Education Foundation Elective LOTE3 (3-5) Language - 3rd Level Course |
Basics of system programming, including POSIX processes, process control, inter-process communication, synchronization, signals, simple memory management, file I/O and directories, shell programming, socket network programming, RPC programming in distributed systems, basic security mechanisms, and standard tools for systems programming such as debugging tools. Course Information: Credit is not given for both CS 341 and either CS 241 or ECE 391. Prerequisite: CS 225 and CS 233. Class Schedule Information: Students must register for one lecture and one discussion section. CS 361 (3) Introduction to probability theory and statistics with applications to computer science. Topics include: visualizing datasets, summarizing data, basic descriptive statistics, conditional probability, independence, Bayes theorem, random variables, joint and conditional distributions, expectation, variance and covariance, central limit theorem. Markov inequality, Chebyshev inequality, law of large numbers, Markov chains, simulation, the PageRank algorithm, populations and sampling, sample mean, standard error, maximum likelihood estimation, Bayes estimation, hypothesis testing, confidence intervals, linear regression, principal component analysis, classification, and decision trees. Course Information: Same as STAT 361. Credit is not given for both CS 361 and ECE 313. Prerequisite: MATH 220 or MATH 221; credit or concurrent registration in one of MATH 225, MATH 257, MATH 415, MATH 416 or ASRM 406. For majors only. EFElective (3-4) Education Foundation Elective LSElect3 (3) Learning Sciences Elective 3 LOTE3 (3-5) Language - 3rd Level Course |
CS 374 (4) Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness. Course Information: Same as ECE 374. Prerequisite: One of CS 173, MATH 213; CS 225. LSElect3 (3) Learning Sciences Elective 3 LSElect2 (3) Learning Sciences Elecitve 2 LOTE3 (3-5) Language - 3rd Level Course |
Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: One of CS 233, CS 240 or CS 340; CS 374; one of MATH 225, MATH 257, MATH 415, MATH 416, ASRM 406, BIOE 210. EFElective (3-4) Education Foundation Elective GEE (3)4 FE (3) |
CI 489 (3) Project-based course focusing on creating Digital Environments for Learning, Teaching and Agency. Students work in teams to build technology-supported learning activities. This course provides a studio-based, hands-on and participatory approach to the development and research of technology tools and curriculum materials. Course Information: 3 undergraduate hours. 4 graduate hours. Approved for Letter and S/U grading. Prerequisite: CI 481 or consent of instructor. Required capstone project course for students enrolled in DELTA concentration, others can register with instructor's consent. LSElect3 (3) Learning Sciences Elective 3 LSElect2 (3) Learning Sciences Elecitve 2 GEE (3)4 FE (2) Free Elective |
16-18 hours | 16 hours | 14 hours | 16 hours | 13 hours | 13 hours | 15-17 hours | 15 hours |
Notes
Before reviewing the links, students should find their effective Academic Catalog Year. When clicking any links referenced below that take students to the Academic Catalog Year pages, they should be mindful of which Academic Catalog year is displayed.
- This optional course is highly recommended for freshmen, who may use it to help meet free elective requirements.
- MATH 220 may be substituted. MATH 220 is appropriate for students with no background in calculus. 4 of 5 credit hours count towards degree.
- RHET 105 (or an alternative Composition I sequence) is taken either in the first or second semester of the first year, according to the student's UIN (Spring if UIN is Odd). General Education Elective is taken the other semester. Composition I guidelines can be found at Degree and General Education Requirements under Written Communication Requirement.
- General education: Students must complete the Campus General Education requirements including the campus general education language requirement.
- EPOL 201 may be substituted; however, an advanced composition course will need to be completed to satisfy the complete General Education requirements.
- CS 340 and two (2) CS technical electives (400 level CS courses) can be use to substiute the CS 233 and CS 341 requirements. The 2 technical electives must be distinct from courses used to satisfy other major requirements.
- MATH 225 or MATH 227 may be substituted
- CS 357 may be substituted
- Additional coursework, subject to College of Liberal Arts and Sciences restrictions to Free Electives, so that there are at least 120 credit hours earned toward the degree.
The code used to present this flowsheet is based on original work shared by the University at Buffalo School of Engineering and Applied Sciences.
Secondary Education Curriculum Map
- Course prerequisite chain
- Immediate prerequisite
- Credit or concurrent registration required
- Concurrent registration required
- Postrequisite course sequence
First Year | Second Year | Third Year | Fourth Year | ||||
---|---|---|---|---|---|---|---|
Fall First Year | Spring First Year | Fall Second Year | Spring Second Year | Fall Third Year | Spring Third Year | Fall Fourth Year | Spring Fourth Year |
Introduction to Computer Science as a field and career for incoming first year and external transfer students in the computer science majors. Overview of the field and specific examples of problem areas and methods of solution. CS 124 (3) Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing. Course Information: Credit is not given for both CS 124 and CS 125. Prerequisite: Three years of high school mathematics or MATH 112. EDUC 101 (1) Informational orientation seminar for Education majors to enhance their understanding of college life and the field of education as a profession. First course in calculus and analytic geometry for students with some calculus background; basic techniques of differentiation and integration with applications including curve sketching; antidifferentation, the Riemann integral, fundamental theorem, exponential and trigonometric functions. Course Information: Credit is not given for both MATH 221 and either MATH 220 or MATH 234. Prerequisite: An adequate ALEKS placement score as described at http://math.illinois.edu/ALEKS/ and either one year of high school calculus or a minimum score of 2 on the AB Calculus AP exam. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. Introduction in research-based writing and the construction of academic, argumentative essays that use primary and secondary sources as evidence. This course fulfills the Campus Composition I general education requirement. Course Information: Credit is not given for both RHET 105 and any of these other Comp I courses: RHET 101, RHET 102, CMN 111 or CMN 112. Class Schedule Information: Students whose second language is English should take an English placement test through the Division of English as an International Language, before signing up for rhetoric. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. LOTE3 (3-5) Language - 3rd Level Course |
CS 173 (3) Discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs. Course Information: Credit is not given for both CS 173 and MATH 213. Prerequisite: One of CS 124, CS 125, ECE 220; one of MATH 220, MATH 221. CS 128 (3) Continuation of CS 124. More advanced concepts in computing and techniques and approaches for solving computational problems. Course Information: Prerequisite: CS 124 or CS 125. MATH 231 (3) Second course in calculus and analytic geometry: techniques of integration, conic sections, polar coordinates, and infinite series. Course Information: Prerequisite: MATH 220 or MATH 221. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter in Fall and Spring terms only. Engineering students must obtain a dean's approval to drop this course after the second week of instruction. EDUC 201 (3) Focuses on the role of identity in schooling and the way in which identity is socially constructed. Examine how power and privilege impact equity and opportunities based on socially constructed identities such as race, social class, gender, sexual identity, language, (dis)ability, and nationalism. Explore asset-based frameworks that are identity affirming and counter deficit-based perspectives. This course is designed for students interested in reflecting on their own experiences as learners by critically examining their socially constructed identities and ways of knowing and the societal implications of these experiences. It is also for those considering careers in teaching, and anyone interested in reflecting on how issues of inclusion, exclusion, power, and privilege play out in education. PSYC 100 (4) Study of human behavior with special reference to perception, learning, memory, thinking, emotional life, and individual differences in intelligence, aptitude, and personality; emphasis on the scientific nature of psychological investigations; and discussion of research methods and the relation of their results to daily life and everyday problems. Lectures, discussions, and six hours of participation as a subject in psychological experiments. Course Information: Credit is not given for both PSYC 100 and either PSYC 103 or PSYC 105. |
CS 225 (4) Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms. Course Information: Credit is not given for CS 277 if credit for CS 225 has been earned. Prerequisite: CS 126 or CS 128 or ECE 220; One of CS 173, MATH 213, MATH 347, MATH 412 or MATH 413. Class Schedule Information: Students must register for one lecture-discussion and one lecture section. CS 222 (1) Design and implementation of novel software solutions. Problem identification and definition; idea generation and evaluation; and software implementation, testing, and deployment. Emphasizes software development best practices?including framework selection, code review, documentation, appropriate library usage, project management, continuous integration and testing, and teamwork. Course Information: Prerequisite: CS 128; credit or concurrent registration in CS 225. Restricted to majors in Computer Science undergraduate curricula only. Introductory course incorporating linear algebra concepts with computational tools, with real world applications to science, engineering and data science. Topics include linear equations, matrix operations, vector spaces, linear transformations, eigenvalues, eigenvectors, inner products and norms, orthogonality, linear regression, equilibrium, linear dynamical systems and the singular value decomposition. Course Information: Credit is not given for both MATH 257 and any of MATH 125, MATH 225, MATH 227, MATH 415 or ASRM 406. Prerequisite: MATH 220 or MATH 221; CS 101 or equivalent programming experience. Class Schedule Information: Students must register for a lecture, a lab, and a discussion section. EPSY 201 (3) Explores fundamental issues of development, learning, instruction, and assessment. This course articulates how people learn, how they are influenced by cultural and social contexts, how to assess learning and its outcomes, and how best to teach and motivate people to achieve. Educational psychologists improve learning in a broad range of settings: homes, classrooms, work environments, and communities. Course Information: Prerequisite: PSYC 100. Class Schedule Information: Students will be required upon request to participate in a total of 3 hours of experiments outside of class. Students must register for one discussion and one lecture section. GEE (3)4 |
Fundamentals of computer architecture: digital logic design, working up from the logic gate level to understand the function of a simple computer; machine-level programming to understand implementation of high-level languages; performance models of modern computer architectures to enable performance optimization of software; hardware primitives for parallelism and security. Course Information: Prerequisite: CS 125 or CS 128; CS 173 or MATH 213; credit or concurrent enrollment in CS 225. CS 361 (3) Introduction to probability theory and statistics with applications to computer science. Topics include: visualizing datasets, summarizing data, basic descriptive statistics, conditional probability, independence, Bayes theorem, random variables, joint and conditional distributions, expectation, variance and covariance, central limit theorem. Markov inequality, Chebyshev inequality, law of large numbers, Markov chains, simulation, the PageRank algorithm, populations and sampling, sample mean, standard error, maximum likelihood estimation, Bayes estimation, hypothesis testing, confidence intervals, linear regression, principal component analysis, classification, and decision trees. Course Information: Same as STAT 361. Credit is not given for both CS 361 and ECE 313. Prerequisite: MATH 220 or MATH 221; credit or concurrent registration in one of MATH 225, MATH 257, MATH 415, MATH 416 or ASRM 406. For majors only. EDUC 202 (3) Examines the nature of justice and the dynamics of a pluralistic society to derive a conception of social justice. Working with this conception, it asks how schools function to perpetuate and/or remediate social injustice. The course will consider the history and nature of schooling, issues of access and tracking, and notions of the public and the common. The course is designed for students interested in reflecting on their own educational histories, for those considering careers in teaching, and for all future parents and citizens needing to be able to reflect critically on justice, school, and society. GEE (3)4 GEE (3)4 |
Basics of system programming, including POSIX processes, process control, inter-process communication, synchronization, signals, simple memory management, file I/O and directories, shell programming, socket network programming, RPC programming in distributed systems, basic security mechanisms, and standard tools for systems programming such as debugging tools. Course Information: Credit is not given for both CS 341 and either CS 241 or ECE 391. Prerequisite: CS 225 and CS 233. Class Schedule Information: Students must register for one lecture and one discussion section. GEE (3)4 GEE (3)4 FE (3) |
CS 374 (4) Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness. Course Information: Same as ECE 374. Prerequisite: One of CS 173, MATH 213; CS 225. CI 401 (3) Orients the student to ways in which English, Mathematics, Science, Social Studies or Computer Science is learned in school settings. Integrates an introduction to the use of technology as both a tool and a context for teaching and learning. As participants in a series of learning activities, students will reflect on the teaching and learning of English, Mathematics, Science, Social Studies or Computer Science from an inquiry oriented perspective. Coursework is integrated with a school field experience to connect theory with practice in an examination of research and current trends. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: Admission to the Secondary Teacher Education Program, Department of Curriculum and Instruction Computer Science licensure program or consent of the instructor/department. CI 473 (3) Provides secondary and K-12 level education majors with principles and practices of effective language and literacy instruction in their content areas, consistent with the Illinois Professional Teaching Standards for educator preparation of the Illinois State Board of Education. Course Information: 2 or 3 undergraduate hours. 2 or 3 graduate hours. Students in music and kinesiology education take for 2 credit hours; students in agriculture, art, mathematics, science, social studies, and English education take for 3 credit hours. Prerequisite: Admission to a teacher education program. GEE (3)4 |
Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: One of CS 233, CS 240 or CS 340; CS 374; one of MATH 225, MATH 257, MATH 415, MATH 416, ASRM 406, BIOE 210. CI 403 (3) Examines the curriculum and philosophy of teaching students in high school grades. Students will focus on a number of related topics including teaching a diverse student population, including all students in instruction, using technology for teaching high school English, Mathematics, Science, and Social Studies and alternative means of assessing students' learning. Seminar content will be integrated with coursework in instructional technology, assessment, and special education with high school students. Coursework is integrated with a high school field experience. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: CI 401. Requires concurrent enrollment in CI/EPSY 485 and SPED 405. EPSY 485 (3-4) Designed especially for secondary education students, this course introduces basic concepts and practices of assessment, measurement, and evaluation as they are used in school settings. The course covers current trends and issues in assessment including large scale standardized testing practices and cultural issues in assessment. Students become familiar with using assessment and evaluation data to inform instructional decisions. Course Information: Same as CI 485. 3 undergraduate hours. 4 graduate hours. Prerequisite: Students should be concurrently enrolled in CI 403. Admission to the secondary teacher education program. Class Schedule Information: Must be in the teacher education program to register. SPED 405 (3) Examination of issues in educating students with special needs: service delivery models, roles of teachers and related service providers, student assessment, curriculum individualization, instructional strategies, management of problem behaviors, and program evaluation. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: Must be registered in teacher licensure program. FE (3) |
CI 404 (3) Emphasizes the practical application of theory and recommended practices for developing curriculum, teaching, and assessing learning in the middle and senior high school years. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: CI 402 or CI 403. Concurrent enrollment in EDPR 442 required. EDPR 442 (12) Course in practice teaching to meet licensure requirements for teaching in the secondary schools. Course Information: 2 to 12 undergraduate hours. 2 to 12 graduate hours. Approved for S/U grading only. Prerequisite: All professional education coursework, except those requiring concurrent enrollment with student teaching, must be completed prior to student teaching. Satisfactory completion of all requirements of the Council on Teacher Education Undergraduate or Graduate Common Assessment Plan for Initial Licensure (www.cote.illinois.edu). Class Schedule Information: Enrollment in this course is restricted to students registered in an approved Teacher Education Program. |
16-18 hours | 16 hours | 14 hours | 16 hours | 13 hours | 13 hours | 15-17 hours | 15 hours |
Notes
Before reviewing the links, students should find their effective Academic Catalog Year. When clicking any links referenced below that take students to the Academic Catalog Year pages, they should be mindful of which Academic Catalog year is displayed.
- This optional course is highly recommended for freshmen, who may use it to help meet free elective requirements.
- MATH 220 may be substituted. MATH 220 is appropriate for students with no background in calculus. 4 of 5 credit hours count towards degree.
- RHET 105 (or an alternative Composition I sequence) is taken either in the first or second semester of the first year, according to the student's UIN (Spring if UIN is Odd). General Education Elective is taken the other semester. Composition I guidelines can be found at Degree and General Education Requirements under Written Communication Requirement.
- MATH 225 or MATH 227 may be substituted
- CS 340 and two (2) CS technical electives (400 level CS courses) can be use to substiute the CS 233 and CS 341 requirements. The 2 technical electives must be distinct from courses used to satisfy other major requirements.
- CS 357 may be substituted
- Additional coursework, subject to College of Liberal Arts and Sciences restrictions to Free Electives, so that there are at least 120 credit hours earned toward the degree.
The code used to present this flowsheet is based on original work shared by the University at Buffalo School of Engineering and Applied Sciences.