CME 151: Introduction to Data Visualization
Bring your data to life with beautiful and interactive visualizations. This course is designed to provide practical experience on combining data science and graphic design to effectively communicate knowledge buried inside complex data. Each lecture will explore a different set of free industrystandard tools, for example d3.js, three.js, ggplots2, and processing; enabling students to think critically about how to architect their own interactive visualization for data exploration, web, presentations, and publications. Geared towards scientists and engineers, and with a particular emphasis on web, this course assumes an advanced background in programming methodology in multiple languages (particularly R and Javascript). Assignments are short and focus on visual experimentation with interesting data sets or the students' own data. Topics: data, visualization, web. Prerequisites: some experience with general programming is required to understand the lectures and assignments.
Terms: Aut

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Deriso, D. (PI)
CME 151A: Interactive Data Visualization in D3
This fourweek short course introduces D3, a powerful tool for creating interactive data visualizations on the web (d3js.org). The class is geared toward scientists and engineers who want to better communicate their personal projects and research through visualizations on the web. The class will cover the basics of D3: inputting data, creating scales and axes, and adding transitions and interactivity, as well as some of the most used libraries: stack, cluster and force layouts. The class will be based on short workshops and a final project. A background in programming methodology at the level of CS106A is assumed. The course will make use of Javascript, experience is recommended but not necessary.
Terms: Spr

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Camelo Gomez, S. (PI)
CME 161: Interactive Data Visualization
Provides practical experience on combining data science and graphic design to effectively communicate knowledge buried inside complex data. Topics: data, visualization and web; will explore different sets of free industrystandard tools, for example d3.js, three.js, and processing.js; enabling students to think critically about how to architect their own interactive visualization for data exploration, web, presentations, and publications. Advanced topics including immersive 3D visualization using Google Cardboard and dynamic visualization using sensors are explored. Assignments are interactive online tutorials that focus on visual experimentation with interesting data sets or the students' own data. Prerequisites: intermediate level programming experience is required to understand the lectures and assignments.
Terms: not given this year

Units: 3

Grading: Letter or Credit/No Credit
CME 181: Projects in Applied and Computational Mathematics
Teams of students use techniques in applied and computational mathematics to tackle problems of their choosing. Students will have the opportunity to pursue openended projects in a variety of areas: economics, physics, political science, operations research, etc. Projects can cover (but are not limited to!) topics such as mathematical modeling of realworld phenomena (population dynamics), datadriven applications (movie recommendations) or complex systems in engineering (optimal control). Each team will be paired with a graduate student mentor working in applied and computational mathematics. Limited enrollment. Prerequisites:
CME 100/102/104 or equivalents, or instructor consent. Recommended:
CME 106/108 and familiarity with programming at the level of
CME 192/193.
Terms: offered occasionally

Units: 3

Grading: Letter (ABCD/NP)
CME 192: Introduction to MATLAB
This short course runs for the first eight weeks of the quarter and is offered each quarter during the academic year. It is highly recommended for students with no prior programming experience who are expected to use MATLAB in math, science, or engineering courses. It will consist of interactive lectures and applicationbased assignments.nThe goal of the short course is to make students fluent in MATLAB and to provide familiarity with its wide array of features. The course covers an introduction of basic programming concepts, data structures, and control/flow; and an introduction to scientific computing in MATLAB, scripts, functions, visualization, simulation, efficient algorithm implementation, toolboxes, and more.
Terms: Aut

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Craig, A. (PI)
CME 193: Introduction to Scientific Python
This short course runs for the first four weeks of the quarter. It is recommended for students who are familiar with programming at least at the level of CS106A and want to translate their programming knowledge to Python with the goal of becoming proficient in the scientific computing and data science stack. Lectures will be interactive with a focus on real world applications of scientific computing. Technologies covered include Numpy, SciPy, Pandas, Scikitlearn, and others. Topics will be chosen from Linear Algebra, Optimization, Machine Learning, and Data Science. Prior knowledge of programming will be assumed, and some familiarity with Python is helpful, but not mandatory.
Terms: Aut, Win, Spr

Units: 1

Grading: Satisfactory/No Credit
CME 194: Introduction to MPI
This short course runs for the first four weeks of the quarter. Recommended for students interested in writing parallel programs. Focus is on distributed memory programming via the Message Passing Interface (MPI). Topics include: parallel decomposition, basic communication primitives, collective operations, and debugging. Interactive lectures and homework assignments require writing software. Students should be comfortable and interested in writing software in C/C++ but no prior parallel programming experience is required.
Terms: offered occasionally

Units: 1

Grading: Satisfactory/No Credit
CME 195: Introduction to R (STATS 195)
This short course runs for the first four weeks of the quarter and is offered in fall and spring. It is recommended for students who want to use R in statistics, science, or engineering courses and for students who want to learn the basics of R programming. The goal of the short course is to familiarize students with R's tools for scientific computing. Lectures will be interactive with a focus on learning by example, and assignments will be applicationdriven. No prior programming experience is needed. Topics covered include basic data structures, File I/O, graphs, control structures, etc, and some useful packages in R.
Terms: Aut, Spr

Units: 1

Grading: Satisfactory/No Credit
Instructors:
Michael, H. (PI)
;
Nguyen, L. (PI)
CME 196: Practical Fortran
A fiveweek short course presenting the use of the Fortran programming language in science and engineering. Topics covered: basic language elements; good programming practices; testing and debugging; verification and validation; differences between Fortran77 and Fortran90 (95, 03, 08); calling numerical software libraries such as LAPACK; calling Fortran routines from C or C++; performance considerations. The course will be centered around solving ¿real¿ computational problems, emphasizing practice over theory. Programming proficiency in C/C++, or other modern compiled language, is required. Familiarity with the GNU development tools (compilers, debuggers, makefiles, etc.) is assumed. Prerequisites:
CME 211 or equivalent.
Terms: offered occasionally

Units: 1

Grading: Satisfactory/No Credit
CME 200: Linear Algebra with Application to Engineering Computations (ME 300A)
Computer based solution of systems of algebraic equations obtained from engineering problems and eigensystem analysis, Gaussian elimination, effect of roundoff error, operation counts, banded matrices arising from discretization of differential equations, illconditioned matrices, matrix theory, least square solution of unsolvable systems, solution of nonlinear algebraic equations, eigenvalues and eigenvectors, similar matrices, unitary and Hermitian matrices, positive definiteness, CayleyHamilton theory and function of a matrix and iterative methods. Prerequisite: familiarity with computer programming, and
MATH51.
Terms: Aut

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Iaccarino, G. (PI)
;
Camelo Gomez, S. (TA)
;
Keramati, R. (TA)
...
more instructors for CME 200 »
Instructors:
Iaccarino, G. (PI)
;
Camelo Gomez, S. (TA)
;
Keramati, R. (TA)
;
Krishnan, S. (TA)
;
Navalpakkam Srinivasan Acharya, S. (TA)
;
Zanette, A. (TA)
Filter Results: