Course Information
Instructor: Prof. Ryszard Janicki
-
Office: ITB 217
-
Phone: 525-9140 ext:
23919
-
Office
hours: Tuesday: 3:30pm-4:20 pm
-
Email: janicki@mcmaster.ca
Teaching Assistants:
Course website:
https://www.cas.mcmaster.ca/~cs2sd3/
Lectures:
Tuesday |
2:30 PM - 3:20
PM |
JHE 376 |
Thursday |
2:30 PM - 3:20 PM |
JHE 376 |
Friday |
2:30 PM - 3:20 PM |
JHE 376 |
Tutorials:
Monday |
02:30 - 04:20 PM |
BSB17
|
Start January 13, 2025 |
Monday |
04:30 - 06:20 PM |
ITB 139 |
Start January 13, 2025 |
Tuesday |
04:30 - 06:20 PM |
PGCLL M24 |
Start January 13, 2025 |
Wednesday |
10:30 -
12:20 AM |
ITB 139 |
Start January 13, 2025 |
Thursday |
08:30 - 10:20 AM |
ITB 139 |
Start January 13, 2025 |
Midterm:
The midterm will take place on Friday, February 28, at 8:00 pm (take home).
Course Outline (Tentative):
- Labelled
Transition Systems. Shared Objects and Mutual Exclusion. Monitors and
Condition Synchronization. Deadlock. Safety and Liveness Properties. Model
Based Design. Dynamic Systems. Message Passing. Concurrent Architectures.
Timed Systems. Program Verification. Logical Properties. Perti Nets and other
models.
Texts:
-
J. Magee, J. Kramer,
Concurrency: State Models & Java Programming,, 2nd Edition, J. Wiley 2006.
The course may not always follow the text-book closely.
Lecture Notes (copies of transparencies) will be on the website a few days after a class.
Software Tools: You will have to obtain the LTSA tool from
http://www.doc.ic.ac.uk/~jnm/book
Calendar Description:
- Processes, threads, concurrency; synchronization mechanisms,
resource management and sharing; objects and concurrency; design, architecture
and testing of concurrent systems.
Mission:
- The mission of this course is to give students an
understanding of the basic techniques of concurrent system design and to
introduce students to the appropriate modelling and analysis techniques.
Learning Objectives: Preconditions:
- Students should have basic knowledge of discrete mathematics
(especially of logic, sets and relations), basic knowledge of data structures
and algorithms. They should be familiar with principal ideas of software
development and know how to program in at least one programming language.
Learning Objectives: Postconditions
-
Students should know and understand
-
Basic models of concurrency, both algebraic and graphical
-
The concepts of process and thread
-
Resource management and sharing
-
Basic ideas of design and architecture of concurrent systems
-
Problems with testing and verification of concurrent systems
-
Students should be able to
-
Specify concurrent systems with process algebras and Petri nets.
-
Implement concurrent systems with processes, threads and other available tools.
-
Verify and test crucial parts of concurrent systems.
Evaluation
Assignments |
30% |
Three assignments (3 x 10=30%). |
Midterm test |
20% |
(60 minutes midterm test plus 20 mintues for technology ) (20%, take home, virtual
on avenue). The midterm will take place on Friday, February 28, at 8:00 pm (take home) .
|
Final
examination |
50% |
There will be a 2.5 hours (one double side cheat sheet will be allowed) final examination |
Total |
100% |
|
Submissions will be via Avenue.
Late assignments will not be accepted because solutions will be posted on the website a day after the due day. Although you may discuss the general concept of the course material with your classmates, your assignment must be your individual effort.
MSAF policy:
For each MSAF the weight will be moved to the final exam. More information on the MSAF procedure can be found at this
link.
Important
The instructor and university reserve the right to modify elements of the course during the term. The university may change the dates and deadlines for any or all courses in extreme circumstances. If either type of modification becomes necessary, reasonable notice and communication with the students will be given with explanation and the opportunity to comment on changes. It is the responsibility of the student to check their McMaster email and course websites weekly during the term and to note any changes.
Academic Dishonesty
Academic dishonesty consists of
misrepresentation by deception or by other fraudulent means and can result in
serious consequences, e.g. the grade of zero on an assignment, loss of credit
with a notation on the transcript (notation reads: AGrade of F assigned for
academic dishonesty@), and/or suspension or expulsion from the university. It
is your responsibility to understand what constitutes academic dishonesty. For
information on the various kinds of academic dishonesty please refer to the
Academic Integrity Policy, specifically Appendix 3, located at
http://www.mcmaster.ca/senate/academic/ac_integrity.htm
The following illustrates only three
forms of academic dishonesty: 1. Plagiarism, e.g. the submission of work that
is not one=s own or for which other credit has been obtained. 2. Improper
collaboration in group work. 3. Copying and using unauthorized aids in tests
and examinations.
|
|
|