Columbia University in the City of New YorkWebsiteAcademic Catalog
Computer ScienceDepartment Website
BA Degree in Mathematics-Computer Sciencesource 1
CS Courses
- Introduction to Computer Science and Programming in JavaCOMS W1004 (3)introCOMS W1004: Introduction to Computer Science and Programming in Java
A general introduction to computer science for science and engineering students interested in majoring in computer science or engineering. Covers fundamental concepts of computer science, algorithmic problem-solving capabilities, and introductory Java programming skills. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: 1004 or 1005.
- Data Structures in JavaorCOMS W3134 (3)introCOMS W3134: Data Structures in Java
Data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Rudiments of the analysis of algorithms. Taught in Java.
Honors Data Structures & AlgorithmsCOMS W3137 (4)introCOMS W3137: Honors Data Structures & AlgorithmsAn honors introduction to data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Design and analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, W3136, or W3137
- Discrete MathematicsCOMS W3203 (4)mathCOMS W3203: Discrete Mathematics
Logic and formal proofs, sequences and summation, mathematical induction, binomial coefficients, elements of finite probability, recurrence relations, equivalence relations and partial orderings, and topics in graph theory (including isomorphism, traversability, planarity, and colorings)
- Computer Science TheoryCOMS W3261 (3)theoryCOMS W3261: Computer Science Theory
Regular languages: deterministic and non-deterministic finite automata, regular expressions. Context-free languages: context-free grammars, push-down automata. Turing machines, the Chomsky hierarchy, and the Church-Turing thesis. Introduction to Complexity Theory and NP-Completeness
- Fundamentals of Computer Systs.CSEE W3827 (3)sysCSEE W3827: Fundamentals of Computer Systs.
Fundamentals of computer organization and digital logic. Boolean algebra, Karnaugh maps, basic gates and components, flipflops and latches, counters and state machines, basics of combinational and sequential digital design. Assembly language, instruction sets, ALU’s, single-cycle and multi-cycle processor design, introduction to pipelined processors, caches, and virtual memory
Math/Stat Courses
- orCalculus IIIMATH UN1201 (3)mathMATH UN1201: Calculus III
Vectors in dimensions 2 and 3, complex numbers and the complex exponential function with applications to differential equations, Cramers rule, vector-valued functions of one variable, scalar-valued functions of several variables, partial derivatives, gradients, surfaces, optimization, the method of Lagrange multipliers. (SC)
orAccelerated Multivariable CalcMATH UN1205 (4)mathMATH UN1205: Accelerated Multivariable CalcVectors in dimensions 2 and 3, vector-valued functions of one variable, scalar-valued functions of several variables, partial derivatives, gradients, optimization, Lagrange multipliers, double and triple integrals, line and surface integrals, vector calculus. This course is an accelerated version of MATH UN1201 - MATH UN1202.
- pick 2
Numerical Algorithms and ComplexityCOMS W4241 (3)algsCOMS W4241: Numerical Algorithms and ComplexityModern theory and practice of computation on digital computers. Introduction to concepts of computational complexity. Design and analysis of numerical algorithms. Applications to computational finance, computational science, and computational engineering
Analysis and OptimizationMATH UN2500 (3)mathMATH UN2500: Analysis and OptimizationMathematical methods for economics. Quadratic forms, Hessian, implicit functions. Convex sets, convex functions. Optimization, constrained optimization, Kuhn-Tucker conditions. Elements of the calculus of variations and optimal control.
- orUndergraduate Seminars IIMATH UN3952 (3)mathMATH UN3952: Undergraduate Seminars II
The subject matter is announced at the start of registration and is different in each section. Each student prepares talks to be given to the seminar, under the supervision of a faculty member or senior teaching fellow
Science Courses
Other Courses
- 10 × Free Elective
History of the Major
2024 | Expand list of permitted math electives. |
2023 | |
2022 | |
2021 | |
2020 | |
2019 | |
2018 | |
2017 |