University of California, San DiegoWebsiteAcademic Catalog
Computer Science & EngineeringDepartment Website
Majors
Courses
source 1source 2source 3source 4source 5source 6source 7source 8source 9source 10source 11source 12CSE 3: Fluency in Information Technology (4)
Introduces the concepts and skills necessary to effectively use information technology. Includes basic concepts and some practical skills with computer and networks.
CSE 4GS: Mathematical Beauty in Rome (4) special
Exploration of topics in mathematics and engineering as they relate to classical architecture in Rome, Italy. In depth geometrical analysis and computer modeling of basic structures (arches, vaults, domes), and on-site studies of the Colosseum, Pantheon, Roman Forum, and St. Peter’s Basilica.
CSE 6GS: Mathematical Beauty in Rome Lab (4) special
Companion course to CSE 4GS where theory is applied and lab experiments are carried out “in the field” in Rome, Italy. For final projects, students will select a complex structure (e.g., the Colosseum, the Pantheon, St. Peter’s, etc.) to analyze and model, in detail, using computer-based tools.
CSE 6R: Introduction to Computer Science and Object-Oriented Programming: Python (4) intro
An introduction to computer science and programming using the Python language. The course will cover topics such as basic data types (e.g., integer, float, string), loops and iteration, basic data structures (e.g., list, set, dictionary), memory models, conditional statements, recursion, basic algorithm time complexity analysis, class design, and inheritance.
CSE 8A: Introduction to Programming and Computational Problem-Solving I (4) intro
Introductory course for students interested in computer science and programming. Basics of programming including variables, conditionals, loops, functions/methods. Structured data storage such as arrays/lists and dictionaries, including data mutation. Hands-on experience with designing, writing, hand-tracing, compiling or interpreting, executing, testing, and debugging programs. Students solve relevant computational problems using a high-level programming language. CSE 8A is part of a two-course sequence (CSE 8A-B) that is equivalent to CSE 11. Students should take CSE 8B to complete the CSE 8A-B track. Students who have taken CSE 8B or CSE 11 may not take or receive credit for CSE 8A. Students may only receive credit for one of the following: BILD 62, COGS 18, CSE 8A, or CSE 6R. Recommended preparation: No prior programming experience is assumed, but comfort using computers is helpful. Students should consult the “CSE Course Placement Advice” web page for assistance in choosing which CSE course to take first.
CSE 8B: Introduction to Programming and Computational Problem-Solving II (4) intro
Introductory programming using an object-oriented approach with the Java programming language. Builds on basic programming constructs introduced in CSE 8A to introduce class design and use, interfaces, basic class hierarchies, recursion, event-based programming, error reporting with exceptions, and file I/O. Basics of command-line navigation for file management and running programs. Development, testing, and debugging of more complex programs. CSE 8B is part of a two-course sequence (CSE 8A-B) that is equivalent to CSE 11. No credit offered for CSE 8B if CSE 11 taken previously. Students may not receive credit for CSE 8B and CSE 11. Students should consult the “CSE Course Placement Advice” web page for assistance in choosing which CSE course to take first.
CSE 11: Introduction to Programming and Computational Problem-Solving: Accelerated Pace (4) intro
Accelerated introductory programming including an object-oriented approach. Covers basic programming topics from CSE 8A including variables, conditionals, loops, functions/methods, structured data storage, and mutation. Also covers topics from CSE 8B including the Java programming language, class design, interfaces, basic class hierarchies, recursion, event-based programming, and file I/O. Basics of command-line navigation for file management and running programs. Zero units of credit offered for CSE 11 if CSE 8B taken previously or concurrently. Recommended preparation: Significant prior programming experience (for example, high school AP CSA). Students should consult the “CSE Course Placement Advice” web page for assistance in choosing a first CSE course.
CSE 12: Basic Data Structures and Object-Oriented Design (4) intro
Use and implementation of basic data structures including linked lists, stacks, and queues. Use of advanced structures such as binary trees and hash tables. Object-oriented design including interfaces, polymorphism, encapsulation, abstract data types, pre-/post-conditions. Recursion. Uses Java and Java Collections.
CSE 20: Discrete Mathematics (4) math
This course will introduce the ways logic is used in computer science: for reasoning, as a language for specifications, and as operations in computation. Concepts include sets, relations, functions, equivalence relations, partial orders, number systems, and proof methods (especially induction and recursion). Propositional and predicate logic will be introduced and applied to various computer science domains such as circuit design, databases, cryptography, and program correctness.
CSE 21: Mathematics for Algorithms and Systems (4) math
This course will cover mathematical concepts used to model and analyze algorithms and computer systems. Topics include counting techniques, data representations, analysis of algorithms, recurrence relations, graphs and trees, and basic probability and its applications.
CSE 29: Systems Programming and Software Tools (4) sys
A programmer's view of how computer systems execute programs, store information, and communicate. Emphasis on understanding the details of how a single computer program executes on a computer. Hands-on systems programming using the C programming language and software tools (e.g., gdb, valgrind, make) in the UNIX environment. Builds foundation for courses on computer organization, operating systems, networks, and compilers.
CSE 30: Computer Organization and Systems Programming (4) sys
Introduction to organization of modern digital computers—understanding the various components of a computer and their interrelationships. Study of a specific architecture/machine with emphasis on systems programming in C and Assembly languages in a UNIX environment.
CSE 42: Building and Programming Electronic Devices (2) intro
This course allows students to use what they learned in introductory programming courses to make things happen in the real world. Working in teams, students will first learn to program Arduino-based devices.
CSE 86: C++ for Java Programmers (2) intro
Helps the Java programmer to be productive in the C++ programming environment. Topics include the similarities and differences between Java and C++ with special attention to pointers, operator overloading, templates, the STL, the preprocessor, and the C++ Runtime Environment.
CSE 87: First-year Student Seminar (1)
The First-year Student Seminar Program is designed to provide new students with the opportunity to explore an intellectual topic with a faculty member in a small seminar setting.
CSE 89: Introduction to Computer Science and Engineering Seminar (2) talks
A seminar format discussion led by CSE faculty on topics in central areas of computer science, concentrating on the relation among them, recent developments, and future directions.
CSE 90: Undergraduate Seminar (1) talks
A seminar providing an overview of a topic of current research interest to the instructor. The goal is to present a specialized topic in computer science and engineering students. May be taken for credit three times when topics vary.
CSE 91: Perspectives in Computer Science and Engineering (2) talks
A seminar format discussion led by CSE faculty on topics in central areas of computer science, concentrating on the relation among them, recent developments, and future directions.
CSE 95: Tutor Apprenticeship (2) special
Students assigned to tutor for a CSE course for the first time receive individual and group mentoring and training on how to be effective tutors to help them develop the skills and tools needed to be effective in their tutor role.
CSE 99: Independent Study in Computer Science and Engineering (4) special
Independent reading or research by special arrangement with a faculty member.
CSE 100: Advanced Data Structures (4) algs
High-performance data structures and supporting algorithms. Use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also, memory management, pointers, recursion. Theoretical and practical performance analysis, both average case and amortized. Uses C++ and STL.
CSE 100R: Advanced Data Structures (4) algs
High-performance data structures and supporting algorithms. Use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also memory management, pointers, recursion. Theoretical and practical performance analysis, both average case and amortized. Uses C++ and STL. This course is a distance education course. Students may not receive credit for both CSE 100R and CSE 100.
CSE 101: Design and Analysis of Algorithms (4) algs
Design and analysis of efficient algorithms with emphasis of nonnumerical algorithms such as sorting, searching, pattern matching, and graph and network algorithms. Measuring complexity of algorithms, time and storage. NP-complete problems.
CSE 103: A Practical Introduction to Probability and Statistics (4) math
Distributions over the real line. Independence, expectation, conditional expectation, mean, variance. Hypothesis testing. Learning classifiers. Distributions over R^n, covariance matrix. Binomial, Poisson distributions. Chernoff bound. Entropy. Compression. Arithmetic coding. Maximal likelihood estimation. Bayesian estimation. CSE 103 is not duplicate credit for ECE 109, ECON 120A, or MATH 183.
CSE 105: Theory of Computability (4) theory
An introduction to the mathematical theory of computability. Formal languages. Finite automata and regular expressions. Push-down automata and context-free languages. Computable or recursive functions: Turing machines, the halting problem. Undecidability.
CSE 106: Discrete and Continuous Optimization (4) math
One frequently deals with problems in engineering, data science, business, economics, and other disciplines for which algorithmic solutions that optimize a given quantity under constraints are desired. This course is an introduction to the models, theory, methods, and applications of discrete and continuous optimization.
CSE 107: Introduction to Modern Cryptography (4) math
Topics include private and public-key cryptography, block ciphers, data encryption, authentication, key distribution and certification, pseudorandom number generators, design and analysis of protocols, zero-knowledge proofs, and advanced protocols. Emphasizes rigorous mathematical approach including formal definitions of security goals and proofs of protocol security.
CSE 109: Introduction to Programming Contests (2) special
This course introduces the algorithms and concepts necessary to compete in programming contests like ACM International Collegiate Programming Contest (ICPC). The course requires weekly completion of short problem sets.
CSE 110: Software Engineering (4) softeng
Introduction to software development and engineering methods, including specification, design, implementation, testing, and process. An emphasis on team development, agile methods, and use of tools such as IDE’s, version control, and test harnesses.
CSE 112: Advanced Software Engineering (4) softeng
This course will cover software engineering topics associated with large systems development such as requirements and specifications, testing and maintenance, and design. Specific attention will be given to development tools and automated support environments.
CSE 118: Ubiquitous Computing (4) sys
Explores emerging opportunities enabled by cheap sensors and networked computing devices. Small research projects will be conducted in teams, culminating in project presentations at the end of the term. Section will cover material relevant to the project, such as research methods, software engineering, teamwork, and project management.
CSE 120: Principles of Computer Operating Systems (4) sys
Basic functions of operating systems; basic kernel structure, concurrency, memory management, virtual memory, file systems, process scheduling, security and protection.
CSE 121: Real-World Operating Systems (4) sys
Case study of architecture and implementation of a modern operating system or parts of multiple operating systems. In-depth analysis through detailed study of deployed source code. Topics vary based on OS understudy each term. Emphasis on emerging concerns and the new techniques and technologies used to address them.
CSE 122: Wireless Networks (4) sys
This course covers the design, operation, and use of wireless technologies, with emphasis on how physical resource constraints and application constraints meet to affect link, network, system, and application design, with hands-on experience in multiple technologies.
CSE 123: Computer Networks (4) sys
Introduction to concepts, principles, and practice of computer communication networks with examples from existing architectures, protocols, and standards with special emphasis on the internet protocols.
CSE 124: Networked Services (4) sys
The architecture of modern networked services, including data center design, enterprise storage, fault tolerance, and load balancing. Protocol software structuring, the Transmission Control Protocol (TCP), remote procedure calls, protocols for digital audio and video communication, overlay and peer-to-peer systems, secure communication.
CSE 125: Software System Design and Implementation (4) softeng
Design and implementation of large, complex software systems involving multiple aspects of CSE curriculum. Emphasis is on software system design applied to a single, large group project with close interaction with instructor.
CSE 127: Introduction to Computer Security (4) sys
Topics include basic cryptography, security/threat analysis, access control, auditing, security models, distributed systems security, and theory behind common attack and defense techniques. The class will go over formal models as well as the bits and bytes of security exploits.
CSE 130: Programming Languages: Principles and Paradigms (4) pls
Introduction to programming languages and paradigms, the components that comprise them, and the principles of language design, all through the analysis and comparison of a variety of languages (e.g., Pascal, Ada, C++, PROLOG, ML.) Will involve programming in most languages studied.
CSE 131: Compiler Construction (4) pls
Introduction to the compilation of programming languages, practice of syntax-directed translation, type checking, code generation, optimization, interpretation, and compiler structure. Students may receive repeat credit for CSE 131A and CSE 131B by completing CSE 131. May be coscheduled with CSE 231.
CSE 132A: Database System Principles (4) sys
Basic concepts of databases, including data modeling, relational databases, query languages, optimization, dependencies, schema design, and concurrency control. Exposure to one or several commercial database systems. Advanced topics such as deductive and object-oriented databases, time allowing.
CSE 132B: Database Systems Applications (4) sys
Design of databases, transactions, use of trigger facilities and datablades. Performance measuring, organization of index structures.
CSE 132C: Database System Implementation (4) sys
This is a systems-focused course on the internals of a relational database management system (RDBMS). RDBMSs power large-scale structured data management in most digital applications. The topics span data storage, buffer management, indexing, sorting, relational operator implementations, query processing and optimization, parallel RDBMSs, and “Big Data” systems. Two C++ programming projects require implementation of a buffer manager and a B+ tree index using a given RDBMS skeleton. Recommended preparation: C++ programming knowledge is required; CSE 132B is recommended.
CSE 134B: Web Client Languages (4) sys
Design and implementation of interactive World Wide Web clients using helper applications and plug-ins. The main language covered will be Java.
CSE 135: Online Database Analytics Applications (4) sys
Database, data warehouse, and data cube design; SQL programming and querying with emphasis on analytics; online analytics applications, visualizations, and data exploration; performance tuning.
CSE 136: Enterprise-Class Web Applications (4) sys
Design and implementation of very large-scale, web-based applications. Topics covered typically include modeling organizational needs, design and revision management, J2EE or similar software platforms, web server and application server functionality, reuse of object-oriented components, model-view-controller and other design patterns, clustering, load-balancing, fault-tolerance, authentication, and usage accounting.
CSE 140: Components and Design Techniques for Digital Systems (4) sys
Design of Boolean logic and finite state machines; two-level, multilevel combinational logic design, combinational modules and modular networks, Mealy and Moore machines, analysis and synthesis of canonical forms, sequential modules.
CSE 140L: Digital Systems Laboratory (2) sys
Implementation with computer-aided design tools for combinational logic minimization and state machine synthesis. Hardware construction of a small digital system.
CSE 141: Introduction to Computer Architecture (4) sys
Introduction to computer architecture. Computer system design. Processor design. Control design. Memory systems.
CSE 141L: Project in Computer Architecture (2) sys
Hands-on computer architecture project aiming to familiarize students with instruction set architecture, and design of process. Control and memory systems.
CSE 142: Introduction to Computer Architecture: A Software Perspective (4) sys
This course covers the operation, structure, and programming interfaces of modern CPUs with an emphasis on exploiting processor features to improve software performance and efficiency.
CSE 142L: Software Project for Computer Architecture (2) sys
This course provides hands-on experience in using the features of modern CPUs to increase the performance and efficiency of programs.
CSE 143: Microelectronic System Design (4) sys
VLSI process technologies; circuit characterization; logic design styles; clocking strategies; computer-aided design tools; subsystem design; design case studies.
CSE 145: Embedded System Design Project (4) sys
Project class building an embedded computing system. Learn fundamental knowledge of microcontrollers, sensors, and actuators.
CSE 147: Introduction to Embedded Systems (4) sys
This course introduces the breadth of embedded systems, including hardware, software and modeling techniques.
CSE 148: Advanced Processor Architecture Design Project (4) sys
Students will use hardware description language tools to add advanced architectural features to a basic processor design.
CSE 150A: Introduction to Artificial Intelligence: Probabilistic Reasoning and Decision-Making (4) ai
Introduction to probabilistic models at the heart of modern artificial intelligence. Specific topics to be covered include probabilistic methods for reasoning and decision-making under uncertainty; inference and learning in Bayesian networks; prediction and planning in Markov decision processes; applications to intelligent systems, speech and natural language processing, information retrieval, and robotics.
CSE 150B: Introduction to Artificial Intelligence: Search and Reasoning (4) ai
The course will introduce important ideas and algorithms in search and reasoning and demonstrate how they are used in practical AI applications. Topics include A* search, adversarial search, Monte Carlo tree search, reinforcement learning, constraint solving and optimization, propositional and first-order reasoning.
CSE 151A: Machine Learning: Learning Algorithms (4) ai
Broad introduction to machine learning. The topics include some topics in supervised learning, such as k-nearest neighbor classifiers, decision trees, boosting, and perceptrons; and topics in unsupervised learning, such as k-means and hierarchical clustering. In addition to the actual algorithms, the course focuses on the principles behind the algorithms.
CSE 151B: Deep Learning (4) ai
This course covers the fundamentals of neural networks. We introduce linear regression, logistic regression, perceptrons, multilayer networks and back-propagation, convolutional neural networks, recurrent networks, and deep networks trained by reinforcement learning.
CSE 152A: Introduction to Computer Vision I (4) ai
This course provides a broad introduction to the foundations, algorithms, and applications of computer vision. It introduces classical models and contemporary methods, from image formation models to deep learning, to address problems of 3-D reconstruction and object recognition from images and video.
CSE 152B: Introduction to Computer Vision II (4) ai
This course covers advanced topics needed to apply computer vision in industry or follow current research. Example topics include real-time systems for 3-D computer vision, machine learning tools such as support-vector machine (SVM) and boosting for image classification, and deep neural networks for object detection and semantic segmentation.
CSE 156: Statistical Natural Language Processing (4) ai
Natural language processing (NLP) is a field of AI which aims to equip computers with the ability to intelligently process natural (human) language. This course will explore statistical techniques for the automatic analysis of natural language data. Specific topics covered include probabilistic language models, which define probability distributions over text passages; text classification; sequence models; parsing sentences into syntactic representations; and machine translation.
CSE 158: Recommender Systems and Web Mining (4) ai
Current methods for data mining and predictive analytics. Emphasis is on studying real-world data sets, building working systems, and putting current ideas from machine learning research into practice.
CSE 158R: Recommender Systems and Web Mining (4) ai
Current methods for data mining and predictive analytics. Emphasis is on studying real-world data sets, building working systems, and putting current ideas from machine learning research into practice. This will be a fully online class based on extensive educational materials and an online educational platform.
CSE 160: Introduction to Parallel Computing (4) sys
Introduction to high performance parallel computing: parallel architecture, algorithms, software, and problem-solving techniques. Areas covered: Flynn’s taxonomy, processor-memory organizations, shared and nonshared memory models: message passing and multithreading, data parallelism; speedup, efficiency and Amdahl’s law, communication and synchronization, isoefficiency and scalability. Assignments given to provide practical experience.
CSE 163: Advanced Computer Graphics (4) graphics
Topics include an overview of many aspects of computer graphics, including the four main computer graphics areas of animation, modeling, rendering, and imaging. Programming projects in image and signal processing, geometric modeling, and real-time rendering.
CSE 165: 3-D User Interaction (4) graphics
This course focuses on the design of three-dimensional (3-D) user interfaces, VR devices, and interaction techniques. The course consists of lectures, student presentations, and programming assignments. Students will be expected to create VR applications to learn how VR displays and 3-D interactions work.
CSE 166: Image Processing (4) graphics
Principles of image formation, analysis, and representation. Image enhancement, restoration, and segmentation; stochastic image models. Filter design, sampling, Fourier and wavelet transforms. Selected applications in computer graphics and machine vision.
CSE 167: Computer Graphics (4) graphics
Representation and manipulation of pictorial data. Two-dimensional and three-dimensional transformations, curves, surfaces. Projection, illumination, and shading models. Raster and vector graphic I/O devices; retained-mode and immediate-mode graphics software systems and applications.
CSE 168: Computer Graphics II: Rendering (4) graphics
Weekly programming assignments that will cover graphics rendering algorithms. During the course the students will learn about ray tracing, geometry, tessellation, acceleration structures, sampling, filtering, shading models, and advanced topics such as global illumination and programmable graphics hardware.
CSE 169: Computer Animation (4) graphics
Advanced graphics focusing on the programming techniques involved in computer animation. Algorithms and approaches for both character animation and physically based animation. Particular subjects may include skeletons, skinning, key framing, facial animation, inverse kinematics, locomotion, motion capture, video game animation, particle systems, rigid bodies, clothing, and hair.
CSE 170: Interaction Design (5) humans
Introduces fundamental methods and principles for designing, implementing, and evaluating user interfaces. Topics include user-centered design, rapid prototyping, experimentation, direct manipulation, cognitive principles, visual design, social software, software tools. Learn by doing: Work with a team on a quarter-long design project.
CSE 175: Successful Entrepreneurship for Engineers (4) entrepreneur
A foundation course teaching the basics of starting and running a successful new business. Students learn how to think like entrepreneurs, pivot their ideas to match customer needs, with financial, market, timeline feasibility inputs. The end goal is an investor pitch and a business plan.
CSE 176A: Health Care Robotics (4) ai
Robotics has the potential to improve well-being for millions of people and support caregivers and to aid the clinical workforce. We bring together engineers, clinicians, and end users to explore this exciting new field. The course is project-based, interactive, and hands-on, and involves working closely with stakeholders to develop prototypes that solve real-world problems. Students will explore the latest research in health care robotics, human-robot teaming, and health design.
CSE 176E: Robot Systems Design and Implementation (4) sys
End-to-end system design of embedded electronic systems including PCB design and fabrication, software control system development, and system integration.
CSE 180: Biology Meets Computing (4) intro
Topics include an overview of various aspects of bioinformatics and will simultaneously introduce students to programming in Python. The assessments in the course represent various programming challenges and include solving diverse biological problems using popular bioinformatics tools.
CSE 180R: Biology Meets Computing (4) intro
Topics include an overview of various aspects of bioinformatics and will simultaneously introduce students to programming in Python. The assessments in the course represent various programming challenges and include solving diverse biological problems using popular bioinformatics tools. This will be a fully online class based on extensive educational materials and online educational platform Stepik developed with HHMI, NIH, and ILTI support.
CSE 181: Molecular Sequence Analysis (4) algs
This course covers the analysis of nucleic acid and protein sequences, with an emphasis on the application of algorithms to biological problems. Topics include sequence alignments, database searching, comparative genomics, and phylogenetic and clustering analyses.
CSE 182: Biological Databases (4) sys
This course provides an introduction to the features of biological data, how those data are organized efficiently in databases, and how existing data resources can be utilized to solve a variety of biological problems. Object oriented databases, data modeling and description.
CSE 184: Computational Molecular Biology (4) ai
This advanced course covers the application of machine learning and modeling techniques to biological systems. Topics include gene structure, recognition of DNA and protein sequence patterns, classification, and protein structure prediction.
CSE 185: Advanced Bioinformatics Laboratory (4) science
This course emphasizes the hands-on application of bioinformatics to biological problems. Students will gain experience in the application of existing software, as well as in combining approaches to answer specific biological questions.
CSE 193: Introduction to Computer Science Research (4) talks
Introduction to research in computer science. Topics include defining a CS research problem, finding and reading technical papers, oral communication, technical writing, and independent learning.
CSE 194: Race, Gender, and Computing (4) impact
This course explores the challenges of diversity, equity, and inclusion (DEI) in computing and technology through an introduction to and analysis of various social constructs and their impact on not only computing-related organizations, but also the technologies developed and the people affected by them. This course also introduces students to cultural competence in the context of computing.
CSE 197: Field Study in Computer Science and Engineering (4) special
Directed study accompanying full-time on-site computer science internships. (P/NP grades only.)
CSE 197C: Cooperative Practicum in Computer Science and Engineering (12) special
Directed study accompanying full-time on-site computer science cooperative education practicum.
CSE 198: Directed Group Study (24) special
Computer science and engineering topics whose study involves reading and discussion by a small group of students under the supervision of a faculty member. (P/NP grades only.)
CSE 199: Independent Study for Undergraduates (24) special
Independent reading or research by special arrangement with a faculty member. (P/NP grades only.)
CSE 199H: CSE Honors Thesis Research for Undergraduates (4) capstone
Undergraduate research for completing an honors project under the supervision of a CSE faculty member. May be taken across multiple quarters. Students should enroll for a letter grade. May be taken for credit three times.
MATH 15A: Introduction to Discrete Mathematics (4) math
Basic discrete mathematical structure: sets, relations, functions, sequences, equivalence relations, partial orders, and number systems. Methods of reasoning and proofs: propositional logic, predicate logic, induction, recursion, and pigeonhole principle. Infinite sets and diagonalization. Basic counting techniques; permutation and combinations. Applications will be given to digital logic design, elementary number theory, design of programs, and proofs of program correctness. Students who have completed MATH 109 may not receive credit for MATH 15A. Credit not offered for both MATH 15A and CSE 20.
MATH 18: Linear Algebra (4) math
Matrix algebra, Gaussian elimination, determinants. Linear and affine subspaces, bases of Euclidean spaces. Eigenvalues and eigenvectors, quadratic forms, orthogonal matrices, diagonalization of symmetric matrices. Applications. Computing symbolic and graphical solutions using MATLAB. Students may not receive credit for both MATH 18 and 31AH.
MATH 20A: Calculus for Science and Engineering (4) math
Foundations of differential and integral calculus of one variable. Functions, graphs, continuity, limits, derivative, tangent line. Applications with algebraic, exponential, logarithmic, and trigonometric functions. Introduction to the integral. (Two credits given if taken after MATH 1A/10A and no credit given if taken after MATH 1B/10B or MATH 1C/10C. Formerly numbered MATH 2A.)
MATH 20B: Calculus for Science and Engineering (4) math
Integral calculus of one variable and its applications, with exponential, logarithmic, hyperbolic, and trigonometric functions. Methods of integration. Infinite series. Polar coordinates in the plane and complex exponentials. (Two units of credits given if taken after MATH 1B/10B or MATH 1C/10C.)
MATH 20C: Calculus and Analytic Geometry for Science and Engineering (4) math
Vector geometry, vector functions and their derivatives. Partial differentiation. Maxima and minima. Double integration. (Two units of credit given if taken after MATH 10C. Credit not offered for both MATH 20C and 31BH. Formerly numbered MATH 21C.)
MATH 31AH: Honors Linear Algebra (4) math
First quarter of three-quarter honors integrated linear algebra/multivariable calculus sequence for well-prepared students. Topics include real/complex number systems, vector spaces, linear transformations, bases and dimension, change of basis, eigenvalues, eigenvectors, diagonalization.
MATH 31BH: Honors Multivariable Calculus (4) math
Second quarter of three-quarter honors integrated linear algebra/multivariable calculus sequence for well-prepared students. Topics include derivative in several variables, Jacobian matrices, extrema and constrained extrema, integration in several variables. (Credit not offered for both MATH 31BH and 20C.)
MATH 31CH: Honors Vector Calculus (4) math
Third quarter of honors integrated linear algebra/multivariable calculus sequence for well-prepared students. Topics include change of variables formula, integration of differential forms, exterior derivative, generalized Stoke’s theorem, conservative vector fields, potentials.
MATH 109: Mathematical Reasoning (4) math
This course uses a variety of topics in mathematics to introduce the students to rigorous mathematical proof, emphasizing quantifiers, induction, negation, proof by contradiction, naive set theory, equivalence relations and epsilon-delta proofs.
MATH 154: Discrete Mathematics and Graph Theory (4) math
Basic concepts in graph theory, including trees, walks, paths, and connectivity, cycles, matching theory, vertex and edge-coloring, planar graphs, flows and combinatorial algorithms, covering Hall’s theorems, the max-flow min-cut theorem, Euler’s formula, and the travelling salesman problem.
MATH 181A: Introduction to Mathematical Statistics I (4) math
Multivariate distribution, functions of random variables, distributions related to normal. Parameter estimation, method of moments, maximum likelihood. Estimator accuracy and confidence intervals. Hypothesis testing, type I and type II errors, power, one-sample t-test.
MATH 183: Statistical Methods (4) math
Introduction to probability. Discrete and continuous random variables–binomial, Poisson and Gaussian distributions. Central limit theorem. Data analysis and inferential statistics: graphical techniques, confidence intervals, hypothesis tests, curve fitting.
MATH 184: Enumerative Combinatorics (4) math
Introduction to the theory and applications of combinatorics. Enumeration of combinatorial structures (permutations, integer partitions, set partitions). Bijections, inclusion-exclusion, ordinary and exponential generating functions.
MATH 186: Probability and Statistics for Bioinformatics (4) math
This course will cover discrete and random variables, data analysis and inferential statistics, likelihood estimators and scoring matrices with applications to biological problems. Introduction to Binomial, Poisson, and Gaussian distributions, central limit theorem, applications to sequence and functional analysis of genomes and genetic epidemiology.
ECE 15: Engineering Computation (4) engr
Students learn the C programming language with an emphasis on high-performance numerical computation. The commonality across programming languages of control structures, data structures, and I/O is also covered. Techniques for using MATLAB to graph the results of C computations are developed.
CENG 15: Engineering Computation Using Matlab (4) engr
Introduction to solution of engineering problems using computational methods. Formulating problem statements, selecting algorithms, writing computer programs, and analyzing output using MATLAB. Computational problems from nanoengineering, chemical engineering, and materials science are introduced. The course requires no prior programming skills.
ECE 109: Engineering Probability and Statistics (4) engr
Axioms of probability, conditional probability, theorem of total probability, random variables, densities, expected values, characteristic functions, transformation of random variables, central limit theorem. Random number generation, engineering reliability, elements of estimation, random sampling, sampling distributions, tests for hypothesis.
CHEM 6A: General Chemistry I (4) sci
First quarter of a three-quarter sequence intended for science and engineering majors. Topics include atomic theory, bonding, molecular geometry, stoichiometry, and types of reactions.
CHEM 6B: General Chemistry II (4) sci
Second quarter of a three-quarter sequence intended for science and engineering majors. Topics include gases, liquids, and solids, thermochemistry and thermodynamics, physical and chemical equilibria, solubility.
CHEM 40A: Organic Chemistry for Life Sciences I (4) sci
The first quarter of a two-quarter organic chemistry sequence intended for biological sciences majors and other interested students. The course provides in-depth study of the molecular structure and reactivity of organic molecules with emphasis on biological applications. Topics covered include bonding theory, resonance, stereochemistry, conjugation, aromaticity, spectroscopy, effects of structure on properties and reactivity, introduction to reaction mechanisms, and nucleophilic substitutions.
CHEM 41A: Organic Chemistry I: Structure and Reactivity (4) sci
This is the first quarter of a three-quarter organic chemistry sequence intended for chemistry, biochemistry, and engineering majors and interested students. The course is a rigorous and in-depth study of fundamental organic chemistry with an introduction to chemical reactivity and synthesis, Bonding theory, structure (including isomerism, stereochemistry, conformations) and physical properties of carbon-containing molecules.
CHEM 114A: Biochemical Structure and Function (4) sci
Introduction to biochemistry from a structural and functional viewpoint. Emphasis will be placed on the structure-functions relationships of nucleic acids, proteins, enzymes, carbohydrates, and lipids. Students may not receive credit for both CHEM 114A and BIBC 100.
PHYS 2A: Physics—Mechanics (4) sci
A calculus-based science-engineering general physics course covering vectors, motion in one and two dimensions, Newton’s first and second laws, work and energy, conservation of energy, linear momentum, collisions, rotational kinematics, rotational dynamics, equilibrium of rigid bodies, oscillations, gravitation. Students continuing to PHYS 2B/4B will also need MATH 20B. Students will not receive credit for both PHYS 2A and PHYS 2AR.
BENG 183: Applied Genomic Technologies (4)
Principles and technologies for using genomic information for biomedical applications. Technologies will be introduced progressively, from DNA to RNA to protein to whole cell systems. The integration of biology, chemistry, engineering, and computation will be stressed. Topics include technology for the genome, DNA chips, RNA technologies, proteomic technologies, aphysiomic and phenomic technologies, and analysis of cell function.
BIBC 102: Metabolic Biochemistry (4) sci
Energy-producing pathways–glycolysis, the TCA cycle, oxidative phosphorylation, photosynthesis, and fatty acid oxidation; and biosynthetic pathways–gluconeogenesis, glycogen synthesis, and fatty acid biosynthesis. Nitrogen metabolism, urea cycle, amino acid metabolism, nucleotide metabolism, and metabolism of macromolecules.
BICD 100: Genetics (4) sci
An introduction to the principles of heredity emphasizing diploid organisms. Topics include Mendelian inheritance and deviations from classical Mendelian ratios, pedigree analysis, gene interactions, gene mutation, linkage and gene mapping, reverse genetics, population genetics, and quantitative genetics.
BILD 1: The Cell (4) sci
An introduction to cellular structure and function, to biological molecules, bioenergetics, to the genetics of both prokaryotic and eukaryotic organisms, and to the elements of molecular biology.
BILD 3: Organismic and Evolutionary Biology (4) sci
The first principles of evolutionary theory, classification, ecology, and behavior; a phylogenetic synopsis of the major groups of organisms from viruses to primates.
BILD 4: Introductory Biology Lab (2) sci
Students gain hands-on experience and learn the theoretical basis of lab techniques common to a variety of biological disciplines such as biochemistry, molecular biology, cell biology, and bioinformatics. Students will work in groups, learning how to collect, analyze, and present data while using the scientific method to conduct inquiry-based laboratory experiments. Material lab fees will apply.
BIMM 100: Molecular Biology (4) sci
Molecular mechanisms and applications of the central dogma. Genome structure and function. Transcription and translation. Regulation of gene expression. Use of DNA technology in basic and applied biology.
BIMM 101: Recombinant DNA Techniques (4) sci
Theory and practice of recombinant DNA and molecular biology techniques. Includes CRISPR-Cas9 editing, DNA sequencing, PCR, and basic bioinformatics. Nonattendance may result in the student’s being dropped from the course roster.Material lab fees will apply.
COGS 10: Cognitive Consequences of Technology (4)
This course examines the interrelationships of cognition and technology from the perspective of cognitive science. We address questions of importance for our increasingly technological society: How does technology shape our minds? How should what we know about our minds shape technology?
COGS 18: Introduction to Python (4)
This class will teach fundamental Python programming skills and practices, including the “Zen of Python.” Students will focus on scientific computing and learn to write functions and tests, as well as how to debug code using the Jupyter Notebook programming environment.
COGS 9: Introduction to Data Science (4)
Concepts of data and its role in science will be introduced, as well as the ideas behind data-mining, text-mining, machine learning, and graph theory, and how scientists and companies are leveraging those methods to uncover new insights into human cognition.
ECON 120A: Econometrics A (4)
Probability and statistics used in economics. Probability and sampling theory, statistical inference, and use of spreadsheets. Credit not allowed for ECON 120A after ECE 109, MAE 108, MATH 180A, MATH 183, or MATH 186.
ENG 10: Fundamentals of Engineering Applications (2)
Application-oriented, hands-on introduction to engineering mathematics and design processes. Key mathematical concepts as they apply to engineering, including solving systems of equations and least-squares regression. In-class activities using Python and Arduino will complement the lectures and provide students hands-on experience with solving real-world engineering problems related to design, manufacturing and prototyping, electronics, and data analysis.
ENG 15: Engineer Your Success (2)
Engineer Your Success is designed to enhance your success as an engineering student (and later as an engineer) by developing key academic and personal skills. Learn how to study more effectively and uncover how to become the best engineer you can be. This course focuses on academic and personal planning, time management, study skills, and paths to personal growth. Activities include individual and collaborative exercises, personal reflections, and a final project.
MAE 8: MATLAB Programming for Engineering Analysis (4) math
Computer programming in MATLAB with elementary numerical analysis of engineering problems. Arithmetic and logical operations, arrays, graphical presentation of computations, symbolic mathematics, solutions of equations, and introduction to data structures.