![[The University of Leicester]](http://www.le.ac.uk/corporateid/departmentresource/000066/unilogo.gif) | Department of Mathematics & Computer Science |
 |
Next: CO1006 Software Engineering and Professional Practice
Up: Year 1
Previous: CO1003 Program Design
CO1004 Algorithms and Data Structures
Credits: 20 |
Convenor: Dr. N. Measor |
Semester: 2 |
Prerequisites: |
essential: CO1003 |
|
Assessment: |
Coursework: 40% |
Three hour exam in May/June: 60% |
Lectures: |
36 |
Problem Classes: |
none |
Tutorials: |
none |
Private Study: |
78 |
Labs: |
24 |
Seminars: |
none |
Project: |
none |
Other: |
none |
Surgeries: |
12 |
Total: |
150 |
Subject Knowledge
Aims
This module teaches advanced features of the Java language which
require sophisticated design techniques and algorithms.
Learning Outcomes
Students should be able to:
understand advanced object-oriented techniques such as
inheritance and interfaces;
understand Graphical User Interface concepts and the
event-driven model of programming;
construct simple GUIs and applets in Java.
understand the fundamental types of structured and dynamic
data structure, their specification as abstract data types, and
their implementation in Java.
understand some of the main algorithms for
processing dynamic datatypes, and to be able to write Java
programs using these algorithms.
Methods
Class sessions, recommended textbook,
worksheets, feedback from markers and extensive
web support.
Assessment
Marked coursework, written examination.
Subject Skills
Aims
Produce written work in a number of different formats; analyse
problems, formulate strategies to solve them, design a plan, carry
out the required research, implement and evaluate the solution;
recognise the need for information, and then locate and access
that information.
Learning Outcomes
Students will learn to develop object-oriented programs to satisfy
problems of moderate complexity. This will involve analysis of the
problem and the development and implementation of suitable
solution strategies.
Methods
Class sessions, worksheets with feedback from markers.
Assessment
Marked coursework, written
examination.
Explanation of Pre-requisites
Since its purpose is to lead the student on to more advanced
programming concepts, the module assumes that CO1003, Program
Design, has already been taken.
Course Description
The purpose of the module CO1004 is to take the student beyond the
elementary parts of the Java language as covered in CO1003,
introducing advanced features of the language which require
sophisticated design techniques and algorithms if they are to be
used effectively. The module leads on to the second year modules
CO2006, Software Engineering and System Design, and CO2004, Design
and Analysis of Algorithms.
Syllabus
- Advanced object-oriented concepts: inheritance, interfaces, abstract
classes.
- Structured data objects: stacks, linked lists, queues, hash
tables,trees.
- Abstract data types and their implementation in Java.
- Graphical User Interfaces and their implementation in Java.
- Event-driven programming in Java.
- Introduction to applets.
- Algorithms to handle structured data objects: arrays; sorting and searching.
Reading list
Essential:
C. Thomas Wu,
An Introduction to Object-Oriented Programming with Java, 3rd edition,
McGraw-Hill.
Recommended:
R. Pressman and D. Ince,
Software Engineering -- a Practitioner's Approach,
European 5th edition,
McGraw Hill.
Recommended:
W. J. Collins,
Data Structures and the Java Collections Framework,
McGraw-Hill.
Background:
I. Sommerville,
Software Engineering, 5th edition,
Addison-Wesley.
Background:
U. Manber,
Introduction to Algorithms: a Creative Approach,
Addison-Wesley.
Resources
Departmental web page, text book web site, study guide,
worksheets, handouts, lecture rooms computer projection facilities
and OHPs, past examination papers.
Module Evaluation
Course questionnaires, course review.
Next: CO1006 Software Engineering and Professional Practice
Up: Year 1
Previous: CO1003 Program Design
Author: N. Rahman, tel: +44 (0)116 252 3902
Last updated: 2003-09-23
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.