Programming language resourcesThe concepts are taught from the course textbook (by Ben-Ari), and the lectures use the pseudocode in Ben-Ari's book. The conceptual understanding is complemented by practical work in exercise sessions and assignments. There are three programming assignments ("labs"). The first two are to be done in JR or Java, and the third in Erlang. The optional exercises also use these languages. Necessary subsets of JR and Erlang will be covered briefly in the lectures, but you are expected to learn mostly on your own from the resources listed below. Thus the course this term uses four languages: Ben-Ari's pseudo-code, Java, JR and Erlang. For the exam, be prepared to read programs in all four. You may write your answers using whichever of the four you find easiest for the question at hand. Java resourcesSun's own Java tutorial and in particular the section Thread Objects deals in a simple way with the basics of threads and the need for them. It contains nice small examples as well. It is a part of Essential Java Classes that also contains nice information about Streams and exception handling. From release 5, Java includes a host of new concurrency features. An overview can be a useful reference. If you want to know more about Java we also recommend the language specification. There is a HTML online version. Chapter 17 deals with threads and locks. It contains very valuable information for anyone trying to write something concurrent in Java. We don't talk much about memory models in this course, but it is a very important issue. For everyone using advanced concurrency features in Java this FAQ on the current memory model in Java is a must read. JR resourcesThe programming language JR is based on Java, and on the earlier languages SR and MPD. The main reference for JR can be found on JR web-page. There is a book on JR which presented on that web page. Google Books has a preview of the JR book. We also provide a short syntax reference for JR. The programming language used in Andrews' book is basically SR/MPD. If you are using this book, the fastest way to get a good start with JR is to use this table that shows how SR/MPD syntax can be translated to JR. Running JR programsRunning JR programs is simple: just type jr followed by the name of the class you want to run (note: do not type the name of the file, that will not work. JR only wants the name of the class). Erlang resourcesThe following may be useful:
Last modified:
Monday, 19-Sep-2011 08:37:55 CEST
|