Course SummaryThis course is taught by Prof. Paul Hilfinger in University of California, Berkeley. It covers fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. The course includes an introduction to the Java programming language. A good set of lecture notes is available for this course.
Reading Material1. Head First Java, 2nd Edition
Sierra and Bates, Head First Java, 2nd Edition, O’Reilly, 2005, ISBN 9780596009205
(Click the button below to see a preview of the book)
2. Pragmatic Unit Testing in Java with JUnit
Hunt and Thomas, Pragmatic Unit Testing in Java with JUnit, The Pragmatic Bookshelf, 2004, ISBN 9780974514017
3. The Java Language Specification, Third Edition
James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java Language Specification, Third Edition, Addison-Wesley Professional, 2005
(Click the button below to see a preview of the book, 2nd edition)
Course Material1. Documentation on software tools - Emacs, GJDB, Subversion (382 KB pdf)
2. Data Structures (Into Java) - Paul Hilfinger (1.4 MB pdf)
3. Emacs Quick Guide (43 KB pdf)
4. Assorted Materials on Java - Paul Hilfinger (606 KB pdf)
Other ResourcesNot available.
Software1. GNU Emacs
GNU Emacs is an extensible, customizable text editor and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
A Java IDE but Eclipse is now an open source community whose projects are focused on building an extensible development platform, runtimes and application frameworks for building, deploying and managing software across the entire software lifecycle.
Discussion ForumFor discussion on this topic, please go to the relevant forum for Data Structures. Click the button below to open the forum page in a new window.