# Teaching Assistant Appointments at UC Santa Barbara

## CS 111 (W21): Introduction to Computational Science

**Teaching Associate/Instructor of Record**

Introduction to the numerical algorithms that form the foundations of data science, machine learning, and computational science and engineering. Matrix computation, linear equation systems, eigenvalue and singular value decompositions, numerical optimization. The informed use of mathematical software environments and libraries, such as Python/NumPy/SciPy.

**Course Website**: GauchoSpace.

**Piazza**: Q&A Forum.

**Office Hours**: Wednesday, 11:30 - 13:30, *via Zoom*, or by appointment.

### Materials

## CS 111 (F20): Introduction to Computational Science

Introduction to computational science, emphasizing basic numerical algorithms and the informed use of mathematical software. Matrix computation, systems of linear and nonlinear equations, interpolation and zero finding, differential equations, numerical integration.

**Course Website**: GauchoSpace.

**Piazza**: Q&A Forum.

**Office Hours**: Friday, 11:30 - 12:30, *via Zoom*, or by appointment.

### Materials

**Session 10**. Algorithms for Ordinary Differential Equations.**Session 9**. Ordinary Differential Equations and Phase Portraits.**Session 5**. Least Squares and QR Factorization.

## CS 8 (S20): Introduction to Computer Science

Introduction to computer program development for students with little to no programming experience. Basic programming concepts, variables and expressions, data and control structures, algorithms, debugging, program design, testing, and documentation.

**Closed Lab**: Monday, 10:00 - 12:00, Zoom Meeting 688 229 706.

**Open Lab**: Thursday, 11:00 - 13:00, Zoom Meeting 962 739 750.

### Materials

**Week 10**. Random numbers.**Week 8**. Lists.**Week 7**. Functions part 2.**Week 6**. Functions part 1.**Week 5**. Loops.**Week 4**. Branching and coding style guidelines.**Week 3**. Strings, lists, tuples, and dictionaries.**Weeks 1 and 2**. First steps with Python.

## CS 16 (W20): Problem Solving with Computers 1

Fundamental building blocks for solving problems using computers. Topics include basic computer organization and programming constructs: memory CPU, binary arithmetic, variables, expressions, statements, conditionals, iteration, functions, parameters, recursion, primitive and composite data types, and basic operating system and debugging tools.

**Closed Lab**: Monday, 13:00 - 15:00, *Phelps 3525*.

**Open Lab**: Thursday, 11:00 - 13:00, *Trailer 936*.

**Course Website**: CS16 Winter 2020.

## CS 174A (F19): Fundamentals of Database Systems

Database system architectures, relational data model, relational algebra, relational calculus, SQL, QBE, query processing, integrity constraints (key constraints, referential integrity), database design, ER and object- oriented data model, functional dependence, lossless join and dependency preserving decompositions, Boyce-Codd and Third Normal Forms.

**Discussion Session**: Friday, 9:00 - 10:00, *Phelps 2510*.

**Office Hours**: Wednesday and Thursday, 11:30 - 12:30, *Trailer 936*, or by appointment.

**Piazza Forum**: http://piazza.com/ucsb/fall2019/cs174a.

### Materials

**Review Session**. Final Review Exercises**Session 10**. Functional Dependencies and Normal Forms**Session 9**. Project Details**Session 8**. SQL Second Part**Session 7**. Practicing SQL**Session 6**. Midterm Review, and Answers**Session 5**. Domain Relational Calculus**Session 4**. Relational Algebra, and Answers to Exercises**Session 3**. Introduction to SQL and ER to Relational Schemas**Session 2**. Entity-Relationship Data Model, and Answers to Exercises**Session 1**. Introduction