20 credits at level HE5
This module aims to provide students with a solid introduction to the data structures, algorithms and programming constructs necessary for the development of software of complexity or utility. It builds on the concepts introduced in Programming and Design (CST1206 as well as introducing Abstract Data Types) as a unifying concept.
Designing and creating user defined ADTs.
The use, selection and implementation of data structures in the development of applications.
Design and implement algorithms for the manipulation of data held in data structures.
Using language specific libraries of data structures including specific constructs and features needed to access and manipulate the data structure
Awareness and ability to use of a range of ADTs e.g. stacks, queues, linked lists, trees etc.
Awareness of algorithms for sorting data stored in a data structure
Recursion and its use with data structures
This module will be delivered using 50/50 split between lectures and laboratory sessions.
The practical element of the session will require students to perform a number of programming tasks related to the syllabus. These tasks will be used for formative assessment of the student and enable the students to gauge their own progress. In the lecture students will be expected to contribute to group/class disscussions related to the techniques/structures used, alternative approaches and problems encountered.
NB Where this module is offered online (via BoltOnline) lectures and seminars delivered by Elluminate.
when you have successfully completed this module you will:
to demonstrate that you have achieved the learning outcome you will:
|1.||Design and implement suitable ADTs for a particular purpose||Create software using data structures you have designed and implemented to solve a problem based on a given scenario|
|2.||For a given OO (object orientated) language use a range of standard ADTs (stack, queue etc) for a particular purpose||Create software by selecting appropriate data structures and algorithms from standard to solve a problem based on a given scenario|
|3.||Create and use a range of algorithms to manipulate data in a data structure for a particular purpose||Select, create and use algorithms to solve a problem based on a given scenario|
|4.||Use appropriate techniques to persist data in a data structure||Create software that will save and restore OO data held in a data structure to a non-volatile medium|
Your achievement of the learning outcomes for this module will be tested as follows:
|Description||A number of programming exercises to demonstrate practical programming skills and knowledge of the topics||Create software using a range of data structures (standard and user defined) to solve a problem scenario|
Before taking this module you must have successfully completed the following:
No restrictions apply.
Java Programming: Program Design including Data Structures by D.S.Malik (2006) Thomson
Data Structures and Algorithms in Java 4th Ed by Michael T Goodrich (2005) Wiley
Object Oriented Data Structures usin Java 2nd Ed by Nell Dale (2006) Jones and Bartlett
Data Structures and Algorithms in Java 4th Ed by Robert Lafore (2003) Wiley
Objects, abstraction, data structures and design by Elliot B Koffman (2004) Wiley
The Algorithm Design Manual by Steven S. Skienna (1999) Springer S. Skienna
Data Structures and Algorithms by J.A. Storer (2001) Birkhauser Boston
|Host Subject Group:|
|User Name||Date Accessed||Action|