Washington University in St. LouisWebsiteAcademic Catalog
Computer Science & EngineeringDepartment Website
BS Degree in Computer Science + Mathematicssource 1source 2
CS Courses
- Introduction to Computer ScienceCSE 131 (3)introCSE 131: Introduction to Computer Science
An introduction to software concepts and implementation, emphasizing problem solving through abstraction and decomposition. Introduces processes and algorithms, procedural abstraction, data abstraction, encapsulation and object-oriented programming. Recursion, iteration and simple data structures are covered. Concepts and skills are mastered through programming projects, many of which employ graphics to enhance conceptual understanding. Java, an object-oriented programming language, is the vehicle of exploration. Active-learning sessions are conducted in a studio setting in which students interact with each other and the professor to solve problems collaboratively.
- Data Structures and AlgorithmsCSE 247 (3)algsCSE 247: Data Structures and Algorithms
Study of fundamental algorithms, data structures, and their effective use in a variety of applications. Emphasizes importance of data structure choice and implementation for obtaining the most efficient algorithm for solving a given problem. A key component of this course is worst-case asymptotic analysis, which provides a quick and simple method for determining the scalability and effectiveness of an algorithm. Online textbook purchase required.
- Analysis of AlgorithmsCSE 347 (3)algsCSE 347: Analysis of Algorithms
This course introduces techniques for the mathematical analysis of algorithms, including randomized algorithms and non-worst-case analyses such as amortized and competitive analysis. It also introduces the standard paradigms of divide-and-conquer, greedy, and dynamic programming algorithms, as well as reductions, and it provides an introduction to the study of intractability and techniques to determine when good algorithms cannot be designed.
- 3 × CS Electives
Math/Stat Courses
- Calculus IIMath 132 (3)mathMath 132: Calculus II
Continuation of Math 131. A brief review of the definite integral and Fundamental Theorem of Calculus. Techniques of integration, applications of the integral, sequences and series, Taylor polynomials and series, and some material on differential equations.
- Matrix AlgebraMath 309 (3)mathMath 309: Matrix Algebra
An introductory course in linear algebra that focuses on Euclidean n-space, matrices and related computations. Topics include: systems of linear equations, row reduction, matrix operations, determinants, linear independence, dimension, rank, change of basis, diagonalization, eigenvalues, eigenvectors, orthogonality, symmetric matrices, least square approximation, quadratic forms. Introduction to abstract vector spaces.
- Logic and Discrete MathematicsorCSE 240 (3)mathCSE 240: Logic and Discrete Mathematics
Introduces elements of logic and discrete mathematics that allow reasoning about computational structures and processes. Generally, the areas of discrete structures, proof techniques, probability and computational models are covered. Topics typically include propositional and predicate logic; sets, relations, functions and graphs; direct and indirect proof methods, induction and recursion; finite state machines and regular languages.
Foundations for Higher MathematicsorMath 310 (3)mathMath 310: Foundations for Higher MathematicsIntroduction to the rigorous techniques used in more advanced mathematics. Topics include postpositional logic, use of quantifiers, set theory, methods of proof and disproof (counterexamples), foundations of mathematics. Use of these tools in the construction of number systems and in other areas such as elementary number theory, combinatorial arguments and elementary proofs in analysis.
Foundations for Higher Mathematics with WritingMath 310W (3)mathMath 310W: Foundations for Higher Mathematics with WritingThis course introduces the rigorous techniques used in more advanced mathematics. Topics include basic logic, set theory, methods of proof and counterexamples, foundations of mathematics, construction of number systems, counting methods, combinatorial arguments and elementary analysis. At least three papers will be required, with at least one revision.
- Elementary to Intermediate Statistics and Data AnalysisororMath 3200 (3)mathMath 3200: Elementary to Intermediate Statistics and Data Analysis
An introduction to probability and statistics. Major topics include elementary probability, special distributions, experimental design, exploratory data analysis, estimation of mean and proportion, hypothesis testing and confidence, regression, and analysis of variance. Emphasis is placed on development of statistical reasoning, basic analytic skills, and critical thinking in empirical research studies. The use of the statistical software R is integrated into lectures and weekly assignments. Required for students pursuing a major or minor in mathematics or wishing to take 400-level or above statistics courses.
- 3 × Math Electives
Engineering Courses
- Technical WritingEngr 310 (3)engrEngr 310: Technical Writing
Persistent concerns of grammar and style. Analysis and discussion of clear sentence and paragraph structure and of organization in complete technical documents. Guidelines for effective layout and graphics. Examples and exercises stressing audience analysis, graphic aids, editing and readability. Videotaped work in oral presentation of technical projects. Writing assignments include descriptions of mechanisms, process instructions, basic proposals, letters and memos, and a long formal report.
Science Courses
- 8 units from
Natural Sciences
History of the Major
2024 | todo. |
2023 | todo. |
2022 | todo. |
2021 | todo. |
2020 | todo. |
2019 | todo. |
2018 | todo. |
2017 |