• Home
  • About
  • Mobile
  • Open Content
  • Search

Module Overview


  • Description
  • Facilitators
  • Weblinks
  • Timetable
CS3211 

PARALLEL & CONCURRENT PROGRAMMING
   2008/2009, Semester 2
   School of Computing (Computer Science)
Modular Credits: --
  Tags: --

Learning Outcomes

Top

A concurrent system consists of a set of processes that executes simultaneously and that may collaborate by communicating and synchronising with one another. Examples of concurrent systems are parallel programs that describe sets of collaborating processes. This module introduces the design, development and debugging of parallel programs. It will build on the concurrency concepts gained from the Operating Systems module. It covers concepts and modelling tools for specifying and reasoning about the properties of) concurrent systems and parallel programs. It also covers principles of performance analysis, asynchronous and asynchronous parallel programming, and engineering concurrent systems and parallel programs.

Lecture notes will be uploaded every week, and hardcopies will be distributed in class.

Prerequisites

TopPass CS2106

Schedule

Top

A more detailed schedule will be available in the Lesson Plan.

Week 1: Lecture 1 - Introduction

Week 2: Lecture 2 - Synchronization. Fairness.

Week 3: Lecture 3 - Concurrent and Parallel Programming Platforms: Java, MPI, and SPIN.
(Assignment 1: Simulation by coroutines)

Week 4: Lecture 4 - The Critical Section Problem 

Week 5: Lecture 5 - Fair Solutions to the CS problem

Week 6: Lecture 6 - Semaphores
(Assignment 2: SPIN/Promela)

Week 7: Lecture 7 - Monitors

Week 8: Lecture 8 - Semaphore and Monitor Programming Techniques

Week 9: Lecture 9 -  Java 6.0 Advanced Concurrency Primitives (30 min MCQ: March 19th).

Week 10: Lecture 10 - Implementation of Concurrency Primitives
(Assignment 3: concurrent programming in Java)

Week 11: Lecture 11 - Message Passing.

Week 12: Mid-term test (April 9th)

Week 13: Lecture 12 - Revision

 

Assessment

Top

The marks awarded to a student have two roles: feedback and assessment. Feedback, in the sense that a student would know his/her level, so he/she can improve. Assessment, in the sense of rewarding the student for the effort he/she put in throughout the module. In this module, we will have "feedback" and "assessment" as two separate components in awarding marks to students. And for "feedback" to be indeed feedback, we should not penalize students for their poorer performance, but rather stimulate them to improve by giving them a chance to make up for the lost marks. For this reason, the feedback component includes a bonus part.

Feedback component: capped at 40% (i.e. the excess will be forfeited)
* Tutorial: capped at 15%
* Forum contributions: capped at 10%
* Assignment 1: 11% (10% base + 1% bonus)
* Assignment 2: 12% (10% base + 2% bonus)
* Assignemnt 3: 12% (10% base + 2% bonus)

Assessment component: 60%
* MCQ (March 19th): 5%
* Mid-Term (April 9th): 15%
* Final: 40%

 

Contact

  • IVLE Webmaster

Social Media

Latest Alerts

  • IVLE scheduled maintenance every Tuesday 0300 hrs - 0700 hrs

Centre for Instructional Technology

Legal  |  Acceptable Use Policy

Copyright © 2015, National University of Singapore. All rights reserved.