Skip to content

ATIDIC Fall 2018

Randal Burns edited this page Sep 5, 2018 · 5 revisions

Advanced Topics in Data-Intensive Computing

(EN 600.624 and 601.723) Computer Science, Johns Hopkins University

Course Description

The advent of cloud computing has lead to an explosion of storage system and data analysis software, including NoSQL databases, bulk-synchronous processing, graph computing engines, and stream processing. This course will explore scale-out software architectures for data-processing tasks. It will examine the algorithms and data-structures that underlie scalable systems and look at how hardware and networking trends influence the design and deployment of cloud computing. Prerequisite: EN.600.320/420 or permission of instructor. [Systems]

Course Reality

This course serves as an opportunity to do a deep dive on recent technical advances in cloud systems and computer architecture and how they influence machine learning, statistics, and scientific computing. As such, the syllabus tend to be relatively fluid with both students and instructors providing feedback as to how to explore topics of interest. This year I am particularly interested in the acceleration of machine learning and the advent of reduced precision processors. That's a starting point.

Course Format

The course will meet twice a week from 4:30 until 7:30. The intention is that all activities that are not background reading will be conducted during the course meeting. A typical course session will include:

  1. (15 minutes) A presentation of the assigned reading (everyone will do this at least once) that covers the major breakthroughs of the paper and how they were achieved. This should not be a review of the paper. Everyone will have read the paper. Instead it should highlight particularly deep, insightful, or important concepts and place this work in a larger context of related work, technology development and commercialization, and influence on subsequent approaches.
  2. (30 minutes) Discussion questions: each student should prepare a question and plan to lead a 5 minute discussion about a specific topic of interest that arose in the paper. This is an opportunity to criticize or praise, have an opinion. Leading a five minute discussion can be difficult. Prepare specific talking points and questions for the class. Create a strategy to make your 5 minutes a success. You should write your talking points and questions and will turn this in every class.
  3. (15 minutes) Collaborative course planning: What to read next. What projects to do.
  4. (2 hours) Practicum, aka Petting Zoo: a team exercise in coding, configuration, testing, trying, and touching software or technology of interest.

Academic Conduct

The guidelines of Hopkins’ academic ethics policy and student conduct policy apply to all activities associated with this course. Additionally, students are subject to the Computer Science Academic Integrity Code. Students are encouraged to collaborate on all coursework, but are required to turn in work that is solely their own. This means that preparation of assignments must be performed individually. Any questions regarding academic conduct should be directed to the course instructor.

Schedule

TTh 4:30 pm - 7:00 pm, Location: Hodson 311

Instructor

Randal Burns, randal(at)jhu.edu, http://www.cs.jhu.edu/~randal/

  • Office: Malone 227
  • Office Hours: By appointment

Midterm Exam: Unlikely

Final Exam: TBA