CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Absence and Class Participation Policy

The University of Arizona's policy on Class Attendance, Participation, and Administrative Drops governs expectations around attendance university-wide. You can review the full policy in the UA Course Catalog.

Absences for any sincerely held religious belief, observance, or practice will be accommodated where reasonable. See the UA Religious Accommodation Policy for details.

Absences pre-approved by the UA Dean of Students will be honored. See the UA Attendance Policy for more information.

For CSc 422, there is no required attendance in the sense that I will not take roll. However, daily quizzes will be given at the start of each class — i.e., at 8:00 am sharp. Missing a quiz means a zero for that quiz; there are no make-ups except in extraordinary circumstances pre-approved by the instructor. Consistent attendance is therefore strongly in your interest.

Lectures and Examples — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Lectures and Examples

Lecture Policy

Attendance at lectures is optional in the sense that no part of your grade is directly dependent on attendance. You are, however, responsible for all material covered in lectures, and there are daily quizzes at 8am. I will do my best to make lectures interesting; I believe you won't be able to simply read the notes and succeed.

Lectures will not be recorded.

During lecture, please do not hesitate to ask questions. You might think your question is silly, but more likely, many people are wondering the same thing.

Course Materials

All lecture materials and examples are posted to the class D2L. Access D2L at d2l.arizona.edu/d2l/home/1703917.

Lecture Topics

  • Parallelizing programs, processes, threads
  • Basic concurrent programs
  • Critical sections, locks, and barriers
  • Semaphores and readers/writers
  • Monitors
  • Parallel scientific programming
  • Designing concurrent programs
  • Message passing basics, asynchronous vs. synchronous
  • MPI
  • Peer-to-peer systems
  • RPC and rendezvous
  • Distributed computing paradigms
  • Interacting peers, file servers
  • Map-Reduce
  • Logical Clocks
Course Communications — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Course Communications
Class Discussions & Announcements

Class discussions and notes/clarifications from the TAs and me will go out via Piazza. You are responsible for signing up for and checking Piazza regularly throughout the semester.

Open Piazza →
Personal & Private Matters

If you have something personal to ask or share with me, please send it directly by email rather than posting on Piazza. I aim to respond to email within one business day.

Grades & Due Dates

Grades are tracked on D2L. Due dates are posted on the D2L calendar. Keep an eye on both Piazza and D2L so you do not miss any updates.

Open D2L Course Site →
Reading Materials — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Reading Materials

There is no required textbook for the course. If you can get your hands on an inexpensive copy, I recommend Foundations of Multithreaded, Parallel, and Distributed Programming by Andrews. The book has recently gone out of print, unfortunately.

Due Dates — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Due Dates & Exam Schedule

Important Dates

All dates are also on the D2L calendar.

Programming Assignment 1 Thursday, March 5th
Programming Assignment 2 Thursday, April 9th
Programming Assignment 3 Tuesday, May 5th
(Optional) Final Exam Thursday, May 14th, 8:00am–10:00am

Final Examination

The final exam is Thursday, May 14th, 8:00am–10:00am. See the Final Exam Regulations and the Final Exam Schedule for additional information.

Late Policy

Unless otherwise specified, all assignments are due precisely at 8:00am on the due date. If your assignment is even one second late, it is late, without exception. Any missed exam will result in a grade of zero.

Makeup Policy for Students Who Register Late

If you register late for the course, you will not be allowed to gain credit for any written assignments, quizzes, programs, or exams whose due date has already passed.

Grading — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Grading Scale and Policies

Grading Scale

Grades are assigned on the usual A–E basis. Grading is absolute; there is no curve. Achieving 90% guarantees an A, 80% a B, and so on. (When final grades are assigned, an 85% could receive an A — but this is not a curve.) If everyone does A work, everyone gets an A.

To keep you informed of your grade throughout the semester, four fictitious students will receive grades for each graded item: Minimum A, Minimum B, etc.

Grade Breakdown

Five Optional Written Assignments 0%
Three Programming Assignments (5% each) 15% total
Daily Quizzes (equally weighted; lowest five dropped) 85%
Optional Final Exam Replaces 25% of quizzes if it helps you

Your final grade is computed as:
max(15% programs + 85% quizzes, 15% programs + 60% quizzes + 25% final exam)

Grading Mechanics

All grading is done via Gradescope. Access CSc 422 on Gradescope.

Daily Quizzes

There will be daily quizzes starting on the first day of class. Quizzes start at 8:00am sharp in class and take approximately 5–10 minutes. They cover material from lectures and/or assignments. The lowest five quizzes are dropped. There are no excuses for missing a quiz; if you miss one, it counts as one of your five drops.

By 8:00am sharp, you should be in your seat, connected to the Internet, in "do not disturb" mode, have registered for the quiz (entered your name, ID, magic number, and quiz number), and clicked "Start Quiz." Once the quiz starts you must click to enter fullscreen mode. Exiting fullscreen (or laptop suspend) locks all your answers. Once you receive your magic number, you may not leave class until after the quiz is over.

All quizzes must be taken on your laptop (no phones or tablets). If you do not have a laptop and cannot afford one, please contact me; I can loan you a Chromebook.

Academic honesty note: I am aware that elaborate methods to cheat on quizzes exist. If you attempt to cheat in one of these elaborate ways and are caught, a much harsher penalty than the minimum will be recommended.

Grading Timeliness

I take deadlines seriously and expect you to turn everything in on time. In return:

  • Programming assignments will be returned within two weeks.
  • All quizzes will be returned before the next class.
  • Grades are kept up to date on D2L.

Regrades for Programming Assignments

If you lose points due to failing test cases, the regrade policy is:

  1. You fix the code and resubmit it.
  2. We re-execute your program on all test cases, yielding a new grade.
  3. We apply a penalty. The minimum penalty is 10% per unique bug, but can be more; the more significant the changes, the higher the penalty.

Incompletes and Withdrawals

Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policies, available at the University Catalog.

Important Note on Grading

Your grade will be the one you earn. Under no circumstances will your graduation or visa status affect your grade. This includes situations such as: (1) your parents are coming for graduation, (2) relatives are flying in from halfway around the world, (3) you have a job lined up and have to start immediately, or (4) you got all A's up to this point.

Scheduled Topics — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Scheduled Topics
Week 1 Introduction / Developing Parallel Programs
Week 2 Developing Parallel Programs
Week 3 Developing Parallel Programs
Week 4 Concurrency / Critical Sections
Week 5 Locks and Barriers
Week 6 Scientific Parallel Programming and Semaphores
Week 7 Semaphores and Midterm
Week 8 Midterm Review and Semaphores
Week 9 Monitors
Week 10 Monitors and Designing Concurrent Programs
Week 11 Message Passing, File Servers, Interacting Peers
Week 12 Peer to Peer and MPI
Week 13 Asynchronous and Synchronous Message Passing
Week 14 Distributed Computing and MapReduce
Week 15 Logical Clocks and Review for Final
Illnesses and Emergencies — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Illnesses and Emergencies
  • If you are sick, stay home. Except for seeking medical care, avoid contact with others and do not travel.
  • Notify me if you will be missing up to one week of course meetings and/or assignment deadlines.
  • If you must miss the equivalent of more than one week of class and have an emergency, the Dean of Students is the proper office to contact (DOS-deanofstudents@email.arizona.edu). Qualified emergencies include: birth of a child, mental health hospitalization, domestic violence matter, house fire, hospitalization for physical health (concussion, emergency surgery, coma, COVID-19 complications, ICU), death of immediate family, Title IX matters, etc.
  • There is no guarantee of an extension when you are absent from class and/or miss a deadline.
Obtaining Help — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Obtaining Help

Course Help

Come to office hours early! Office hours tend to be very busy right before assignments are due. Starting early and coming well before the deadline gives you a better chance of getting help.

University Resources

Academic Advising
For questions about your academic progress or degree program, contact your department's academic advisor. The Advising Resource Center can guide you toward university resources. CS major students: email advising@cs.arizona.edu.
Life Challenges
If you face unexpected barriers to your success, the Dean of Students Office is a central support resource. Reach them at 520-621-2057 or DOS-deanofstudents@email.arizona.edu.
Physical and Mental Health
Campus Health provides quality medical and mental health care. Medical appointments: 520-621-9202. After Hours care: 520-570-7898. Counseling & Psych Services (CAPS) 24/7 hotline: 520-621-3334.
UA Ombuds
The UA Ombuds Office helps with a wide variety of issues, concerns, questions, conflicts, and challenges. Their primary mission is to assist in resolving conflict, facilitating communication, and providing feedback on systemic concerns. Communications are confidential and off-the-record.
Classroom Conduct — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Classroom Conduct

Dept. of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors will not be tolerated. The complete CS Code of Conduct (PDF) describes these expectations in full. We expect every member of this class to adhere to this code, as well as the UA Student Code of Conduct.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors share responsibility for maintaining a safe, welcoming, and inclusive space where everyone can challenge themselves to succeed. Our focus during lecture is on the material at hand, not on extraneous activities such as texting, chatting, reading unrelated material, making phone calls, or web surfing.

Students are asked to refrain from disruptive conversations during lecture. Anyone who continues to disrupt the class will be asked to leave and may be reported to the Dean of Students.

Please also refrain from using personal electronics — such as laptops and tablets — during lecture, except for the purpose of taking notes.

Threatening Behavior Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including threats to oneself. See the full policy for details.

UA Nondiscrimination and Anti-Harassment Policy

The University of Arizona is committed to creating and maintaining an environment free of discrimination. See the UA Nondiscrimination and Anti-Harassment Policy for the complete statement and reporting procedures.

Addressing Students — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Addressing Students

What is visible to me is the class roster in UAccess. Please ensure that your identifying information in UAccess is up to date, so that I will know how you prefer to be addressed. In addition, I ask students to address each other in their preferred way.

Malware Policy — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Malware Policy

Do not turn in "malware" as a prank. Malware is software that intentionally does harm to a computer, computer data, computer networks, etc. Submitting malware is a federal crime (see this reference for more information). If you turn in malware, I will refer the situation to the proper law enforcement authorities and recommend a harsh punishment.

Accessibility and Accommodations — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Accessibility and Accommodations

At the University of Arizona, we strive to make learning experiences as accessible as possible. If you anticipate or experience barriers based on disability or pregnancy, please contact the Disability Resource Center at 520-621-3268 to establish reasonable accommodations.

Campus Safety — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Safety on Campus and in the Classroom

For a list of emergency procedures for all types of incidents, please visit the website of the Critical Incident Response Team (CIRT) at cirt.arizona.edu/case-emergency/overview.

Also watch the safety video available at arizona.sabacloud.com.

Crisis Contacts — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Crisis Contacts

If you or someone you know is in crisis, please reach out. Help is available 24 hours a day. You are not alone.

UA & Local Resources

Community-Wide Crisis Line
520-622-6000
Available 24 hours a day, 7 days a week.
namisa.org/crisis-information
UA Counseling and Psychological Services (CAPS)
520-621-3334
Monday–Friday. Walk-in triage available 9:00 am–4:00 pm.
friend2friend — UA Peer Support
Student-to-student peer support program at the University of Arizona.
friend2friend.health.arizona.edu
OASIS — Support for Sexual Assault, Relationship Violence & Stalking
Confidential campus and community resources for survivors of sexual assault, relationship violence, and stalking.
health.arizona.edu/oasis

National Hotlines

National Suicide Prevention Lifeline
1-800-273-TALK  (1-800-273-8255)
Free, confidential crisis support available 24/7 for anyone in suicidal crisis or emotional distress.
suicidepreventionlifeline.org
Crisis Text Line
Text HOME to 741741
Available from anywhere in the US, anytime, for any type of crisis.
crisistextline.org
Trevor Project — LGBTQ+ Youth
TrevorLifeline: 1-866-488-7386
Available 24 hours a day, 7 days a week.
TrevorText: Text TREVOR to 1-202-304-1200
Veterans' Suicide Prevention
1-800-273-TALK  (1-800-273-8255)
SAMHSA Treatment Referral Hotline — Substance Abuse
1-800-662-HELP  (1-800-662-4357)
Substance Abuse and Mental Health Services Administration referral line.
National Sexual Assault Hotline
1-800-656-HOPE  (1-800-656-4673)
Confidential support from a trained staff member.
loveisrespect — Relationship Abuse
1-866-331-9474  TTY: 1-866-331-8453
Text: Text LOVEIS to get help.
Academic Integrity — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Code of Academic Integrity

Policy

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See the policy at deanofstudents.arizona.edu/policies/code-academic-integrity.

Consequences

If you violate the code of academic integrity in any way, I will report you to the Dean of Students. Any violation on a programming assignment, quiz, or final exam will result in a minimum sanction of a zero on the work submitted and a full letter grade reduction of the final grade.

Prohibited Activities

  • Uploading material (including your programs) from this course to any website other than D2L or the class Piazza is strictly prohibited and constitutes a violation of the course policy and academic integrity.
  • Obtaining material associated with this course (including programs) from sites such as Chegg, Course Hero, etc., or accessing these sites during a quiz or exam, is a violation of academic integrity.
  • Using artificial intelligence tools to write your programming assignments or to help you at all is a violation of academic honesty. This includes, but is not limited to, ChatGPT, similar tools, CoPilot, and similar tools.
Additional Resources — CSc 422 Spring 2026

CSc 422: Introduction to Parallel and Distributed Programming

Spring 2026  ·  University of Arizona  ·  David K. Lowenthal

Basic Info Lectures & Examples Due Dates Grading Topics Reading Communications Academic Integrity Full Syllabus
Additional Resources & Subject to Change

Additional Resources for Students

Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor. Students will be notified of any changes via Piazza.