CSE logo University of Washington Computer Science & Engineering
 CSE 490h: Problem-solving on large-scale clusters: theory and applications
  CSE Home   About Us    Search    Contact Info 

 Calendar & Readings
 Grading & Objectives
 Anonymous Feedback
 Mail archiveCSE only

Grade Breakdown

This seminar is pass/no-pass. At the end of the quarter, your instructors must decide whether you've learned what they intended to teach (see below). That decision will be determined approximately as follows:

  • 30% -- Participation. Participation in classroom discussions, attendance of office hours, and activity on the course mailing list.
  • 15% -- Project 2. Completeness and correctness of your code, and quality and comprehensiveness of the writeup.
  • 30% -- Project 3. Same as project 2, but with an added project presentation.
  • 15% -- Quizzes. Short, topic-specifc quizzes. There is no final exam.
  • 10% -- Retrospective statement. What you have learned, what you wish you had learned, and how the seminar could be made better.


The goal of this seminar is to introduce students to the basic principles behind parallel programming and distributed system design. We will be using an open source implementation of Google's MapReduce system, HaDoop, for exercises and examples throughout the seminar. At the end of the seminar, students should be able to:

  • successfully decompose problems into map and reduce stages
  • decide whether a problem can be solved with parallel algorithm
  • evaluate the strengths and weaknesses of a parallel algorithm
  • understand the basic tradeoffs and major issues in distributed system design
  • know the common pitfalls of distributed system design