B.S. in Statistics & Computer Science

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
Statistics & Computer Science Curriculum Map
First YearSecond YearThird YearFourth Year
Fall First YearSpring First YearFall Second YearSpring Second YearFall Third YearSpring Third YearFall Fourth YearSpring Fourth Year
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.
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.
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.
LAS (1)
PSFElective (3)
Probability and Statistics Foundation
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.
MATH 257 (3)5
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.
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 241 (4)
Third course in calculus and analytic geometry including vector analysis: Euclidean space, partial differentiation, multiple integrals, line integrals and surface integrals, the integral theorems of vector calculus. Course Information: Credit is not given for both MATH 241 and MATH 292. Prerequisite: MATH 231. 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.
STAT 400 (4)
Introduction to mathematical statistics that develops probability as needed; includes the calculus of probability, random variables, expectation, distribution functions, central limit theorem, point estimation, confidence intervals, and hypothesis testing. Offers a basic one-term introduction to statistics and also prepares students for STAT 410 and STAT 425. Course Information: Same as MATH 463. 4 undergraduate hours. 4 graduate hours. Prerequisite: MATH 231. Concurrent Enrollment in MATH 241 is required. Not intended for first-time freshmen. Class Schedule Information: Students must register for one discussion and one lecture section.
CS 233 (4)7
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.
STAT 410 (3)
Continuation of STAT 400. Includes moment-generating functions, transformations of random variables, normal sampling theory, sufficiency, best estimators, maximum likelihood estimators, confidence intervals, most powerful tests, unbiased tests, and chi-square tests. Course Information: Same as MATH 464. 3 undergraduate hours. 4 graduate hours. Credit is not given for both STAT 410 and STAT 409. Prerequisite: MATH 241 and STAT 400.
STAT 425 (3)
This is the foundation for advanced statistical modeling with a focus on multiple strategies for analyzing data. The course explores linear regression, least squares estimates, F-tests, analysis of residuals, regression diagnostics, transformations, model building, generalized and weighted least squares, PCA, A/B testing, randomization tests, ANOVA, random effects, mixed effects, and longitudinal data. Statistical computing is an integral part of the course. Course Information: 3 undergraduate hours. 4 graduate hours. Prerequisite: STAT 400; MATH 257 or MATH 415. Concurrent Enrollment in STAT 410 is preferred.
LOTE4 (3-5)
Language Requirement - 4th Level Course
CS 341 (4)7
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 357 (3)
Fundamentals of numerical methods for students in science and engineering; floating-point computation, systems of linear equations, approximation of functions and integrals, the single nonlinear equation, and the numerical solution of ordinary differential equations; various applications in science and engineering; programming exercises and use of high quality mathematical library routines. Course Information: Same as MATH 357. Credit is not given for CS 357 if credit for CS 450 has been earned. (Counts for advanced hours in LAS). Prerequisite: One of CS 101, CS 105, CS 124, CS 125 or ECE 220; MATH 241; one of MATH 225, MATH 257, MATH 415, MATH 416 or ASRM 406.
STAT 426 (3)
This is a continuation in the study of advanced statistical modeling techniques with a focus on categorical data. The course explores logistic regression, generalized linear models, goodness-of-fit, link functions, count regression, log-linear models, probability models for contingency tables, and ordinal response models. Statistical computing is an integral part of the course. Course Information: 3 undergraduate hours. 4 graduate hours. Prerequisite: STAT 410; STAT 425.
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.
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.
SAElective (3)
Statistical Application Electives
CAElective (3-4)
Computational Application Elective
16 hours 15 hours 16 hours 16-18 hours 14 hours 13 hours 15-16 hours 15-16 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.

  1. This optional course is highly recommended for freshmen, who may use it to help meet free elective requirements.
  2. MATH 220 may be substituted. MATH 220 is appropriate for students with no background in calculus.
  3. LAS 102 may be used for external transfer students. LAS 100 is supplemental course international students take along with LAS 101/102/122.
  4. 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.
  5. MATH 415 may be substituted.
  6. General education: Students must complete the Campus General Education requirements including the campus general education language requirement.
  7. 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.
  8. 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.