![]() |
SWEN-342: Engineering of Concurrent and Distributed Software Systems |
This course covers issues and structures common in the construction of distributed and concurrent software systems. Emphasis is on fundamentals found in systems of this type. Topics include remote object invocation, middleware technologies, and common architectural and design patterns. Quality factors will be discussed, including responsiveness, throughput, and extensibility. There is no way we can cover other than a small sample of topics in concurrent systems; new languages and libraries are coming into use frequently, each reflecting emerging ideas on organizing concurrent systems. Thus this course will use a variety of technologies, most built on the Java Virtual Machine (JVM) to explore the promises, pitfalls, principles, and patterns of concurrency. The primary focus is on time-tested approaches to concurrency, and the way contemporary hardware and software platforms can be applied to create correct, reliable, robust and efficient concurrent systems.
Until recently, the "older" concurrent systems course addressed both mathematical modeling of concurrency and the pragmatics of designing and implementing concurrent systems. Course feedback in the past has focused on the balance between these two parts, with many students commenting that the pragmatic engineering concerns were given short shrift. In response, we have moved the mathematical modeling into a new semester course; thus we have time in this course to delve more deeply into principles, patterns, and concurrency mechanisms.
Please spend some time reading this document, as it contains
vital information about the texts, course policies and grading.
Spring 2025 (2245)
The course will encompass a variety of concepts and topics, among them are the following:
Classroom Activities - During class time you will be working in small groups or paired with other students.
Projects - There will be 2-3 team projects assigned during the quarter. Details on the content of the project, expected deliverables and assessment will be provided with the description of each project.
Reading -Reading will be assigned on a weekly basis. These assignments will supplement and reinforce project and classroom activities. I expect you to have read and understood the assigned material before the specified class.
Exams – There will be two mid-term exams during Weeks 5 and 10. A final exam will be given during Week 16.
A final course grade is a combination of your grades on exams, quizzes, class activities and team projects.
Component | Percentage of Final Grade |
---|---|
Exam 1 (Week 5) | 15% |
Exam 2 (Week 10) | 15% |
Final Exam (Week 16) | 20% |
Team Projects | 30% |
Activities | 20% |
Letter Grade | Numeric Grade | GPA Points |
A | 93-100 | 4.000 |
A- | 90-92 | 3.667 |
B+ | 87-89 | 3.333 |
B | 83-86 | 3.000 |
B- | 80-82 | 2.667 |
C+ | 77-79 | 2.333 |
C | 73-76 | 2.000 |
C- | 70-72 | 1.667 |
D | 60-69 | 1.000 |
F | Below 60 | 0.000 |