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 21, 2024 4:30-5:30 pm (Hodson 110)
  • Final: Thursday December 12, 2024. 9am-12pm (Hodson 110)

Instructions for the exam will include:

You may use a two-sided, hand-written page of notes. You may use a calculator, scientific calculator, or graphing calculator. You may not use a calculator application on a phone. You may not have a phone out during the exam.

Assignments

  • Activity 5: k-means in Spark (due December 4, 2024 4:00 pm EST)
  • Activity 6: Ray Deadlock (due December 9, 2024, 11:59:59 pm EST)
    • Complete the notebook in ebook/activities/activity6_ray_resnet and turn in a PDF that answers the questions to Gradescope. Do not turn in code.

Past Assignments

  • Activity 4: dask notebooks (due November 13, 2022 4:00 pm EDT)
  • Activity 3: Java BlockingQueue (due Friday October 18, 2024 5:00 pm EDT)
  • Activity 2: OpenMP (due Tuesday, October 1, 2024 5:00 pm EDT)
    • Complete the notebook ebook/activities/activity2.ipynb and code in tokens_omp/activity2_tokens.cpp and turn it in via Gradescope.
  • Activity 1: All possible regressions (due Wednesday September, 11 2024 9:00 pm EDT)
    • Complete the notebook ebook/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 and Modern Processors from a Parallel Programming Perspective

  • Introduction to the class and talk about course structure, ethics, topics, grading, and culture.
  • Cloned lectures and build so that we have a common software environment for future classes.
  • What’s a processor? A parallel programming perspective.

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.2024 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.2024/blob/main/ebook/outline.ipynb.