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
ebook/activities/activity6.ipynb
and turn in a PDF that answers the questions to Gradescope. Do not turn in code.
- Complete the notebook
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 intokens_omp/activity2_tokens.cpp
and turn it in via Gradescope.
- Complete the notebook
- 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.
- Complete the notebook
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 intoenvironment
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.