Object Oriented Programing
Abstract Data Types

(Academic year 2011/2012)

Alessandra Russo

Course code: C120.2 (for Comp1) and MC126 (for JMC1)


These lecture notes are designed for the second part of the course Object Oriented Programming given to first year undergraduate students at Imperial College. The first half of this course is taught by Alastair Donaldson. His lecture notes are electronically available on CATE. The second part of this course (taught by myself) covers introduction to Abstract Data Types and their implementation in Java. This material covers 10 lecture hours and 4 tutorial hours.

Aims & Learning Outcomes Prerequisites Books Lecture Notes Tutorials



Aims

The aims of this second part of the course are: Learning Outcomes

Upon completion of these 10 lecture hours you will have acquired an in-depth knowledge of:
  • Basic principles, main features and operations of abstract data types, in particular of lists, stacks, queues, trees, binary search trees, heaps, and hash tables. Fundamental algorithms associated with the above data types, including tree traversal and heapsort.
  • Java implementations of abstract data types using different approaches, and evaluation of their differences. Be able to use abstract data types and related implementations in designing and implementing efficient solutions to application problems.


  • Prerequisites

    This second part of the course builds upon:
  • Programming (taught in the first term)
  • The first part of this course

  • Books
  • Absolute Java (3rd Edition), by Walter Savitch, Addison Wesley, 2007.
  • Java Software Solutions, Foundation of Program Design (5th Edition) , by John Lewis and William Loftus, Addison Wesley, 2007.
  • Data structures and Algorithms in Java, by Peter Drake, Prentice Hall, 2006.
  • Data Structures and Abstractions with Java, by Frank M. Carrano, Prentice Hall, 2007.


  • Lecture Notes
    Tutorials

    Valid HTML 4.01! Valid CSS!


    This page was last updated on: 12 February   2012.