Document not found! Please try again

CS2310 Data Structures and Algorithms with Java

40 downloads 260 Views 178KB Size Report
Oct 26, 2010 ... systematic software development and in the design of modern software ... working with data structures, eg for sorting and searching.
CS2310 Level: 2

Data Structures and Algorithms with Java Credits: 10

Teaching Period: 1

Module Tutor: Dr S Wong

Aims The module will provide a broad understanding of the central role that data structures and associated algorithms play both in systematic software development and in the design of modern software development environments such as that offered by Java. Students will gain practical ability in selecting and effectively deploying appropriate data structures, coupled with an understanding of the internal design and implementation of data structures, and an understanding of the algorithms used in working with data structures, eg for sorting and searching. An introductory study of time and space complexity will support students’ ability to make well informed choices of data structures and algorithms. Content Review of object-oriented design, emphasising encapsulation and abstraction Abstract data types (ADTs) and the Java Collections Framework Generic classes Definition and implementation of a range of ADTs: sets, stacks, queues, lists, maps, trees Data structures and algorithms as ADT implementation techniques: Arrays, linear linked structures, trees, hash tables Recursion: principles; recursive data structures and algorithms Algorithms for data structure access, update and traversal Sorting and searching algorithms (naive and realistic) Time and space demands of implementation techniques and algorithms Case studies illustrating applications of data structures and algorithms, including XML, XML Schema and JAXB Teaching 2 hours lectures and 1 hour lab class per week for 11 week Assessment Written exam: 75% (1.5 hours, January) Practical assignment: 20% Lab quizzes: 5% (requires attendance at scheduled class) Module outcomes What the student should gain from successful completion of the module

Teaching/Learning Methods

Knowledge and Understanding Definition of a range of ADTs and their role in software development Concrete data structures and algorithms relevant to ADT implementation Java language support for ADTs

Lectures and recommended reading

Intellectual Skills Able to select and apply: Suitable ADTs, within a principled software development process Suitable ADT implementations, based on appropriate criteria

Lectures, practical work Exam and assessed practical work

Professional/Subject-Specific Skills Use the Java Collections Framework, including generic types Write Java code for manipulating linked structures Enhanced skill in Java coding in general Write well-formed XML documents Process data on XML documents

Practical work Systematic use of Java documentation Lectures and recommended reading

Assessment Methods Exam and quizzes

Assessed practical work Exam and quizzes

Transferable Skills Learning resources http://java.sun.com/docs/books/tutorial/collections/index.html J Lewis & J Chase, Java Software Structures (2nd edition), Addison-Wesley, 2005 M A Weiss, Data structures and problem solving using Java (4th edition), Pearson, 2010. B D McLaughlin & J Edelson, Java & XML (3rd edition), O'Reilly, 2006. K H Goldberg, XML (2nd edition), Peachpit Press, 2009 Other study requirements to take this module Dr A J Beaumont

Last update 26/10/2010

Dr A J Beaumont

Last update 26/10/2010