Lectures

Lectures are designed for synchronous delivery. It is not expected that the recorded version is an adequate substitute for attending.

Recorded lectures are available through Canvas on the Panopto tab.

Jupyter notebooks for lectures are available on the e-book. It is encouraged that you clone this repo, pull before each lecture and run.

Exams

  • Midterm: Monday October 30, 2023, 4:30pm.
  • Final: Wednesday December 20, 2023. 9:00am.

Projects

  • Actitivty 7: Imagenet in Ray (due Friday December 8, 2023 5:00 pm)
    • This will be the last assignment. I will make it available on Dec. 4 after the break. It is simple.
  • Activity 6: k-means in Spark (due Monday December 4, 2023 4:00 pm EST)
    • The due date has been pushed back because the Spark programming lecture was delayed.
  • Activity 5: dask notebooks (due Thursday Nov. 9, 2023 4 pm)
    • Complete notebooks activity5a and activity5b in the ebook/activities directoey.

Past Projects

  • Activity 4: Java BlockingQueue (due Wednesday October 18, 2023 5 pm EDT)

  • Activity 3: Vectorized Code. (due Monday Oct. 9, 2023 4 pm)
    • Complete the notebook activities/activity3.ipynb and turn it in via Gradescope.
  • Activity 2: OpenMP: Loop Ordering and False sharing (due Thursday September 28, 2023 9:00 pm EDT)
    • Complete the notebook activities/activity2.ipynb and turn it in via Gradescope.
  • Activity 1: All possible regressions (due Tuesday September, 12 2023 9:00 pm EDT)
    • Complete the notebook activities/activity1.ipynb and turn it in via Gradescope.

Late Hours

A total of 48 late hours are permitted per semester to use as needed for activities. Late hours will be rounded up to the nearest hour, e.g. a project submitted 2.1 hours late will count as using 3 late hours.

Examinations will be conducted in class. Students are allowed to bring one page (letter-size or A4) of handwritten notes. The notes page must be turned in with the exam.

Course Schedule

(28 August) Introduction to PCDS (zoom lecture)

Meghana Madhyastha will attend the lecture in person. We will do two things:

  1. Randal will give and introduction to the class and talk about course structure, ethics, topics, grading, and culture.
  2. Meghana will help you get the lectures cloned and built so that we have a common software environment for future classes.

You can prepare for this lecture by having:

  • an environment in which you can run git
  • installing docker Then you will clone https://github.com/randalburns/pcds.2023 and then head into environment and follow instructions.

The schedule of subsequent lectures is in the git repository. GitHub renders a view of the page at https://github.com/randalburns/pcds.2023/blob/main/ebook/outline.ipynb.