Statistical and Discrete Methods for Scientific Computing
NOTE: Friday classes will be held in a different room - CBA 4.348
CSE383M (65280) and CS395T (53715), Spring 2014
Welcome to the course! The instructor is Professor William Press (Bill), and the TA is Jeff Hussmann (Jeff). We meet Mondays and Wednesdays, 1:30 - 3:00 p.m. in CBA 4.344 with Bill, and Fridays, 1:30 - 3:00 p.m. in CBA 4.348 with Jeff. The course is aimed at first or second year graduate students, especially in the CSEM, CS, and ECE programs, but others are welcome. You'll need math at the level of at least 2nd year calculus, plus linear algebra, plus either more continuous math (e.g., CSEM students) or more discrete math (e.g., CS and ECE students). You'll also need to be able to program in some known computer language.
Mechanics of the Course
The last two years, we have tried the experiment of a "flipped" course. This has worked so well that we are doing this again this year. "Flipped" means that the lectures are all on the web as recorded webcasts. You must watch the assigned webcasts before the class for which they are scheduled; maybe watch them more than once if there are parts that you don't easily understand. Then, you will be ready for the active learning that we do in class. The class activities will not "cover the material". Rather, class is supposed to be for "aha moments" and for "fixing" the material in your learning memory. We'll thus do various kinds of "active learning" activities that will test and improve your understanding of the material in the lecture. Such in-class activities, often done in randomized groups of two or three, may include
- group computer programming exercises
- group working of problems
- group writing assignments
- discussing concepts (and communicating ideas back to the whole class)
- "quiz show" style activities
- short surprise quizzes (generally at the beginning of class -- no makeups allowed)
- whatever else we all think of
Problems for Each Segment
Every lecture segment home page has one or two relatively easy "skill" problems. You should work these after watching the segment, before class. (You might be asked to discuss your solution with your small group in class.) Also on the segment's page are one or two concept thought problems. One or another of these will sometimes be the basis of in-class activities, so you might want to think about them before class.
Student Wiki Pages
Every student will have a wiki page (and as many linked pages as you want). You can post your solutions to as many problems as you wish to your wiki page. You can do this either before the relevant class or afterwards. You can also make up, and solve, additional problems. Problems won't be individually graded. However, at the end of the course, the completeness and quality of you wiki page(s) will be a part of your course grade. Your wiki page can include discussion of the thought problems, as well as the skill problems.
You can also post signed comments on any other student's wiki pages. To the extent that these are generally helpful, they will add credit to your reputation and for your grade.
Laptops or Tablets
You must bring your laptop computer or full-sized tablet to every class, so that you can (i) look things up during group discussions or problem sessions and (ii) do in-class programming exercises. You can program in any language you want. For Python, which we recommend as the best choice for this course, you can either install it on your machine, or else use the IPython notebook server described in class. The course will include several lectures of Python workshop by Jeff.
If you instead want to use MATLAB or Mathematica, that is fine, but please be sure that it is installed on your computer before the first class. (The MATLAB Student Edition is a real bargain.) For C, C++, Java, etc., please be sure that you have a fully working environment for compiling and running small pieces of code.
Course Requirements and Grading
Grades will be based on these factors
- in-class attendance and participation
- an in-class midterm exam
- completeness and quality of your individual wiki page(s)
- relevance and usefulness of your comments on other people's wiki pages (or on the main wiki)
- an individual 30-minute final oral exam
In previous years there was a term project, but not this year. Your working the problems and posting solutions on your wiki page is this year's substitute.
What is Active Learning?
Much research shows that lecture courses, where students listen passively as the instructor talks, are inefficient ways to learn. What works is so-called active learning, a broad term that, for us, basically means that class time is too valuable to waste on lectures. (See image at right.)
The lectures are all recorded as webcasts, but webcasts are not active learning. However, they are a starting point as a "linear" introduction to the material.
What has worked well in class so far? What hasn't worked? How could things be improved? Please leave feedback.
Resources and Links
There is no textbook for the course. A list of recommended supplementary books is here.
Some resources for learning Python can be found here.
Some MATLAB resources can be found here.
Webcast Lecture Segments (Opinionated Lessons in Statistics)
All of the lectures are in the form of webcasts, divided into segments of about 15-30 minutes each (occasionally a bit longer). Each segment, has a wiki page, page links below. You can view the lecture on its wiki page, which also has additional stuff about the segment (including the skill and thought problems, or by clicking directly to YouTube, where they are all on Bill's "Opinionated Lessons" channel.
Monday, March 3. MIDTERM EXAM
|Wed Mar 5||Segment 18. The Correlation Matrix (or YouTube)|
|Fri Mar 7||Segment 19. The Chi Square Statistic (or YouTube)|
Monday, March 10 through Friday, March 14: SPRING BREAK
Monday, May 5 and Tuesday, May 6: ORAL FINAL EXAMS
Extra Credit Segments (segment number indicates intended sequence)
Segment 25. Fitting Models to Counts (or YouTube)
Segment 26. The Poisson Count Pitfall (or YouTube)
Segment 35. Ordinal vs. Nominal Contingency Tables (or YouTube)
Segment 36. Contingency Tables Have Nuisance Parameters (or YouTube)
Segment 49. Eigenthingies and Main Effects (or YouTube)
Segments with Slides But Not Yet Recorded
(links are to PowerPoint files)
Segment 15.5. Poisson Processes and Order Statistics
Segment 42. Wiener Filtering
Segment 43. The IRE Lady
Segment 44. Wavelets
Segment 45. Laplace Interpolation
Segment 46. Interpolation On Scattered Data
Segment 50. Binary Classifiers
Segment 51. Hierarchical Classification
Segment 52. Dynamic Programming
Link to the team randomizer