Useful and interesting links for new Java programmers

Please note, this page was first put together in 1998, and is now given only small amounts of maintenance - see below. In particular, this site was put together reflecting early versions of the Java language. I felt the changes introduced in Java 5 were so significant that they required a major overhaul of my teaching and thinking about the Java language, but I did not have time to re-orient this page around that, so that marks the point when I stopped active work on this page.

University Java programming course web pages
General resource sites for Java
Other relevant sites for Java
Java books sales sites
Java sites from web-indexers
Java question-answering services
General resource sites
Computing societies
University course indexes
Managing Java files
Unicode sites
On-line dictionaries/glossaries
Interesting or useful personal web-sites
Study skills and general help sites
The Real World

What this page is for

This page of links was originally produced for students on the course Introduction to Programming in the Department of Computer Science (now part of the School of Electronic Engineering and Computer Science) at Queen Mary, University of London, in the UK. However, it linked into material well beyond the scope of that course so it was made available as a public resource for anyone else who is interested.

The aim was to provide material for students learning to program in an object-oriented style using the Java language. The emphasis is more on general programming skills than the intricacies of the Java language. So I have avoided material which introduces Java with an emphasis on its graphical or networking side. There are, however, links for those who want to move ahead to look at these things. I have not given links to many of the vast number of sites aimed at Java Certification since that is more about factual knowledge of the details of Java than general programming skills.

I have also used this page to collect more general links on computer programming and related issues which I think would be of interest to new students in Computer Science.

I have tried to make all links here to original sites rather than mirror sites, so they are as up to date as possible. Also mirror sites made without permission of the original author are a breach of copyright. So far as I am aware, everything with a direct link from this site has been made available by its author to the public over the web.

This site also contains, for reference, links to other sites of a type which this is not: sites which indiscriminately list anything that can be found on Java, sites which are mainly about how to use Java to enhance your web page, and sites which are for those who already have a lot of experience with Java or C/C++ programming. The author of this site (Matthew Huntbach) disclaims responsibility for anything that may be found indirectly from pages to which it links.

The future of this site

This site was first put together in 1998, and reflects the simple style of early web pages built using raw html. Since then there have been huge changes in web technology and the scope and usage of the Java language. The emphasis of this site is intended to be on the simple basics of object-oriented programming, so its style and the approach it takes to Java is still, I hope, relevant. In any case, I don't have time to make radical changes to it.

Java 5 marked a particularly big change in the Java programming language, which had (or should have had!) an impact on even the most introductory teaching of the language. This site does not reflect the impact of those changes, but it marks the point at where I stopped actively working on the site as it would have been too much of a job to update it thoroughly to ensure it was all compataible with Java 5 and later versions of the language.

I will occasionally check and remove dead links or those which have obviously become irrelevant, but old links will stay in otherwise. I am not actively seeking new links, though if while working on other things I do come across a site I think useful and relevant to the aims of this site, I will add a link to it here. The links to other university course pages are a particular feature of this site, but by their nature, they are fast changing, so difficult to keep up to date. Please email me if you come across any dead links, have a link you think really should be included here, or have some other comments.

I have collected a few more links, mainly to university course web pages, on a couple of other pages which are still intended mainly for courses I'm teaching:

University Java programming course web pages

At one time, many university courses on programming made their complete course notes publicly available through the web. This now seems to be less common, with most course sites requiring a password so that only students at the university can access them, but a few are still public.

The emphasis of most of the courses here is to teach programming in general using Java, rather than to teach Java in particular. Most are introductory, some are at an intermediate level. You can find links to course pages for other university courses under university course indexes.

Note When I last checked this list some of the links were still live, some even led to updated course materials, but many were dead. In some cases a a dead link means a change of policy so course material is no longer public, in other cases it means the person teaching the course has moved on and taken down the public material. Sometimes, however, it just means changes in web organisation at the university meaning a different address will get the material and it just needs a little research to find the new address. Right now, I don't have time to update these links, so please just take them as they are.

University of London colleges, and other London universities

  • Matthew Huntbach, Queen Mary, University of London
  • Fintan Culwin, South Bank University
  • Dan Hanley, South Bank University
  • Colin Cooper, Goldsmiths College, University of London
  • Susan Eisenbach, Imperial College, University of London

    Other UK universities

  • Frans Coenen, University of Liverpool
  • Paul Dunne, University of Liverpool
  • Steve Jarvis, University of Warwick
  • University of Birmingham
  • Perdita Stevens, University of Edinburgh
  • Rob Pooley, Heriot-Watt University
  • Arthur Norman, University of Cambridge
  • Leigh Dodds, University of Bath

    Other European universities

  • Jonathan Lambert, National University of Ireland, Maynooth
  • Axel-Tobias Schreiner, University of Osnabrück, Germany
  • René Lalement, Ecole National des Ponts et Chaussées, Marne-la-Vallée, France (in French)
  • Charlie Daly, Dublin City University
  • Clark S. Lindsey, Kungliga Tekniska Högskolan, Sweden
  • David Carr, Luleå University of Technology, Sweden
  • Debora Weber-Wulff, Fachhochschule für Technik und Wirtschaft, Berlin
  • Christophides Vassilis, University of Crete
  • Kristian Torp, Aalborg University, Denmark.

    USA universities

  • Eugene Wallingford, University of Northern Iowa
  • Elliotte Rusty Harold, Polytechnic University in Brooklyn
  • Stephen Wong and Dung Nguyen, Rice University, Houston, Texas
  • Mike Wessler and Lynn Andrea Stein, Olin College, Needham, Massachusetts
  • Richard Baldwin, Austin Community College, Texas
  • Ron Cytron, Washington University in St. Louis
  • David Gries, Cornell University
  • Joshua Hodas, Harvey Mudd College, Claremont, California
  • Samuel Rebelsky, Grinnel College, Iowa
  • Bina Ramamurthy, State University of New York at Buffalo
  • John Sullins, Youngstown State University, Oklahoma
  • Christopher Vickery, Queens College, City University of New York
  • Jason Zych, University of Illinois at Urbana-Champaign
  • Mark Sheldon, Wellesley College
  • Carl Ebeling, University of Washington
  • Manu Kumar, Stanford University
  • Fawzi Emad and Rance Cleaveland, University of Maryland
  • Rebecca Hasti, University of Wisconsin - Madison
  • Dennis Frey and Susan Mitchell, University of Marylnd, Baltimore County
  • Kathryn S McKinley, University of Texas at Austin
  • Shun Y. Cheung, Emory University

    Canadian universities

  • Osmar R. Zaïane, University of Alberta
  • Pierre Marchand, Université Laval, Québec (in French)
  • Jim Rodger, Queen's University, Kingston, Ontario
  • Hafedh Mili, Université du Québec à Montréal (in French)
  • Jonathan Mohr, Augustana University College, Alberta
  • Yves Lespérance, York University, Toronto

    Asian and Australasian universities

  • Charles Teva, RMIT University, Melbourne

    Asian universities

  • Subhashis Banerjee, Indian Institute of Technology, Delhi
  • V. Karthik Kumar, Birla Institute of Science and Technology, Pilani, India

    General resource sites for Java

    Here are some sites with links to Java "Frequently Asked Questions" (FAQ), tutorials, and plenty of other Java resources. Remember, this sort of site is going to contain a lot of material on advanced aspects of Java. So don't feel overwhelmed by the sheer amount of material here. As with the university programming course web pages, these are sites I found useful or interesting when I was actively compiling this list of links. Better but more recent ones will only be added if I happen to come across them, and as I am not actively looking for them any more I may well have missed what are now the best sites.

  • Essential Java Resources A good selection of general Java resources compiled by Ted Neward
  • Oracle Technology Network from the company (Oracle) now responsible for maintenance and development of Java
  • JavaRanch
  • Cafe au Lait
  • JavaWorld with columns on introductory Java here.
  • Java Coffee Break
  • Software Technologies
  • artima.com
  • Code Style oriented towards web development, but has material on basic Java concepts (note some of this site's material requires payment to access).
  • java.net “a common area for interesting conversations and innovative development projects related to JavaTMtechnology”.
  • 40+ Resources to Help You Learn Java Online by SimpliLearn
  • Javarevisited General tips for Java programmers, oriented towards novice an intermediate level programmers
  • Java67 More general tips for Java programmers
  • Java Code Geeks “an independent online community focused on creating the ultimate Java-to-Java developers resource center”, oriented towards more advanced Java programmers
  • Javabeat
  • Gamelan
  • Javacorner (in French)
  • jGuru includes a Java Intro course
  • Network Computing Java Resources Page
  • Java Channel
  • IT Toolbox
  • Java Tips
  • Java Olympus.com
  • Java Applications Programming from FunctionX
  • Gil Hansen's Java Links from Java Metroplex User's Group
  • Java links from Eric Foster-Johnson
  • Java Tutorial for Beginners from Guru 99
  • Focus on Java from About.
  • DevX Java zone
  • Developer's Daily
  • RoseIndia
  • Javamex
  • Javapapers

    Other relevant Java sites

    Here are a few more relevant sites containing material on programming in Java. As with the other sections, this reflects the situation when I was actively working on this page of links. So there may be many very good sites I have missed because I am no longer actively looking for them, and some to those listed here may be outdated or have gone away completely.

    On-line books using Java

    These are books on introductory programming using Java where the complete text is available on-line.

  • Introduction to Programming using Java: An on-line textbook on introductory programming by David Eck.
  • Thinking in Java, 3rd edition by Bruce Eckel (local copy here or without frames here).
  • Interactive Programming in Java an innovative way of introducing programming in Java by Lynn Andrea Stein
  • How to Think Like a Computer Scientist which is actually an on-line book on Java programming by Allen B. Downey
  • On to Java on-line version of the textbook by Patrick Henry Winston and Sundar Narasimhan.
  • Object-Oriented Software Design and Construction with Java by Dennis Kafura, another on-line Java book.
  • Bleeding at the Keyboard by Gregory J.E. Rawlins
  • Programming Principles in Java: Architectures and Interfaces another on-line book in development, this one by Dave Schmidt
  • Data Structures and Algorithms with Object-Oriented Design Patterns in Java: an on-line book by Bruno Preiss
  • The Design Patterns Java Companion on-line book by James W. Cooper
  • JavaTech: Introduction to Scientific and Technical Computing with Java by Clark S, Linsey
  • Structure and Interpretation of Computer Programs an influential programming text book from the MIT Artificial Intelligence Laboratory, though uses Lisp rather than Java
  • The Java Language Specification the official definition of the Java language.
  • A Little Book on Java by Fatima Ahmad and Prakash Panangaden.
  • Beginner Java Tutorial

    Text book sites

    These are given where although the complete text book is not on-line, there is a site accompanying it which contains slides and other useful material. Again, I am no longer actively compiling this list, so new sites will ony be added if I happen to come across them while doing something else.

  • Developing Java Software by Russel Winder and Graham Roberts.
  • An Introduction to Programming and Object Oriented Design using Java a set of slides to accompany the book by Jaime Niño and Fred Hosch.
  • An Introduction to Computer Science using Java another textbook website with slides, book authors are Sam Kamin and Dennis Mickunas.
  • Object Oriented Software Engineering A text book site, moves on from Java to software engineering. Includes slides in French as well as English.
  • Java Software Solutions site (including slides) for textbook by John Lewis and William Loftus.
  • Computing Concepts with Java Essentials by Cay Horstmann
  • Java by Dissection by Ira Pohl and Charlie McDowell
  • Understanding Java by Barry Cornelius.

    Miscellaneous Java links

    Again, I am no longer actively compiling this list, so new sites will ony be added if I happen to come across them while doing something else.

  • JavaLanguage page on WikiWikiWeb
  • Don't fear the OOP: A simple and entertaining introduction to object-oriented programming using Java
  • Introduction to Java by "Selena Sol" of Java Boutique
  • Making sense of Java: a balanced view of Java
  • Java Jargon by Gus Bellingham-Smith
  • The Roles of Variables Home Page with Java-specific page here.
  • Loop patterns
  • Patterns for selection
  • Java Data Structures by "particle".
  • Java reference notes by Fred Swartz Java reference notes by Fred Swartz
  • Du C/C++ à Java Java tutorial aimed at C/C++ programmers in French.
  • Brunel University Java Primer
  • Java Primer from York University, Canada
  • An introduction to Java in German
  • Ryan Stansifer's Notes about the Java Programming Language
  • Krutsch Associates Java notes
  • A Programming Style for Java by Paul Haahr a good introduction to the need to observe good programming style in Java.
  • Fresh Sources Inc. Articles on Java programming by Chuck Allison from the C/C++ Users Journal.
  • Ananda Amatya's Java Notes
  • Java in the Computing Curriculum Conference A series of conferences on using Java in teaching computing.
  • Fluffy Cat Java reference and example site.
  • Java Practices "offers concise presentations of Java practices, tasks, and designs".
  • Java Training Notes from Well House Consultants.
  • Kick Java Java API by example.
  • Java Programming (with Passion) Mainly in more advanced aspects of Java programming, but has an introductory Java programming course.
  • Jakob Jenkov Site is owned and operated by a Danish software development company, Java tutorials are a major feature of it.
  • JR's Java Tutorial by John W.M. Russell, a retired Professor of Mathematics whose primary interest has always been computer programming.
  • Java Beginner introduces Java in a rather random manner.
  • JavaMex Also a bit random, covers some more advanced aspects of Java in a fairly simple way.
  • LiteratePrograms Category: "Programming language:Java" Mainly implementation of well-known algorithms and data structures in Java.
  • CodingBat A site enabling you to practice your Java coding skills on simple problems
  • Why is Java so popular for developers and programmers? by Pearson Frank, a dedicated Java recruitment agency.

    Java books sales sites

    Books available on Java can be found from on-line book sales and publishers' sites. These will generally give you some idea of the contents, and the book sales sites also includes customer reviews.

  • Amazon.com
  • Barnes and Noble
  • Dominant Systems
  • Bookpool.com
  • Addison Wesley & Benjamin Cummings introductory Java programming
  • Addison Wesley Java for professional programmers
  • Prentice Hall Introductory Java.
  • Wiley Intro to CS - Java Programming.
  • O'Reilly
  • Thomson Course Technology
  • McGraw Hill

    Java sites from web-indexers

    Note - this was originally put together when web search was not so dominated by the one site that it is now.

    The Java sections of general web-index sites are generally not as well organised as dedicated Java sites. So what I said about Java resource sites applies even more here.

  • dmoz - Open Directory Project
  • Yahoo
  • Google
  • Alltheweb
  • Best of the Web
  • Mamma.com
  • Mathtools.net
  • Nerd World
  • FindArticles.com
  • Ask
  • Vivismo
  • A9
  • CBEL

    Java question-answering services

    These are sites which promise that questions you send in on Java programming will be answered by an “expert”. You can also see answers to other people's questions. Once again, note much of the material here will be well in advance of, or take a different approach from, what you would find on an introductory course. Also the expertise of some of the “experts” isn't that great.

  • ITworld.com
  • Java Answers Forum
  • DevX.com
  • AllExperts.com
  • jGuru Java Language FAQ
  • Tek-Tips Java Forum
  • esus.com
  • Kasamba
  • GeekInterview
  • FAQTS
  • IT/Developer Network theScripts
  • Nabble
  • Dream in Code
  • Go4Expert

    General resource sites

    This is a selection of general sites on Computer Science included here because they are particularly comprehensive. Useful if you want to look things up that go beyond Java programming.

    Note - I have removed quite a few links that were dead, and updated a few that had relocated. Sites occasionally get added here if I come across them and think them worthwhile, but I haven't engaged in any sort of systematic search to find them.

  • Cetus links contains large number of links on objects and components, but has not been updated since 2002.
  • The Virtual Museum of Computing links related to the history of computing, last updated 2007
  • CiteSeer Computer Science Directory an index to research papers and citations.
  • Stanford Computer Science Library
  • SitePoint Oriented towards programming web applications, but has a general Java section
  • The Higher Education Academy - Information and Computer Sciences: a site about teaching Computer Science at university level.
  • intelligentedu.com: Computer Education, Training, & Tutorial Resources, including Free Java Training and Tutorials.
  • TECFA's Technologies Internet et Education a very full computing resources site, partly in French.
  • Association of C and C++ Users includes book reviews and links on more than just C/C++.
  • geometry “the online learning centre”.
  • webmonkey "the web developer's resource".
  • Programmers Heaven with Java section
  • HTML Goodies here.
  • CompInfo “The Computer Information Center”.
  • Intute Computing Gateway from the Intute site, created by a network of UK universities and partners.
  • On Line Computer Science Degree "a resource for students interested in pursuing a degree in computer science at any level". Contains some basic information (USA-focused), and quite a few useful links on its resources page.
  • Computer Science Online Another general advice site for those thinking of a career in computing which is ok, but is written as if there is no world outside the USA.
  • Object Oriented Programming Web programming and computer science links.
  • Object Mentor “the industry leader in transitioning enterprises, both large and small, to Agile Software Development”, its site has plenty of useful resources.
  • GeekArticles “compiles and disseminates Web programming-related resources”.
  • FAQS.ORG Copies of Linux and general computing documents, and general links.
  • Computer Programming History Contains some general links on computer programming, with an orientation towards those which are about its historical development.
  • A Beginner’s Guide to Programming Languages, from IT Hare, contains links to introductory material on some commonly used programming languages.
  • Free Computer Books Links to books, mainly programming oriented, available for free on the web.
  • The Elementary Patterns Home Page General patterns of code at a level appropriate for students just learning to design and write programs.
  • Computer Hope Very comprehensive information on most topics to do with ordinary use of computers rather than programming.

    Computing societies

    Organisations of professionals involved in computing

  • ACM
  • IEEE Computer Society
  • BCS (The British Computer Society) (see also BCS SPA BCS special interest group in Software Practice Advancement:)
  • IEE (The Institution of Electrical Engineers)
  • Australian Computer Society
  • American Association for Artificial Intelligence
  • Association for Women in Computing
  • USENIX
  • Computing Research Association
  • UK eInformation Group

    University course indexes

    These are sites that can lead you to the course pages for a variety of courses taught in computer science departments throughout the world. University course index sites often change their location and public access policy. When this page was first set up these sites often gave access to the full lecture notes for the courses. Some still do, but there has been a growing trend to make access password protected so that only students registered at the university can see the notes.

  • Web sites of University I.T. courses another list of courses from a range of universities.
  • Kirk Pruhs' algorithms courses page mostly links to pages for the complete set of Computer Science courses for various universities
  • Massachusetts Institute of Technology MIT's official "Open Courseware" page for Electrical Engineering and Computer Science
  • Massachusetts Institute of Technology MIT's current courses in Electrical Engineering and Computer Science
  • Yale University Computer Science courses
  • Cornell University Computer Science course pages
  • Princeton University Computer Science Department course pages
  • Purdue University Computer Science Course Syllabi
  • Duke University Computer Science Courses
  • University of California, Berkeley, Department of Electrical Engineering and Computer Sciences, course home pages
  • Rice University course web pages
  • Brown University Computer Science web pages
  • Montana State University-Bozeman, Department of Computer Science
  • Oregon State University, Classes - Electrical Engineering and Computer Science
  • Harvey Mudd College, Computer Science courses
  • Johns Hopkins University, Computer Science course home pages
  • University of Washington, Department of Computer Science and Engineering, course pages
  • College of Computing, Georgia Tech - Class Web Sites
  • York University Computer Science course archives
  • University of British Columbia, Computer Science
  • University of Auckland, New Zealand, Computer Science course pages
  • University of Cambridge Computer Laboratory, Lecture Course Material
  • University of Edinburgh, Taught courses information, School of Informatics
  • University of Bristol, Department of Computer Science, Teaching page
  • University of Liverpool, Module Notes
  • Software Engineering, ETH, Zurich
  • University of Western Ontario, Department of Computer Science, Instructor Supplied Course Information
  • Brock University, St Catharines, Ontario
  • MacQuarie University, Australia, Department of Computing units
  • Department of Computer Science, University of Cyprus
  • University of Kent, Computing
  • University of Strathclyde, Computer and Information Sciences
  • STS: Institute for Software Systems, Technische Universität Hamburg-Harburg
  • King Fahd University of Petroleum and Minerals, Saudi Arabia
  • Aarhus University, Denmark

    Managing Java files

    When this site was set up to support a course, I used files edited using standard text editors and run on Linux, rather than any sort of Java development environment. So for this historical reason, there are a few relevant links for this here.

    Linux/Unix sites

  • The Linux home page
  • The Linux Documentation Project
  • LinuxCommand.org "Your One-Stop Command Line Shop".
  • Short Guide to Unix from the University of Sheffield.
  • Unix is a Four Letter Word
  • UNIXhelp developed at the University of Edinburgh, including On-line UNIX manual pages
  • Extropia's Unix tutorial
  • Introduction to Unix by Graham Roberts at University College London.
  • unixreview.com web site for Unix Review newsletter.

    Text editor sites

  • XEmacs home page
  • XEmacs tutorial
  • University of Manchester Editors: A simple consumer guide
  • Vi Lovers home page
  • An Introduction to Display Editing with Vi
  • Using the Pico Editor

    Unicode sites

    Unicode is the character set officially used by Java.

  • Unicode home page.
  • A Unicode resource page
  • Unicode chart from Mark Davis.
  • FileFormat.info

    On-line dictionaries/glossaries on computing

    If you come across terms or words used in computing that confuse you, you may be able to find a definition here. Or you may just enjoy browsing the sites.

  • Glossary of Java technology-related terms. Sun's official glossary, contains only very short definitions.
  • FOLDOC the free on-line dictionary of computer terms.
  • Roedy Green's Java and internet glossary.
  • Glossary of Java and related terms by David Barnes
  • The Jargon File a rather more irreverent dictionary of terms used by computer people.
  • Webopedia Slick and commercial, but in many of its definitions, plain wrong.
  • ComputerUser High-Tech Dictionary
  • Netdictionary: a “guide to technical, cultural, and humorous terms related to the Internet”.
  • whatis?com: a useful general resource site as well as a dictionary of IT-related terms.
  • IT Glossary by Thompson Course Technology
  • Category:Computing from Wikipedia
  • CodePedia compiled by volunteers and rather patchy.
  • Computer Hope's Dictionary
  • BFOIT Introduction to Programming Jargon Appendex
  • Stammtisch Beau Fleuve An amusing general glossary, with a lot of computing-related terms, and some links which work.

    Interesting or useful personal web-sites

    Here are some personal web sites I've found interesting/useful. Some are Java related, others are here because they contain a comprehensive collection of useful links, others are here just because I think they contain useful material for new computer scientists to explore.

  • Jeff Atwood writes about coding horror.
  • G.D.Thurman's GDT website contains notes for Java courses and much else.
  • Martijn Verburg co-author with Ben Evans of The Well-Grounded Java Developer, and famous for his satirical (?) talk The Diabolical Developer.
  • Peter Norvig has some comments on programming, and he is co-author of a text-book on Artificial Intelligence along with Stuart Russell.
  • Joseph Bergin has a particular interest in patterns which he applies to Java.
  • Eugene Wallingford is someone else with a particular interest in teaching programming with patterns.
  • Eric S. Raymond is the (in)famous documentor of hacker culture (in the old sense of the word "hacker").
  • Nikolai Bezroukov's site contains vast amounts of slightly skeptical comment on software issues, and plenty of links.
  • Scott Ambler runs a Web Site for Object-Oriented Developers
  • Alex Measday's "All Things Computed" page contains a lot of useful links on computing in general.
  • Brad Appleton's page has links on software engineering and computer science, and also on design patterns for Java and distributed programming.
  • Perdita Stevens has links on software and systems engineering etc.
  • Jose Emilio Labra Gayo's page has a lot of useful links on programming languages in general.
  • Harold Thimbleby's site includes his book on Principles of Interaction Design and much else.
  • Don Norman is a "technology enthusiast annoyed by unnecessary complexity of today's products".
  • Vincent Flander's Web Pages that Suck is "Where you learn good Web design by looking at bad Web design".
  • Richard Stallman is the founder of the GNU Project.
  • Erik Max Francis has some computer science links, and also a good collection of links on artificial life.
  • Jonathan Campbell has a collection of links on programming, pattern recognition, and much else.
  • Bob Keller's web-book "Abstraction to Implementation" is a good introduction to the fundamentals of Computer Science.
  • Tuyêt Trâm Dang Ngoc's page has lots of useful computing links in French.
  • Richard Felder has written a lot of material on science and engineering education
  • Philip Wadler worked on Generic Java (incorporated into standard Java since version 1.5) and has other links, mainly on functional programming.
  • Ed Yourdon is one of the most well-known authors on software engineering.
  • Doug Lea has written on Concurrent Programming in Java.
  • Mordechai Ben-Ari has an interest in Computer Science Education
  • Jan Newmarch has a tutorial on the Jini system, and much else.
  • Mark Humphrys has an interest in computers and the internet and non-symbolic artificial intelligence.
  • Paul Graham writes on programming with an emphasis on Lisp, he also has some comments on nerds.
  • Martin Fowler is an "author, speaker, and consultant on the design of enterprise software".
  • Angelika Langer is an independent freelance trainer in Java and C++.
  • Jakob Jenkov is a software developer whose site includes tutorials on Java and related topics
  • Heinz Kabutz produces a "highly technical" Java Newsletter.
  • Joel Spolsky writes about "software development, management, business, and the Internet".
  • Allen Holub writes articles on Java and object-oriented programming.
  • Esmail Bonakdarian has some good links for students.
  • Aaron Sloman is one of the most respected figures in artificial intelligence, and also has views on things such as computing education.
  • Vince Huston has an Intro to Java section, and more on design patterns and problem solving.
  • Todd VerBeek lists alternatives to Microsoft, and also has a page on programming languages.
  • H. Conrad Cunningham has a comprehensive collection of course notes on programming.
  • Betrand Meyer is one of the pioneers of object oriented programming.

    Study skills and general help sites

  • How Stuff Works: the computer section here may also help answer some basic questions.
  • SparkNotes.com Study guide written by "Harvard students and graduates", has a Computer Science section oriented towards algorithms and data structures.
  • The alt.usage.english site. Useful general resources can be found from here, as well as material for those with a deeper interest in the English language.
  • The Mathematical Atlas A resource site for mathematics.
  • Problem Solving in Introductory Computer Science
  • Dr Ah-Clem's webpages for students
  • Links to a Better Education: links on study skills, note-taking and general tips for students.
  • Study Skills On-line by Martin Greenhow of Brunel University.
  • Greater University Tutoring Service
  • Doc Whiz's Home Page I particularly appreciate his 40 ways to P.O. the Prof
  • Success in Mathematics the study skills tips here apply just as much to Computer Science.
  • How to Succeed in Computer Science originally given as an induction talk at Queen Mary

    The Real World

    Finally, one day you'll have to go out and get a job in the "real world" (unless you become an academic like me ...). Here are some relevant links:

  • Graduate Developer Community Set up by recruiters and technical consultants "to help bridge the gap between the academic, open source and commercial worlds of the software development community".
  • JobStats the current state of the UK computing job market.
  • Skills Matter "supports a community of 35,000 Software Professionals with the learning and sharing of skills to write better software".
  • How to be a Programmer a long essay on the non-technical aspects of being a programmer.
  • Java Developer's Journal "The World's Leading Java Resource"
  • ADTmag.com Application Development Trends magazine website.
  • Computer Weekly website of one of the longest established UK computer trade magazines.
  • Dr. Dobb's Journal of Software Tools for the Professional Developer
  • Bitwise Magazine "a free online magazine for technically literate computer users".
  • IBM developerWorks "tools, code & tutorials for open standards-based development" with section on Java technology.
  • SourceForge "the global technology community’s hub for information exchange, open source software distribution and services, and goods for geeks"
  • ZDNet.co.uk Technology news and blogs
  • The Register "Biting the hand that feeds IT".
  • Software Reality "lively articles and debates about software development, mixed in with lashings of humour and drollery".
  • Sponsors for Educational Opportunity (SEO) London "a not-for-profit organisation that every year provides hundreds of outstanding undergraduate students from under-represented ethnic minority backgrounds the unique opportunity to gain summer internships at the most prestigious investment banks, professional service firms and corporate law firms in the UK."
  • siliconindia "Global Source For Business And Technology" (with an Indian focus)
  • Technojobs (Java section) - plenty of jobs for Java programmers, site also has useful IT and engineering links.
  • CareerJet information and technology section, a UK based jobs search site.
  • I, Cringely a column on information technology issues hosted by the USA's Public Broadcasting Service
  • O'Reilly Network "the source for open and emerging technologies".
  • Annoyances.org since in the real world we can't ignore the existence of Windows®.
  • Nut's produced by SUMit a software house from Gouda (the Dutch city famous for cheese).
  • Dilbert "provides the best window into the reality of corporate life I've ever seen" (a leading business consultant).
  • User Friendly Dilbertesque, but more techie-oriented.
  • Helen, sweetheart of the internet "Comic about a 'forthright, brilliant and tyrannical, beautiful computer geek' and her friends".
  • Piled Higher and Deeper "provides the best window into the reality of postgraduate life I've ever seen" (me)
  • Adrian Hilton's Computer Humour
  • Geek Chic "This page rocks it to the max, dude!".
  • Nice cup of tea and a sit down with some nice biscuits.
  • Faith and Hope Cards
    Matthew Huntbach
    A slight update was last done on: 7 August 2018