CS Curricula

←All schools

Columbia University in the City of New YorkWebsiteAcademic Catalog

Computer ScienceDepartment Website

Majors

Courses

source 1source 2

COMS E3899: Research Training (0) special

Research training course. Recommended in preparation for laboratory related research

COMS E3999: Fieldwork (1) special

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Only for SEAS computer science undergraduate students who include relevant off-campus work experience as part of their approved program of study. Final report and letter of evaluation required. May not be used as a technical or non-technical elective. May not be taken for pass/fail credit or audited.

COMS E4762: Machine Learning for Functional Genomics (3) ai

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins

COMS E4773: Machine Learning Theory (3) ai

Theoretical study of algorithms for machine learning and high-dimensional data analysis. Topics include high-dimensional probability, theory of generalization and statistical learning, online learning and optimization, spectral analysis.

COMS E4775: Causal Inference (3) ai

Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML.

COMS E4899: Research Training (0) special

Recommended in preparation for laboratory related research

COMS E4995: Computer Arts/Video Games (3) special

Special topics arranged as the need and availability arises.

COMS W1002: Computing in Context (4) intro

Introduction to elementary computing concepts and Python programming with domain-specific applications. Shared CS concepts and Python programming lectures with track-specific sections. Track themes will vary but may include computing for the social sciences, computing for economics and finance, digital humanities, and more. Intended for nonmajors. Students may only receive credit for one of ENGI E1006 or COMS W1002

COMS W1004: Introduction to Computer Science and Programming in Java (3) intro

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.

COMS W1005: Introduction to Computer Science and Programming in MATLAB (3) intro

A general introduction to computer science concepts, algorithmic problem-solving capabilities, and programming skills in MATLAB. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: W1004 or W1005.

COMS W1011: Intermed Computer Programming (3) intro

COMS W1012: Computing in Context Rec (0) intro

COMS W1103: Honors Intro Computer Science (3) intro

COMS W1404: Emerging Scholars Prog Seminar (1) talks

Peer-led weekly seminar intended for first and second year undergraduates considering a major in Computer Science. Pass/fail only.

COMS W3011: Intermed Computer Programming (3) intro

COMS W3101: Programming Languages (1) pls

Introduction to a programming language. Each section is devoted to a specific language. Intended only for those who are already fluent in at least one programming language. Sections may meet for one hour per week for the whole term, for three hours per week for the first third of the term, or for two hours per week for the first six weeks. May be repeated for credit if different languages are involved

COMS W3102: Development Technology (12) softeng

Introduction to software development tools and environments. Each section devoted to a specific tool or environment. One-point sections meet for two hours each week for half a semester, and two point sections include an additional two-hour lab

COMS W3107: Clean Object-Oriented Design (3) softeng

A course in designing, documenting, coding, and testing robust computer software, according to object-oriented design patterns and clean coding practices. Taught in Java.Object-oriented design principles include: use cases; CRC; UML; javadoc; patterns (adapter, builder, command, composite, decorator, facade, factory, iterator, lazy evaluation, observer, singleton, strategy, template, visitor); design by contract; loop invariants; interfaces and inheritance hierarchies; anonymous classes and null objects; graphical widgets; events and listeners; Java's Object class; generic types; reflection; timers, threads, and locks

COMS W3132: Intermediate Computing in Python (4) intro

Essential data structures and algorithms in Python with practical software development skills, applications in a variety of areas including biology, natural language processing, data science and others

COMS W3134: Data Structures in Java (3) intro

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.

COMS W3136: Essential Data Structures (4) intro

A second programming course intended for nonmajors with at least one semester of introductory programming experience. Basic elements of programming in C and C , arraybased data structures, heaps, linked lists, C programming in UNIX environment, object-oriented programming in C , trees, graphs, generic programming, hash tables.

COMS W3137: Honors Data Structures & Algorithms (4) intro

An 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

COMS W3157: Advanced Programming (4) sys

C programming language and Unix systems programming. Also covers Git, Make, TCP/IP networking basics, C fundamentals

COMS W3202: Finite Mathematics (3) math

COMS W3203: Discrete Mathematics (4) math

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)

COMS W3210: Scientific Computation (3) math

Introduction to computation on digital computers. Design and analysis of numerical algorithms. Numerical solution of equations, integration, recurrences, chaos, differential equations. Introduction to Monte Carlo methods. Properties of floating point arithmetic. Applications to weather prediction, computational finance, computational science, and computational engineering.

COMS W3251: Computational Linear Algebra (4) math

COMS W3261: Computer Science Theory (3) 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

COMS W3410: Computers and Society (3) impact

Broader impact of computers. Social networks and privacy. Employment, intellectual property, and the media. Science and engineering ethics. Suitable for nonmajors

CSEE W3827: Fundamentals of Computer Systs. (3) sys

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

COMS W3902: Undergraduate Thesis (06) capstone

An independent theoretical or experimental investigation by an undergraduate major of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is mandatory and an oral presentation may also be required. May be taken over more than one term, in which case the grade is deferred until all 6 points have been completed.

COMS W3995: Special Topics in Computer Science (3) special

Consult the department for section assignment. Special topics arranged as the need and availability arise. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit.

COMS W3998: Undergrad Projects in Computer Science (13) special

Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit.

COMS W3999: Fieldwork (1) special

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Final report and letter of evaluation required. May not be used as a technical or non-technical elective. May not be taken for pass/fail credit or audited

COMS W4111: Introduction to Databases (3) sys

The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL, XML, query processing, physical database tuning, transaction processing, security. Programming projects are required

COMS W4112: Database System Implementation (3) sys

The principles and practice of building large-scale database management systems. Storage methods and indexing, query processing and optimization, materialized views, transaction processing and recovery, object-relational databases, parallel and distributed databases, performance considerations. Programming projects are required

COMS W4113: Fund-Large-Scale Dist Systems (3) sys

Design and implementation of large-scale distributed and cloud systems. Teaches abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. Topics include distributed communication models (e.g. sockets, remote procedure calls, distributed shared memory), distributed synchronization (clock synchronization, logical clocks, distributed mutex), distributed file systems, replication, consistency models, fault tolerance, distributed transactions, agreement and commitment, Paxos-based consensus, MapReduce infrastructures, scalable distributed databases. Combines concepts and algorithms with descriptions of real-world implementations at Google, Facebook, Yahoo, Microsoft, LinkedIn, etc

COMS W4115: Programming Lang & Translators (3) pls

Modern programming languages and compiler design. Imperative, object-oriented, declarative, functional, and scripting languages. Language syntax, control structures, data types, procedures and parameters, binding, scope, run-time organization, and exception handling. Implementation of language translation tools including compilers and interpreters. Lexical, syntactic and semantic analysis; code generation; introduction to code optimization. Teams implement a language and its compiler

COMS W4118: Operating Systems I (3) sys

Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems. Case study of the UNIX operating system. A programming project is required

COMS W4119: Computer Networks (3) sys

Introduction to computer networks and the technical foundations of the internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required

COMS W4121: Computer Systems for Data Science (3) sys

An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers

COMS W4137: From Algorithmic Thinking to Development (3) softeng

Algorithmic problem-solving and coding skills needed to devise solutions to interview questions for software engineering positions. Solutions are implemented in Python, Java, C, and C . Approaches include brute-force, hashing, sorting, transform-and-conquer, greedy, and dynamic programming. Focus on experimentation and team work

COMS W4152: Engineering Software-as-a-Service (3) softeng

Modern software engineering concepts and practices including topics such as Software-as-a-Service, Service-oriented Architecture, Agile Development, Behavior-driven Development, Ruby on Rails, and Dev/ops

COMS W4153: Cloud Computing (3) softeng

Software engineering skills necessary for developing cloud computing and software-as-a-service applications, covering topics such as service-oriented architectures, message-driven applications, and platform integration. Includes theoretical study, practical application, and collaborative project work

COMS W4156: Advanced Software Engineering (3) softeng

Software lifecycle using frameworks, libraries and services. Major emphasis on software testing. Centers on a team project

COMS W4160: Computer Graphics (3) graphics

Introduction to computer graphics. Topics include 3D viewing and projections, geometric modeling using spline curves, graphics systems such as OpenGL, lighting and shading, and global illumination. Significant implementation is required: the final project involves writing an interactive 3D video game in OpenGL

COMS W4162: Advanced Computer Graphics (3) graphics

A second course in computer graphics covering more advanced topics including image and signal processing, geometric modeling with meshes, advanced image synthesis including ray tracing and global illumination, and other topics as time permits. Emphasis will be placed both on implementation of systems and important mathematical and geometric concepts such as Fourier analysis, mesh algorithms and subdivision, and Monte Carlo sampling for rendering. Note: Course will be taught every two years.

COMS W4165: Comput Techniques-Pixel Procss (3) graphics

An intensive introduction to image processing - digital filtering theory, image enhancement, image reconstruction, antialiasing, warping, and the state of the art in special effects. Topics from the basis of high-quality rendering in computer graphics and of low-level processing for computer vision, remote sensing, and medical imaging. Emphasizes computational techniques for implementing useful image-processing functions

COMS W4167: Computer Animation (3) graphics

Theory and practice of physics-based animation algorithms, including animated clothing, hair, smoke, water, collisions, impact, and kitchen sinks. Topics covered: Integration of ordinary differential equations, formulation of physical models, treatment of discontinuities including collisions/contact, animation control, constrained Lagrangian Mechanics, friction/dissipation, continuum mechanics, finite elements, rigid bodies, thin shells, discretization of Navier-Stokes equations. General education requirement: quantitative and deductive reasoning (QUA).

COMS W4170: User Interface Design (3) humans

Introduction to the theory and practice of computer user interface design, emphasizing the software design of graphical user interfaces. Topics include basic interaction devices and techniques, human factors, interaction styles, dialogue design, and software infrastructure. Design and programming projects are required

COMS W4172: 3D Ui and Augmented Reality (3) humans

Design, development, and evaluation of 3D user interfaces. Interaction techniques and metaphors, from desktop to immersive. Selection and manipulation. Travel and navigation. Symbolic, menu, gestural, and multimodal interaction. Dialogue design. 3D software support. 3D interaction devices and displays. Virtual and augmented reality. Tangible user interfaces. Review of relevant 3D math

COMS W4181: Security I (3) sys

Introduction to security. Threat models. Operating system security features. Vulnerabilities and tools. Firewalls, virtual private networks, viruses. Mobile and app security. Usable security.

COMS W4182: Security II (3) sys

Advanced security. Centralized, distributed, and cloud system security. Cryptographic protocol design choices. Hardware and software security techniques. Security testing and fuzzing. Blockchain. Human security issues.

COMS W4186: Malware Analysis&reverse Engineering (3) sys

Hands-on analysis of malware. How hackers package and hide malware and viruses to evade analysis. Disassemblers, debuggers, and other tools for reverse engineering. Deep study of Windows Internals and x86 assembly

COMS W4203: Graph Theory (3) math

General introduction to graph theory. Isomorphism testing, algebraic specification, symmetries, spanning trees, traversability, planarity, drawings on higher-order surfaces, colorings, extremal graphs, random graphs, graphical measurement, directed graphs, Burnside-Polya counting, voltage graph theory

COMS W4205: Combinatorial Theory (3) math

Sequences and recursions, calculus of finite differences and sums, elementary number theory, permutation group structures, binomial coefficients, Stilling numbers, harmonic numbers, generating functions

COMS W4223: Networks, Crowds, and the Web (3) ai

Introduces fundamental ideas and algorithms on networks of information collected by online services. It covers properties pervasive in large networks, dynamics of individuals that lead to large collective phenomena, mechanisms underlying the web economy, and results and tools informing societal impact of algorithms on privacy, polarization and discrimination

COMS W4232: Advanced Algorithms (3) algs

Introduces classic and modern algorithmic ideas that are central to many areas of Computer Science. The focus is on most powerful paradigms and techniques of how to design algorithms, and how to measure their efficiency. The intent is to be broad, covering a diversity of algorithmic techniques, rather than be deep. The covered topics have all been implemented and are widely used in industry. Topics include: hashing, sketching/streaming, nearest neighbor search, graph algorithms, spectral graph theory, linear programming, models for large-scale computation, and other related topics

COMS W4236: Intro-Computational Complexity (3) theory

Develops a quantitative theory of the computational difficulty of problems in terms of the resources (e.g. time, space) needed to solve them. Classification of problems into complexity classes, reductions, and completeness. Power and limitations of different modes of computation such as nondeterminism, randomization, interaction, and parallelism

COMS W4241: Numerical Algorithms and Complexity (3) algs

Modern 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

COMS W4252: Intro-Computational Learn Thry (3) ai

Possibilities and limitations of performing learning by computational agents. Topics include computational models of learning, polynomial time learnability, learning from examples and learning from queries to oracles. Computational and statistical limitations of learning. Applications to Boolean functions, geometric functions, automata

COMS W4261: Intro to Cryptography (3) theory

An introduction to modern cryptography, focusing on the complexity-theoretic foundations of secure computation and communication in adversarial environments; a rigorous approach, based on precise definitions and provably secure protocols. Topics include private and public key encryption schemes, digital signatures, authentication, pseudorandom generators and functions, one-way functions, trapdoor functions, number theory and computational hardness, identification and zero knowledge protocols

COMS W4281: Intro to Quantum Computing (3) theory

Introduction to quantum computing. Shor's factoring algorithm, Grover's database search algorithm, the quantum summation algorithm. Relationship between classical and quantum computing. Potential power of quantum computers

COMS W4419: Internet Technology, Economics, and Policy (3) sys

Technology, economic and policy aspects of the Internet. Summarizes how the Internet works technically, including protocols, standards, radio spectrum, global infrastructure and interconnection. Micro-economics with a focus on media and telecommunication economic concerns, including competition and monopolies, platforms, and behavioral economics. US constitution, freedom of speech, administrative procedures act and regulatory process, universal service, role of FCC. Not a substitute for CSEE4119. Suitable for non-majors. May not be used as a track elective for the computer science major.

COMS W4444: Programming & Problem Solving (3) softeng

Hands-on introduction to solving open-ended computational problems. Emphasis on creativity, cooperation, and collaboration. Projects spanning a variety of areas within computer science, typically requiring the development of computer programs. Generalization of solutions to broader problems, and specialization of complex problems to make them manageable. Team-oriented projects, student presentations, and in-class participation required

COMS W4460: Prin-Innovatn/Entrepreneurship (3) entrepreneur

Team project centered course focused on principles of planning, creating, and growing a technology venture. Topics include: identifying and analyzing opportunities created by technology paradigm shifts, designing innovative products, protecting intellectual property, engineering innovative business models

COMS W4701: Artificial Intelligence (3) ai

Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits

COMS W4705: Natural Language Processing (3) ai

Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or Machine Learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas

COMS W4706: Spoken Language Processing (3) ai

Computational approaches to speech generation and understanding. Topics include speech recognition and understanding, speech analysis for computational linguistics research, and speech synthesis. Speech applications including dialogue systems, data mining, summarization, and translation. Exercises involve data analysis and building a small text-to-speech system.

COMS W4731: Computer Vision I: First Principles (3) ai

Introductory course in computer vision. Topics include image formation and optics, image sensing, binary images, image processing and filtering, edge extraction and boundary detection, region growing and segmentation, pattern classification methods, brightness and reflectance, shape from shading and photometric stereo, texture, binocular stereo, optical flow and motion, 2D and 3D object representation, object recognition, vision systems and applications

COMS W4732: Computer Vision II: Learning (3) ai

Advanced course in computer vision. Topics include convolutional networks and back-propagation, object and action recognition, self-supervised and few-shot learning, image synthesis and generative models, object tracking, vision and language, vision and audio, 3D representations, interpretability, and bias, ethics, and media deception

COMS W4733: Computational Aspects of Robotics (3) ai

Partial Fulfillment of Science Requirement

COMS W4735: Visual Interfaces to Computers (3) humans

Visual input as data and for control of computer systems. Survey and analysis of architecture, algorithms, and underlying assumptions of commercial and research systems that recognize and interpret human gestures, analyze imagery such as fingerprint or iris patterns, generate natural language descriptions of medical or map imagery. Explores foundations in human psychophysics, cognitive science, and artificial intelligence

COMS W4737: Biometrics (3) ai

Partial Fulfillment of Science Requirement

COMS W4762: Machine Learning for Functional Genomics (3) ai

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins

COMS W4771: Machine Learning (3) ai

Topics from generative and discriminative machine learning including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models and hidden Markov models. Algorithms implemented in MATLAB

COMS W4772: Advanced Machine Learning (3) ai

An exploration of advanced machine learning tools for perception and behavior learning. How can machines perceive, learn from, and classify human activity computationally? Topics include appearance-based models, principal and independent components analysis, dimensionality reduction, kernel methods, manifold learning, latent models, regression, classification, Bayesian methods, maximum entropy methods, real-time tracking, extended Kalman filters, time series prediction, hidden Markov models, factorial HMMS, input-output HMMs, Markov random fields, variational methods, dynamic Bayesian networks, and Gaussian/Dirichlet processes. Links to cognitive science

COMS W4773: Machine Learning Theory (3) ai

Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of data structures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python.

COMS W4774: Unsupervised Learning (3) ai

Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of datastructures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python

COMS W4775: Causal Inference (3) ai

Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML

COMS W4776: Machine Learning for Data Science (3) ai

Introduction to machine learning, emphasis on data science. Topics include least square methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines kernel methods. Emphasizes methods and problems relevant to big data.

COMS W4824: Computer Architecture (3) sys

CSEE W4824: Computer Architecture (3) sys

Focuses on advanced topics in computer architecture, illustrated by case studies from classic and modern processors. Fundamentals of quantitative analysis. Pipelining. Memory hierarchy design. Instruction-level and thread-level parallelism. Data-level parallelism and graphics processing units. Multiprocessors. Cache coherence. Interconnection networks. Multi-core processors and systems-on-chip. Platform architectures for embedded, mobile, and cloud computing

COMS W4835: Computer Organization II (3) sys

CSEE W4868: System-On-Chip Platforms (3) sys

Design and programming of System-on-Chip (SoC) platforms. Topics include: overview of technology and economic trends, methodologies and supporting CAD tools for system-level design, models of computation, the SystemC language, transaction-level modeling, software simulation and virtual platforms, hardware-software partitioning, high-level synthesis, system programming and device drivers, on-chip communication, memory organization, power management and optimization, integration of programmable processor cores and specialized accelerators. Case studies of modern SoC platforms for various classes of applications.

COMS W4901: Projects in Computer Science (13) special

A second-level independent project involving laboratory work, computer programming, analytical investigation, or engineering design.

COMS W4910: Curricular Practical Training (1) special

COMS W4995: Topics in Computer Science (3) special

Selected topics in computer science

COMS W4996: Special Topics in Computer Science, II (3) special

A continuation of COMS W4995 when the special topic extends over two terms.

MATH BC2006: Combinatorics (3) math

APMA E2000: Multv. Calc. For Engi & App Sci (4) math

Differential and integral calculus of multiple variables. Topics include partial differentiation; optimization of functions of several variables; line, area, volume, and surface integrals; vector functions and vector calculus; theorems of Green, Gauss, and Stokes; applications to selected problems in engineering and applied science

APMA E2101: Intro to Applied Mathematics (3) math

A unified, single-semester introduction to differential equations and linear algebra with emphases on (1) elementary analytical and numerical technique and (2) discovering the analogs on the continuous and discrete sides of the mathematics of linear operators: superposition, diagonalization, fundamental solutions. Concepts are illustrated with applications using the language of engineering, the natural sciences, and the social sciences. Students execute scripts in Mathematica and MATLAB (or the like) to illustrate and visualize course concepts (programming not required)

APMA E3101: Applied Math I: Linear Algebra (3) math

Matrix algebra, elementary matrices, inverses, rank, determinants. Computational aspects of solving systems of linear equations: existence-uniqueness of solutions, Gaussian elimination, scaling, ill-conditioned systems, iterative techniques. Vector spaces, bases, dimension. Eigenvalue problems, diagonalization, inner products, unitary matrices

STAT GU4001: Introduction to Probability and Statistics (3) math

A calculus-based tour of the fundamentals of probability theory and statistical inference. Probability models, random variables, useful distributions, conditioning, expectations, law of large numbers, central limit theorem, point and confidence interval estimation.

MATH GU4041: Intro Modern Algebra I (3) math

Groups, homomorphisms, normal subgroups, the isomorphism theorems, symmetric groups, group actions, the Sylow theorems, finitely generated abelian groups

MATH GU4051: Topology (3) math

Metric spaces, continuity, compactness, quotient spaces. The fundamental group of topological space. Examples from knot theory and surfaces. Covering spaces

MATH GU4061: Intro Modern Analysis I (3) math

Real numbers, metric spaces, elements of general topology, sequences and series, continuity, differentiation, integration, uniform convergence, Ascoli-Arzela theorem, Stone-Weierstrass theorem

MATH UN1101: Calculus I (3) math

Functions, limits, derivatives, introduction to integrals, or an understanding of pre-calculus will be assumed.

MATH UN1102: Calculus II (3) math

Methods of integration, applications of the integral, Taylors theorem, infinite series.

MATH UN1201: Calculus III (3) math

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)

STAT UN1201: Calc-Based Intro to Statistics (3) math

Designed for students who desire a strong grounding in statistical concepts with a greater degree of mathematical rigor than in STAT W1111. Random variables, probability distributions, pdf, cdf, mean, variance, correlation, conditional distribution, conditional mean and conditional variance, law of iterated expectations, normal, chi-square, F and t distributions, law of large numbers, central limit theorem, parameter estimation, unbiasedness, consistency, efficiency, hypothesis testing, p-value, confidence intervals, maximum likelihood estimation.

MATH UN1202: Calculus IV (3) math

Multiple integrals, Taylor's formula in several variables, line and surface integrals, calculus of vector fields, Fourier series. (SC)

MATH UN1205: Accelerated Multivariable Calc (4) math

Vectors 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.

MATH UN1207: Honors Mathematics A (4) math

Multivariable calculus and linear algebra from a rigorous point of view. Recommended for mathematics majors. Fulfills the linear algebra requirement for the major. (SC)

MATH UN1208: Honors Mathematics B (4) math

Multivariable calculus and linear algebra from a rigorous point of view. Recommended for mathematics majors. Fulfills the linear algebra requirement for the major. (SC)

MATH UN2010: Linear Algebra (3) math

Matrices, vector spaces, linear transformations, eigenvalues and eigenvectors, canonical forms, applications.

MATH UN2015: Linear Algebra and Probability (3) math

Linear algebra with a focus on probability and statistics. The course covers the standard linear algebra topics: systems of linear equations, matrices, determinants, vector spaces, bases, dimension, eigenvalues and eigenvectors, the Spectral Theorem and singular value decompositions. It also teaches applications of linear algebra to probability, statistics and dynamical systems giving a background sufficient for higher level courses in probability and statistics. The topics covered in the probability theory part include conditional probability, discrete and continuous random variables, probability distributions and the limit theorems, as well as Markov chains, curve fitting, regression, and pattern analysis. The course contains applications to life sciences, chemistry, and environmental life sciences. No a prior i background in the life sciences is assumed. This course is best suited for students who wish to focus on applications and practical approaches to problem solving. It is recommended to students majoring in engineering, technology, life sciences, social sciences, and economics. Math majors, joint majors, and math concentrators must take MATH UN2010 Linear Algebra, which focuses on linear algebra concepts and foundations that are needed for upper-level math courses. MATH UN2015 (Linear Algebra and Probability) does NOT replace MATH UN2010 (Linear Algebra) as prerequisite requirements of math courses. Students may not receive full credit for both courses MATH UN2010 and MATH UN2015

MATH UN2500: Analysis and Optimization (3) math

Mathematical 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.

MATH UN3007: Complex Variables (3) math

Fundamental properties of the complex numbers, differentiability, Cauchy-Riemann equations. Cauchy integral theorem. Taylor and Laurent series, poles, and essential singularities. Residue theorem and conformal mapping.

MATH UN3020: Number Theory and Cryptography (3) math

Congruences. Primitive roots. Quadratic residues. Contemporary applications

MATH UN3386: Differential Geometry (3) math

Local and global differential geometry of submanifolds of Euclidean 3-space. Frenet formulas for curves. Various types of curvatures for curves and surfaces and their relations. The Gauss-Bonnet theorem.

MATH UN3951: Undergraduate Seminars I (3) math

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

MATH UN3952: Undergraduate Seminars II (3) math

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

ENGI E1006: Intro to Comp for Eng/App Sci (3) engr

An interdisciplinary course in computing intended for first year SEAS students. Introduces computational thinking, algorithmic problem solving and Python programming with applications in science and engineering. Assumes no prior programming background

CBMF W4761: Computational Genomics (3)

Computational techniques for analyzing genomic data including DNA, RNA, protein and gene expression data. Basic concepts in molecular biology relevant to these analyses. Emphasis on techniques from artificial intelligence and machine learning. String-matching algorithms, dynamic programming, hidden Markov models, expectation-maximization, neural networks, clustering algorithms, support vector machines. Students with life sciences backgrounds who satisfy the prerequisites are encouraged to enroll

CSOR E4231: Analysis of Algorithms I (3) algs

Introduction to the design and analysis of efficient algorithms. Topics include models of computation, efficient sorting and searching, algorithms for algebraic problems, graph algorithms, dynamic programming, probabilistic methods, approximation algorithms, and NP-completeness

CSOR W4231: Analysis of Algorithms I (3) algs

IEOR E3658: Probability for Engineers (3)

Introductory course to probability theory and does not assume any prior knowledge of subject. Teaches foundations required to use probability in applications, but course itself is theoretical in nature. Basic definitions and axioms of probability and notions of independence and conditional probability introduced. Focus on random variables, both continuous and discrete, and covers topics of expectation, variance, conditional distributions, conditional expectation and variance, and moment generating functions. Also Central Limit Theorem for sums of random variables.