Links page for Advanced Program Design in Java
This page will be used to collect further links for the module
Advanced Program Design (local link
here)
taught by Matthew Huntbach at Queen Mary, University
of London.
See also my general page of links on Java and programming in general,
Useful and interesting links for new Java programmers
University Courses Web Sites
These are links to web sites for courses in other universities across
the world which seem to have similar aims to our Advanced Program Design,
and which have worthwhile notes and other material available through the site.
-
Daniel Jackson and Srinivas Devadas, MIT
(this is the version MIT have released as part of their "Open Courseware"
initiative, a more recent course is here)
-
Rob Miller, MIT
-
Michael Hicks, University of Maryland
-
Nelson Padua-Perez and Bill Pugh, University of Maryland
-
David Evans, University of Virginia
-
Paul Ammann, George Mason University
-
Ahmad Esmaili, Stony Brook University
-
Bob Tarr, University of Maryland Baltimore County
-
Murray Wood, University of Strathclyde
-
Robert Duvall, Duke University
-
Bertrand Meyer and Manuel Oriol, ETH Zurich
-
David Leberknight and Ron LeMaster, University of Colorado at Boulder
-
Nick Parlante, Stanford University
-
Debbie Richards, MacQuarie University, Australia
-
Oscar Nierstrasz, University of Berne
-
Morris Lancaster, George Washington University, Washington DC
-
David Stotts, University of North Carolina
-
Roger Whitney, San Diego State University
-
Mike Spivey, University of Oxford
-
David Whitlock, Portland State University
-
Mark Kampe, Harvey Mudd College
-
Paul Carter and Meghan Allen, University of British Columbia
-
Riccardo Pucella, Northeastern University, Boston MA
-
Assaf Kfoury, Boston University
-
Dave Elliman, University of Nottingham
-
Charlie Sawyer, Harvard University
- Alan Fekete, University of Sydney
- Robert "Corky" Cartwright, Rice University, Houston, Texas
Book sites
These are links to web sites for books relevant to this course. In some
cases the whole book is available on-line, in others it's just the
standard publisher's/author's site for a book you would have to buy.
Programming blogs and personal sites
There are a large number of programming blogs, or sites which are essentially
one person's musings on programming. I will put here links to
those which are particularly influential, or that I have found useful
or interesting. In some cases the blog forms part of a more comprehensive
site such as the blogger's company site, so I have indicated where
that is the case. In other cases, the blog also has its own name, whcih
I have given.
Other links
Any other interesting or relevant links get put here, not in any particular
order. Personal web pages/blogs are now separated out and put above.
-
The Most Important Software Innovations by
David A. Wheeler:
a good summary of the historical development of programming.
-
Christopher Alexander: An Introduction for Object-Oriented Designers
by Doug Lea:
an early paper, showing how the idea of software design patterns
originated from related idea in architecture and town-planning.
- Why a Duck?
by John Brewer, under his consulting practice
Jera Designs:
a short paper which introduces the basic ideas of polymorphism and design
patterns more succintly than anything else I've seen.
- Big Ball of Mud
by Brian Foote and
Joseph Yoder: a much circulated
paper which discusses why in practice commercial software is often
poorly structured.
- Extreme Programming:
the movement in software engineering which emphasises quick implementation,
testing, and revision from user feedback over the more traditional
full scale design before implementation.
- Refactoring Home Page
by Martin Fowler: seen as
an important innovations in software engineering, a disciplined approach
to changing software without altering its external behaviour.
- Object Mentor
"Industry experts in software best practices" with a particular interest in
agile principles and practices
-
Essential Skills for Agile Development An online book about
programming skills associated with "Agile Development".
- Wirfs-Brock Associates
"Enabling teams and individuals to specify, design and deliver software for
a complex world", with a strong emphasis design rather than coding
-
Agile Modeling "A practice-based methodology for effective modeling and
documentation of software-based systems" from
Scott W. Ambler
- Object Orientation Tips
Contains "useful and interesting posts from other mailing lists, newsgroups
and web forums".
-
Java Design Patterns Resource Center from (love them or loathe them)
Deitel.
-
Java Practices Short summaries, with examples, of good practices
in Java programming.
-
iturls The English version of a major Chinese site for IT links.
-
TeachJava2005 resources and
notes
for a week-long workshop on Java.
-
ObjectiveView "The Journal for Professional Software Developers".
-
SWEBOK The Software Engineering Body of Knowledge. An attempt to
summarise generally accepted knowledge on software engineering
organised by the IEEE Computer Society's
Software Engineering
group.
- Code Complete An influential book on software construction
- Design Patterns, Antipatterns and Refactoring
Does what it says - basic coverage of these three things.
- RGOArchitects
Presentations and papers on aspects of software engineering, with an
emphasis on Service Oriented Architecture
- Software Quotes
Quotations from the world of programming and software development
- Lambda the Ultimate
A discussion site on programming languages
Matthew Huntbach
Last modified: 10 December 2013