SSC: Networks/Concurrency 2014/2015 Office hours: My office hours are Thursday afternoon 16:00pm to 17:00pm Please feel free to drop into my office UG36 if you have any questions. Lecture notes and slides Here are the slides: Week 5 Lecture 1 (Introduction): Slides Lecture 2 (Communication and Networking - Background): Slides Lecture 3 (Communication and Networking - JavaMail API): Slides Week 6 Lecture 4 (Communication and Networking - Java Socket Programming (I) ): Slides Lecture 5 (Communication and Networking - Java Socket Programming (II) ): Slides Lecture 6 (Communication and Networking - Java Socket Programming (III) ): Slides Week 7 Lecture 7 (Working with HTTP/Web using Java): Slides Tutorial (Interview and exam questions): Slides Lecture 8 (Concurrency: background and concepts): Slides Lecture 9 (Java multithreaded programming - Basics): Slides Week 8 Lecture 10 (Thread pool and executors framework): Slides Lecture 11 (Java multithreaded programming - Synchronisation(I) ): Slides Lecture 12 (Java multithreaded programming - Swing multithreaded programming): Slides Week 9 Lecture 13 (Java multithreaded programming - Synchronisation(II) ): Slides Tutorial (Java multithreaded programming interview questions): Slides Lecture 14 (Java multithreaded programming - Liveness ): Slides Lecture 15 (Java multithreaded programming - Advanced synchronisation): Slides Week 10 Lecture 16 (Java Web applications and development - Introduction to Java Servlet (I) ): Slides Lecture 17 (Java Web applications and development - Introduction to Java Servlet (II) ): Slides Lecture 18 (Java Web applications and development - Model-View-Controller for Java web application development ): Slides Week 11 Lecture 19 (Java multithreaded programming - Thread coordination): Slides Lecture 20(Java multithreaded programming - Producer Consumer design pattern): Slides Lecture 21(Revision lession): Slides Java examples Click this zipped file for: Retrieving and sending email using JavaMail API Click this zipped file for: TCP socket programming examples (DataClient.java, DataServer.java, EchoClient.java, EchoServer.java, FileClient.java, and FileServer.java) Click this zipped file for: UDP socket programming examples (UDPWordCountServer.java and UDPClient.java) Click this zipped file for the XMPP example using Smack to send instant message to Google Talk. You need to download Smack libraries. Click this zipped file for UDP Multicast examples. Click this zipped file for comparing file copying speed of Java NIO and original IO. Click this zipped file for socket communication using NIO. Click this zipped file for examples of HTTP Socket Java Programming, URL handling and URLConnection. Click this zipped file for examples of JSoup.You need to download JSoup. Click here for examples of creating threads using Thread class. Click this zipped file for examples of thread pool and Java Executors framework examples. Click this zipped file for Java examples of thread interference problems, memory consistency problem and the solutions. Click this zipped file for Java examples of deadlock, live lock and starvation problem and the solutions. Click here for Java examples of reentrantLock, volatile varialbe and non-blocking synchronisation Click here for Java Swing examples of unresponsive Swing graphic user interface (GUI), thread-unsafe Swing application, and the correction examples using SwingUtilities.invokeLater and SwingWorker classes. Click here for Java Servlet examples of Servlet programming, which include examples of doGet method, doPost method, RequestDispatcher interface, a simple JSP, Session management and fibonacci/factorial calculation server using MVC design pattern. Click here for a Java Servlet example of using SQLite (http://www.sqlite.org/) and JDBC (https://bitbucket.org/xerial/sqlite-jdbc). Click here for Java examples of thread coordinations Click here for Java examples of 3 producer consumer models using 3 different techniques, e.g., guarded block, semaphore and blocking queue.