Term and Credits
Fall 2026-2027
3 Credits
Room and Time
Section 001 - MW 3:00PM-4:20PM Prof. Boady [3675 Market Street Room TBD]
Section 002 - MW 4:30PM-5:50PM Prof. Boady [3675 Market Street Room TBD]
Instructor
Mark Boady
Electronic Mail Address:
mwb33@drexel.edu
Office: 3675 Market Street Room 1063 (near snack machine)
Office Hours:
Monday 2-3PM, Wednesday 2-3PM, Thursday 2-4PM
Course Assistant(s)
Anthony Mattei
Electronic Mail Address: agm85@drexel.edu
Office: CLC (3675 Market Street room 1066)
Office Hours: Tuesday 4:00-6:00PM and Thursday 12:00PM-12:00PM
Course Description
Covers programming of concurrent, cooperating sequential processes. Studies race conditions, critical sections, mutual exclusion, process synchronization, semaphores, monitors, message passing, the rendezvous, deadlock, and starvation.
Course Objective and Goals
Topics
Audience and Purpose within Plan of Study
This class is targeted at students who want a fundament
Prerequisites
This subject benefits from the abilities to creatively use the software development and mathematical tools that students know as advanced undergraduates: CS260 (minimum Grade D), CS281 (minimum Grade D) or CS283, or equivalents, CS 270 (logic and proof from Mathematical Foundations of Computer Science).
What Students Should Know Prior to this Course
What Students will be able to do upon Successfully Completing this Course
Textbook
C++ Concurrency in Action (Second Edition)
Author: Anthony Williams
Published: February 10, 2019
ISBN-10: 1617294691
ISBN-13: 978-1617294693
Buy from Amazon
Online Edition from Manning
Recommended Supplemental Material
Tour of C++ (3rd Edition)
Author: Bjarne Stroustrup
Published: September 24, 2022
ISBN-10: 136816487
ISBN-13: 978-0136816485
Buy from Amazon
Online From Drexel Library
Grading and Policies
Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.
Late Policy
Academic Honesty Policy
The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/.
Academic Honesty Violations will be reported to the University. Punishment will be determined by the severity of the incident. Punishments include, but are not limited to,
PERMITTED USE OF ARTIFICIAL INTELLIGENCE TOOLS IN THIS COURSE:
Artificial intelligence tools such as large language models (e.g., ChatGPT) must be cited when preparing submitted work for this course. Further information on university policies regarding the use of artificial intelligence tools in the classroom is available in the Draft Drexel University Policy on Academic Integrity Pertaining to Artificial Intelligence.
AI tools should be used to support your design and development. Deductions may be applied if large portions of solutions are developed by AI.
Artificial intelligence tools may be used as study aids. They may be used to help prepare for tests, study material, or learn about topics. They may not be used to generate any code/answers that are submitted for credit.
Lectures
Lectures will be recorded by Echo 360 for later reference, but attendence is expected. If a lecture is not recorded due to technical problems, it will not be recreated.
Reflection Essay
Each week you will need to write a short reflection on the topics you learned the week.
Homework Assignments
There will be one homework assignment per week. It will normally contain multiple components. Some programming and some written.
Assessments
There will be two self assessments. You will answer a series of essay questions about content in the class so far. You will propose a letter grade for your progress and skill on the material.
Extra Credit
In this course, we value the course survey results. It is important for you to receive grades so you can determine how you are performing in class. We also want to know how we are doing. The course survey is our most important tool for determining how the students feel about the class. We also understand that completing the survey takes time and effort. Due to the importance of the course survey, extra credit will be provided to those students who complete it and provide evidence it has been completed. The extra credit will be 1 point added to the final grade for the class. This will take place at the end of the term.
University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:
CCI Culture and Community Statement
CCI's Commitment to Culture and Community The College of Computing and Informatics commits to creating a positive and safe learning environment for everyone - instructors, professional staff, and students - both inside and outside of the classroom. We embrace the wide range of thoughts, perspectives, and experiences that each community member brings, and we honor everyone's unique identity and lived experience. We encourage each community member to share information and feedback that will assist instructors and staff in fostering a supportive and inclusive community environment. For more information about CCI's commitment to culture and community, visit Culture & Community Council | Drexel CCI
Appropriate Use of Course Materials
It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/ Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University's Code of Conduct found at: https://drexel.edu/studentlife/community-standards/code-of-conduct and will be investigated as such.
Recording of Class Activities:
In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.
Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors' prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.
If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at:
https://drexel.edu/provost/policies-calendars/policies/grade-appeals/
Tentative Course Schedule
Please see the appropriate assignment webpages for a detailed description of course deliverables.
| Week | Topic | Assignments | |
| 1 (Sept 21, 2026) |
Monday Sept 21 - Campus Closed Lecture 01 - Concurrency Theory |
Reflection WK1 - Due Thurs. 9/24 at 11:59PM |
|
| 2 (Sept 28, 2026) |
Lecture 02 - CPP Boot Camp Lecture 03 - CPP and Concurrency |
Reflection WK2 - Due Thurs. 10/1 at 11:59PM Assignment 1 - Due Fri. 10/2 at 11:59PM |
|
| 3 (Oct 5, 2026) |
Lecture 04 - Locks and a Rendezvous Lecture 05 - The Semphore and Condition Variables |
Reflection WK3 - Due Thurs. 10/8 at 11:59PM Assignment 2 - Due Fri. 10/9 at 11:59PM |
|
| 4 (Oct 12, 2026) |
Indigenous Peoples' Day - No Class 10/12 Lecture 06 - Producer and Consumer |
Reflection WK4 - Due Thurs. 10/15 at 11:59PM Assignment 3 - Due Fri. 10/16 at 11:59PM |
|
| 5 (Oct 19, 2026) |
Lecture 07 - Thread Safe Queue Lecture 08 - Thread Pools |
Reflection WK5 - Due Thurs. 10/22 at 11:59PM Assignment 4 - Due Fri. 10/23 at 11:59PM |
|
| 6 (Oct 26, 2026) |
Lecture 09 - Image Generation & Mandelbrot Lecture 10 - Readers and Writers |
Midterm Assessment - Due Friday 10/30 at 11:59PM | |
| 7 (Nov 2, 2026) |
Lecture 11 - Dinning Philosophers Lecture 12 - Bonding H2O |
Reflection WK7 - Due Thurs. 11/5 at 11:59PM Assignment 5 - Due Fri. 11/6 at 11:59PM |
|
| 8 (Nov 9, 2026) |
Lecture 13 - Lamport's Bakery Algorithm Lecture 14 - Morris No Starve Mutex |
Reflection WK8 - Due Thurs. 11/12 at 11:59PM Assignment 6 - Due Fri. 11/13 at 11:59PM |
|
| 9 (Nov 16, 2026) |
Lecture 15 - Channels Lecture 16 - Communicating Sequential Processes |
Reflection WK9 - Due Thurs. 11/19 at 11:59PM Assignment 7 - Due Fri. 11/20 at 11:59PM |
|
| 10 (Nov 23, 2026) |
Lecture 17 - Lock Free Programming Thanksgiving Break 11/15 - No Class |
Nothing Due | |
| 11 (Nov 30, 2026) |
Lecture 18 - Threaded Server Lecture 19 - Map-Reduce |
Reflection WK11 - Due Thurs. 12/3 at 11:59PM Assignment 8 - Due Fri. 12/4 at 11:59PM |
|
| 12 (Dec 7, 2026) |
Final Assessment - Due Wed. 12/9 at 11:59PM Extra Credit Survey - Due Wed. 12/9 at 11:59PM |
||