CME 212 / ENERGY 212 - Winter 2012

Introduction to Large-Scale Computing in Engineering

This course covers programming methodologies for solving fundamental engineering problems using algorithms with pervasive application across disciplines. Overview of computer systems from a programming perspective including processor architectures, memory hierarchies, machine arithmetic, and performance tuning techniques. Algorithms include iterative, direct linear solvers, fft, and divide and conquer strategies for n-body problems. Software development; other practical UNIX tools including shell scripting, vi/emacs, gcc, make, gdb, gprof, version control systems and LaTeX.

Time & location

Communication

We will be using Piazza to send announcements and as a discussion board for the homework projects. Please use this if you have questions regarding course material.

Course staff

Coursework & policies

Lecture slides

Slides for cme212 lectures will be linked here. Students are welcome to look over the programming slides from cme211 here.

Homework & tutorials

References & reading material

This list will be expanded during the quarter.

Please report broken links.

Tools

Calendar

|------------------+-----------------------------+----------------|
| <2012-01-09 Mon> | course intro                |                |
| <2012-01-11 Wed> | architecture intro          |                |
| <2012-01-13 Fri> | latex tutorial              | latex tutorial |
|------------------+-----------------------------+----------------|
| <2012-01-16 Mon> | MLK day, no classes         |                |
| <2012-01-18 Wed> | C programming I             | assignment 1   |
| <2012-01-20 Fri> | C programming II            |                |
|------------------+-----------------------------+----------------|
| <2012-01-23 Mon> | tools I                     |                |
| <2012-01-25 Wed> |                             |                |
| <2012-01-27 Fri> | tools II                    |                |
|------------------+-----------------------------+----------------|
| <2012-01-30 Mon> | representation I            |                |
| <2012-02-01 Wed> |                             | assignment 2   |
| <2012-02-03 Fri> | representation II           |                |
|------------------+-----------------------------+----------------|
| <2012-02-06 Mon> | testing & verification      |                |
| <2012-02-08 Wed> |                             |                |
| <2012-02-10 Fri> | timing & performance        |                |
|------------------+-----------------------------+----------------|
| <2012-02-13 Mon> | architecture I              |                |
| <2012-02-15 Wed> |                             | assignment 3   |
| <2012-02-17 Fri> | architecture II             |                |
|------------------+-----------------------------+----------------|
| <2012-02-20 Mon> | President's day, no classes |                |
| <2012-02-22 Wed> | optimization I              |                |
| <2012-02-24 Fri> | optimization II             |                |
|------------------+-----------------------------+----------------|
| <2012-02-27 Mon> | linear algebra I            |                |
| <2012-02-29 Wed> |                             | assignment 4   |
| <2012-03-02 Fri> | linear algebra II           |                |
|------------------+-----------------------------+----------------|
| <2012-03-05 Mon> | C-fortran interface         |                |
| <2012-03-07 Wed> |                             | assignment 5   |
| <2012-03-09 Fri> | python                      |                |
|------------------+-----------------------------+----------------|
| <2012-03-12 Mon> | matlab mex interface        |                |
| <2012-03-14 Wed> |                             |                |
| <2012-03-16 Fri> | course review               | final          |
|------------------+-----------------------------+----------------|
| <2012-03-19 Mon> | finals period start         |                |
| <2012-03-23 Fri> | finals period end           | final due      |
|------------------+-----------------------------+----------------|

Acknowledgements

The current version of this course combines the hard work and insight of several people:

There are probably more!