2017-2018 2018-2019 2019-2020 2020-2021 2021-2022
 Browseby subject... Scheduleview...

# 1 - 10 of 22 results for: CS ; Currently searching summer courses. You can expand your search to include all quarters

## CS 103:Mathematical Foundations of Computing

What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole prin more »
What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the Myhill-Nerode theorem, context-free grammars, Turing machines, decidable and recognizable languages, self-reference and undecidability, verifiers, and the P versus NP question. Students with significant proofwriting experience are encouraged to instead take CS154. Students interested in extra practice and support with the course are encouraged to concurrently enroll in CS103A. Prerequisite: CS106B or equivalent. CS106B may be taken concurrently with CS103.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-Math, WAY-FR

## CS 106A:Programming Methodology

Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. Uses the Python programming language. No prior programming experience required.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: WAY-FR, GER:DB-EngrAppSci

## CS 106B:Programming Abstractions

Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities. Prerequisite: 106A or equivalent.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

## CS 109:Introduction to Probability for Computer Scientists

Topics include: counting and combinatorics, random variables, conditional probability, independence, distributions, expectation, point estimation, and limit theorems. Applications of probability in computer science including machine learning and the use of probability in the analysis of algorithms. Prerequisites: 103, 106B or X, multivariate calculus at the level of MATH 51 or CME 100 or equivalent.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: WAY-AQR, WAY-FR, GER:DB-EngrAppSci

## CS 148:Introduction to Computer Graphics and Imaging

This is the introductory, prerequisite course in the computer graphics sequence that introduces students to the technical concepts behind creating computer generated images. Through this course, students will gain a firm working knowledge of the underlying mathematical concepts of synthetic imagery (including triangles, meshes, normals, interpolation, world spaces, texture mapping, etc.) Students will also explore the fundamentals of light and color and how they interact with the environment through lighting, shading, and material models varying in realism and complexity. Ultimately, students will come to an understanding of rasterization and ray tracing technology for creating visually-compelling synthetic images, and briefly examine how they extend to animation and inverse rendering. Students will additionally be exposed to a high-level survey of topics in computer graphics, such as acceleration structures, anti-aliasing, and depth of field. Starter code will be provided to guide students through development and give them familiarity with industry-level tools. The class will conclude with a final project in which students pursue in-depth a specific topic of interest.nPrerequisites: Linear Algebra and familiarity with Python and debugging.
Terms: Aut, Sum | Units: 3-4 | UG Reqs: GER:DB-EngrAppSci, WAY-CE

## CS 161:Design and Analysis of Algorithms

Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching, amortized analysis, stable matchings and approximation algorithms. Prerequisite: 103 or 103B; 109 or STATS 116.
Terms: Aut, Win, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR
Filter Results:
term offered
 Autumn Winter Spring Summer
updating results...
teaching presence
 in person online: asynchronous online: synchronous remote: asynchronous remote: synchronous independent studies
updating results...
number of units
 1 unit 2 units 3 units 4 units 5 units >5 units
updating results...
time offered
 early morning (before 10am) morning (10am-12pm) lunchtime (12pm-2pm) afternoon (2pm-5pm) evening (after 5pm)
updating results...
days
 Monday Tuesday Wednesday Thursday Friday Saturday Sunday
updating results...
UG Requirements (GERs)
 WAY-A-II WAY-AQR WAY-CE WAY-EDP WAY-ER WAY-FR WAY-SI WAY-SMA Language Writing 1 Writing 2 Writing SLE DB:Hum DB:Math DB:SocSci DB:EngrAppSci DB:NatSci EC:EthicReas EC:GlobalCom EC:AmerCul EC:Gender IHUM1 IHUM2 IHUM3
updating results...
component
 Lecture (LEC) Seminar (SEM) Discussion Section (DIS) Laboratory (LAB) Lab Section (LBS) Activity (ACT) Case Study (CAS) Colloquium (COL) Workshop (WKS) Independent Study (INS) Intro Dial, Sophomore (IDS) Intro Sem, Freshman (ISF) Intro Sem, Sophomore (ISS)