Statistical Computing
STAT 535 Autumn Quarter 2007

Home

Course Description

Syllabus

Books and other resources

Class mailing list

 

Assignments

Handouts/Course notes

UW Statistics

UW Biostatistics

Books and other resources

No text is required for this course. We will use "Introduction to Probabilistic Graphical Models" by Michael Jordan, of which we will hand out chapters in class.

For extra reading and a web portal to the community of graphical models researchers go to http://www.auai.org the page of the Association for Uncertainty in AI.

For graph theory a good book to have is West - "Introduction to graph theory". We will use only *very* small parts of it in this course. For algorithms and data structures, the book of choice is CRLS, aka Cormen, Leiserson & Rivest "Introduction to Algorithms". This contains many of the tree algorithms that we'll be learning about.

Additional research articles that will be discussed in class will be posted on the Handouts page.

What follows below is the old version of the resources, used until 2006.

There will be no required textbook for this class. The Java book I recommend is K. Arnold, J. Gosling, D. Holmes, "The Java Programming Language". Each week I will assign reading by indicating a topic (for example "identifiers" or "inheritance") and you can read about it in the book of your choice. Below is an annotated list of Java books from which you can choose the one that best matches your style of learning. Some of them are available on line so before buying a book browse the links in the table and see if you like what you find there.

For graphical probability models, I will occasionally use F.V. Jensen, "An introduction to Bayesian networks" plus articles that I will hand out. For graph theory a good book is West - "Introduction to graph theory". We will use only *very* small parts of it in this course and probably I will hand them out in class. For algorithms and data structures, the book of choice is CRLS, aka Cormen, Leiserson & Rivest "Introduction to Algorithms". This contains all the tree algorithms that we'll be learning about.

http://java.sun.com The official Java site. Downloads, documentation, Java books for download, FAQs, sample code. In case you didn't know it yet, Java is free, open source, machine idenpendent and comes with lots of useful libraries. You can read about java or browse through the source code of the libraries or find more book recommendations. The API for the Java version on the departmental machines is here.

MSCC/Stat

  • The current Java version on lisbon/hilbert is "1.4.0". Versions 1.2 or higher are branded "Java 2".
  • Java is portable, so it does not matter on what machine you do your programming, but in this course I will assume that you are in a unix/linux environment (aka lisbon)

Fun

  • Teach yourself Java having fun: Robocode It takes cca 2 minutes and 0 knowledge of Java to download, install and try out this program. After watching it run, you can edit the code and build your own robots.
  • Teach Yourself Programming in Ten Years by Peter Norvig

A list of books on Java
Below are some books that teach the Java language and Object Oriented programming. I have provided comments by each of them, and I sorted them in the order of increasing "academicity", defined as the page where the first Java program appears. The pages before that are devoted to "concepts", namely the concept of Object Oriented Programming. My recommendation is that, the more experienced with computers and programming you are, the more you will enjoy the "academic" side of matters. If you are a beginner, you'll find it easier to use a more hands-on book, which spends little time on the Big Questions and instead takes you step by step through the compilation and running of your first program. We'll talk about some of the Big Questions in class anyways.

The links by the book title take you to further reading or to free software resources provided by the book authors. Some of the books are entirely on the web.

Academicity index Title Author Comments Edition Publisher Publishing Date
1 The JavaTM Programming Language Ken Arnold, James Gosling & David Holmes My favorite so far 3rd Sun Microsystems, CA 2000
6 Just Java² (with CDRom) Peter van der Linden Sun's official Java book. Very tutorial and hands-on, with tips for novice computer users. Includes also a lot of advanced stuff (it has more than 1000 pages!) and some more or less interesting computer industry trivia. A "Unix/Linux compatible" book. 5th Sun Microsystems Press, California 2002
17 Big Java Horstman, Cay Also a CS textbook. Therefore includes chapters on data structures (there are standard libraries for that in Java) and less on the "system engineering" aspects. For complete novices, lots of screen shots and tips like "don't forget to save your files". Assumes you live in Windows world. John Wiley & SOns, Inc 2002
106 An Intro To Programming & OO Design Using Java Niño, Jaime & Frederick A. Hosch The current CSE 142-143 textbook. A textbook intended for students not programmers. Chapter 1 good introduction to computating in general. You can skim through chapters 1 and 2; chapters 3 and 4 start introducing lines of code but read quickly too, and by ch 5 you already (sic!) have a small Java program. Later on are some pretty useful chapters on lists, arrays, binary search, and so on. John Wiley & Sons, Inc 2002
119 Thinking In Java Eckel, Bruce For more experienced (especially C++) programmers, explains the philosophy behind Java and OOP. Nice introductory reading on many other things in todays computer world like multithreading, programming as a buisness, extreme programming. Can also be downloaded free of charge on the web, together with the supporting software. 2nd Prentice Hall, New Jersey 2000
NA Practical Java-Programming Language Guide Haggar, Peter Tips for better Java coding. Useful for Java beginners. Addison-Wesley 2000
NA Effective Java - Programming Language Guide Bloch, Joshua Advanced tips for better Java coding. Sun Microsystems, CA 2001
3 Programming for Everyone in Java Hansen, Per Brinch Too elementary. Not worth the trouble. Springer-Verlag, NY 1999
The JavaTM Tutorial, Third Edition - A Short Course on the Basics Campione, Mary, Kathy Walrath & Alison Huml Fine for the basics, especially if you aren't an experienced programmer yet. But for the more advanced stuff (I/O for example, library data structures), the treatment is confusing and oversimplified. 2001

Contact the instructor at: mmp@stat.washington.edu