====== Calendar ====== ===== September 10 ===== 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]]. //Communications of the ACM//, 51(11):34-39, November 2008. {{public:lecture1.pdf|Slides of lecture 1}}. ===== September 15 ===== A guest lecture by librarian John Dupuis will take place in the Steacie Building, room 021B (the basement computer lab). Ask at the library reference desk for room 021B if you cannot find it. Leah Graham and Panagiotis Takis Metaxas. [[http://dx.doi.org.ezproxy.library.yorku.ca/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. ===== September 17 ===== Allen B. Downey. [[http://greenteapress.com/semaphores/downey08semaphores.pdf|The Little Book of Semaphores]]. {{public:lecture3.pdf|Slides of lecture 3}}. ===== September 22 ===== 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. Suhas S. Patil. {{public:patil.pdf|Limitations and Capabilities of Dijkstra's Semaphore Primitives for Coordination among Processes}}. Computation Structures Group Memo 57, Massachusetts Institute of Technology, February 1971. {{public:lecture4.pdf|Slides of lecture 4}}. ===== September 24 ===== 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. {{public:lecture5.pdf|Slides of lecture 5}}. ===== September 29 ===== 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. {{public:lecture6.pdf|Slides of lecture 6}}. ===== October 1 ===== 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. {{public:lecture7.pdf|Slides of lecture 7}}. ===== October 6 ===== 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]]. {{public:Printer.java.1.txt|Printer class (extends Thread)}} {{public:Printer.java.2.txt|Printer class (implements Runnable)}} {{public:Reader.java.txt|Reader class}} {{public:Writer.java.txt|Writer class}} {{public:ReaderAndWriter.java.txt|ReaderAndWriter class}} {{public:lecture8.pdf|Slides of lecture 8}}. ===== October 8 ===== Presentations ^ Slot ^ Student ^ | 1 | Rasouli, Amir | | 2 | Alsabbagh, Mohamad | | 3 | Rady, Amgad Sadek | ===== October 13 ===== Presentations ^ Slot ^ Student ^ | 1 | Halatchev, Vassil Christov | | 2 | Gulo, Eros | | 3 | Lin, Yuping | ===== October 15 ===== ^ Slot ^ Student ^ | 1 | Solbach, Markus Dieter | {{:public:lecture11.pdf|Slides of lecture 11}}. {{:public:counter.java.txt|Counter class}} {{:public:resource.java.txt|Resource class}} ===== October 20 ===== 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]]. {{:public:lecture12.pdf|Slides of lecture 12}}. {{:public:database.java.1.txt|Database class (synchronized)}} {{:public:boundedbuffer.java.2.txt|BoundedBuffer class (lock)}} ===== October 22 ===== Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea. Java Concurrency in Practice. Addison-Wesley, 2006. {{:public:lecture13.pdf|Slides of lecture 13}} {{:public:redblacktreetest.java.txt|RedBlackTreeTest class}} ===== October 27 ===== {{:public:lecture14.pdf|Slides of lecture 14}} {{:public:nonstatick.stack.java.txt|nonstatick.Stack class}} {{:public:statick.stack.java.txt|statick.Stack class}} ===== October 29 ===== No lecture due to Fall Reading Days ===== November 3 ===== Lecture cancelled ===== November 5 ===== ^ Slot ^ Student ^ | 1 | Halatchev, Vassil | | 2 | Alsabbagh, Mohamad | | 3 | Rasouli, Amir | ===== November 10 ===== ^ Slot ^ Student ^ | 1 | Solbach, Markus | | 2 | Lin, Yuping | | 3 | Gulo, Eros | ===== November 12 ===== ^ Slot ^ Student ^ | 1 | Rady, Amgad Sadek | 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. Cary Millsap. [[http://dx.doi.org.ezproxy.library.yorku.ca/10.1145/1831407.1831422|Thinking clearly about performance, part 2]]. //Communications of the ACM//, 53(10): 39-45, October 2010. {{:public:task.java.txt|Task class}} {{:public:main.java.txt|Main class}} ===== November 17 ===== {{:public:lecture16.pdf|Slides of lecture 16}} {{:public:task1.java.txt|Task class}} {{:public:main1.java.txt|Main class}} ===== November 19 ===== {{:public:task2.java.txt|Task class}} {{:public:script.txt|Script}} ===== November 24 ===== {{:public:lecture18.pdf|Slides of lecture 18}} ===== November 26 ===== Course evaluations (please bring a pencil). ===== December 1 ===== ^ Slot ^ Student ^ | 1 | Gulo, Eros | | 2 | Solbach, Markus | | 3 | Lin, Yuping | ===== December 3 ===== ^ Slot ^ Student ^ | 1 | Halatchev, Vassil | | 2 | Rasouli, Amir | | 3 | Alsabbagh, Mohamad | ===== December 8 ===== ^ Slot ^ Student ^ | 1 | Rady, Amgad | {{:public:lecture20.pdf|Slides of lecture 20}}