Computer Science + Geography & Geographic Information Science, BS
for the degree of Bachelor of Science Major in Computer Science +
Geography & Geographic Information Science
Everything happens somewhere, and Illinois is the national leader in CyberGIS -- the use of high-performance, large-scale computing to answer geospatial questions. Students in CS + Geography & Geographic Information Science will develop advanced programming skills to deal with geospatial data and create new methods and tools to analyze that data.
The CS + GGIS, a blended bachelor's degree, is a partnership between the Siebel School of Computing and Data Science in The Grainger College of Engineering and the Department of Geography & Geographic Information Science in the College of Liberal Arts & Sciences. 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.
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.
- 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 |
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. CS 100 (1)1 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. MATH 221 (4)2 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. RHET 105 (4)4 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)5 LAS 101 (1)3 Design Your First Year Experience orients students to the academic environment at Illinois and establishes a useful framework for engaging in learning both inside and outside the classroom and articulating a purpose for their education. Using design-thinking, students explore campus resources, set goals for their academic, personal and professional development during their first year and make multiple (engagement) maps for reaching those goals. Course Information: Prerequisite: Restricted to first-year students in LAS. |
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. 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. GGIS 379 (4) Investigates the fundamentals of geographic information science as well as the basic skills in the execution of that theoretical knowledge with industry standard software packages. Student will learn the basics of projections and coordinate systems, how geographic information is stored and manipulated, and the theory and practice behind the production of thematic maps. Includes lecture and hands-on laboratory components. Course Information: Same as ESE 379. Class Schedule Information: Students must register for the lecture and one lab section. GEE (3)5 |
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 257 (3)7 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. GGIS 371 (4) Overview of the spatial analysis (nomothetic) approach to geographic research, both physical and human; includes discussion of the scientific method, with explanations and uses of analytic geographic concepts in studying real world problems. Course Information: Prerequisite: A course in geography. GEE (3)5 |
CS 233 (4)6 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)8 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. GGIS 380 (4) Study of the analytical capabilities of geographic information systems with an emphasis on learning to solve spatial problems in both the vector and raster data formats. Students will develop the skills necessary to answer questions or solve problems in their areas of interest, with particular emphasis on problems and questions that require multiple steps to resolve. Students will learn the fundamental theory behind spatial problem solving, but also learn to execute these procedures with industry-standard software packages. Thus, this class contains both lecture/discussion elements and hands-on laboratory work. Course Information: Same as ESE 380. Prerequisite: GEOG 379. GEE (3)5 GEE (3)5 |
CS 341 (4)6 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. GGISHorP (3) GEE (3)5 GEE (3)5 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. GGISE (3) GEE (3)5 FE (3) FE (3) |
CS 421 (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. GGISHorP (3) FE (3) FE (3) |
GGISE (3) FE (3) FE (3) FE (3) |
16 hours | 16 hours | 15 hours | 17 hours | 16 hours | 16 hours | 12-13 hours | 12 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.
- LAS 102 may be used for external transfer students. LAS 100 is supplemental course international students take along with LAS 101/102/122.
- 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.
- 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 and can replace Free Electives.
- MATH 225 may be substituted.
- STAT 200 or STAT 212 can 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.