====== Calendar ====== ===== January 5 ===== Herb Sutter and James Larus. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/1095408.1095421|Software and the Concurrency Revolution]]. //Queue//, 3(7):54-62, September 2005. Celeste Biever. {{private:biever.pdf|Chip revolution poses problems for programmers}}. //New Scientist//, 2594:26-27, March 2007. Bryan Cantrill and Jeff Bonwick. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/1400214.1400227|Real-world concurrency]]. //Communcations of the ACM//, 51(11):34-39, November 2008. ===== January 10 ===== Chapter 1 of Mordechai Ben-Ari. [[http://www.library.yorku.ca/eresolver/?id=1065597|Principles of Concurrent and Distributed Programming]]. Second edition. Addison-Wesley, Harlow, UK, 2006. ===== January 12 ===== A guest lecture by librarian John Dupuis will take place in the Steacie Building, room 021. Ask at the library reference desk for room 021 if you cannot find it. Leah Graham and Panagiotis Takis Metaxas. [[http://dx.doi.org/10.1145/769800.769804|Of course it's true; I saw it on the Internet!]] //Communications of the ACM//, 46(5):70-75, May 2003. Neil L. Waters. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/1284621.1284635|Why you can't cite Wikipedia in my class]]. //Communications of the ACM//, 50(9):15-17, September 2007. ===== January 17 ===== P.J. Courtois, F. Heymans and D.L. Parnas. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/362759.362813|Concurrent control with "readers" and "writers"]]. Communications of the ACM, 14(10): 667-668, October 1971. Edsger W. Dijkstra. [[http://www.cs.utexas.edu/users/EWD/ewd06xx/EWD625.PDF|Two starvation-free solutions of a general exclusion problem]]. EWD 625. ===== January 19 ===== C.A.R. Hoare. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/355620.361161|Monitors: an operating system structuring concept]]. //Communications of the ACM//, 17(10):549--557, October 1974. Corrigenda * Add count := count - 1 to the first remove procedure on page 553. * Replace + with - in the release procedure on page 554. ===== January 24 ===== C.A.R. Hoare. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/359576.359585|Communicating Sequential Processes]]. //Communications of the ACM//, 21(8):666-677, August 1978. Additional material can be found in\\ Steve Schneider. //[[http://www.cs.rhul.ac.uk/books/concurrency/|Concurrent and Real-time Systems: the CSP Approach]].// John Wiley & Sons. 1999. ===== January 26 ===== R. Kent Treiber. [[http://domino.research.ibm.com/library/cyberdig.nsf/papers/58319A2ED2B1078985257003004617EF/$File/rj5118.pdf|System programming: coping with parallelism]]. Report RJ 5118. IBM Almaden Research Center, San Jose, CA, USA. April 1986. ===== January 31 ===== Presentations of the first assignment. ^ Slot ^ Student ^ | 1 | Loutfouz Zaman | | 2 | Calden Wloka | | 3 | Elise Cormie-Bowins | ===== February 2 ===== Lecture has been cancelled due to severe weather conditions. ===== February 7 ===== Presentations of the first assignment. ^ Slot ^ Student ^ | 1 | Vladimir Magdin | | 2 | Steven Xu | | 3 | Andrew Milner | | 4 | Xiwen Chen | ===== February 9 ===== Presentations of the first assignment. ^ Slot ^ Student ^ | 1 | Shouzheng Yang | | 2 | Mohammed-Ali Khan | ===== February 14 ===== Mary Campione, Kathy Walrath and Alison Huml. The Java Tutorial. [[http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html|Lesson: Threads: Doing Two or More Tasks At Once]]. ===== February 16 ===== Mary Campione, Kathy Walrath and Alison Huml. The Java Tutorial. [[http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html|Lesson: Threads: Doing Two or More Tasks At Once]]. ===== February 28 ===== Section 3.1 and Chapter 12 of\\ Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea. [[http://proquest.safaribooksonline.com.ezproxy.library.yorku.ca/0321349601|Java Concurrency in Practice]]. Addison-Wesley, 2006. ===== March 2 ===== A guest lecture by Trevor Brown on MTL. Information about MTL can be found [[mtl|here]] [[http://www.cs.kent.ac.uk/projects/ofa/jcsp/|Communicating Sequential Processes for Java]] Cary Millsap. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/1810891.1810909|Thinking clearly about performance, part 1]]. //Communications of the ACM//, 53(9):55-60, September 2010. ===== March 7 ===== No reading material. ===== March 9 ===== A guest lecture by Susan Visser, Publishing Program Manager at IBM, on writing. ===== March 14 ===== Presentations of the second assignment. ^ Slot ^ Student ^ | 1 | Mohammed-Ali Khan | | 2 | Shouzheng Yang | | 3 | Xiwen Chen | ===== March 16 ===== Presentations of the second assignment. ^ Slot ^ Student ^ | 1 | Andrew Milner | | 2 | Elise Cormie-Bowins | ===== March 21 ===== Guest lecture by Nastaran Shafiei on Java PathFinder. ===== March 23 ===== Presentations of the second assignment. ^ Slot ^ Student ^ | 1 | Calden Wloka | | 2 | Loutfouz Zaman | ===== March 28 ===== Guest lecture by Nastaran Shafiei on Java PathFinder. ===== March 30 ===== Java Memory Model. ===== April 4 ===== Presentations of the third assignment. ^ Slot ^ Student ^ | 1 | Calden Wloka | | 2 | Elise Cormie-Bowins | | 3 | Shouzheng Yang | ===== April 5 ===== Presentations of the third assignment. ^ Slot ^ Student ^ | 1 | Mohammed-Ali Khan | | 2 | Xiwen Chen | | 3 | Andrew Milner | | 4 | Loutfouz Zaman |