Study-Unit Description

Study-Unit Description


CODE CIS1101

 
TITLE Data Structures with Java Objects

 
UM LEVEL 01 - Year 1 in Modular Undergraduate Course

 
MQF LEVEL 5

 
ECTS CREDITS 4

 
DEPARTMENT Computer Information Systems

 
DESCRIPTION This study-unit is an intensive introductory course in implementation of dynamic data structures using objects rather than plain data. Object oriented language chosen is Java but the concepts are applicable to any other object oriented language. The accent is given to the understanding of key algorithms, learning of programming techniques and writing well-designed, structured programs. The study-unit aims to cater also for students with little programming skills raising them to the desirable standard. The Java programming language is used (for the benefit of free compiler and support classes as well as a pre-requisite for later Object Oriented programming).

Topics in brief:
- Introduction to the Object Oriented paradigm (Class and Object, encapsulation, abstraction, inheritance and polymorphism);
- Case study scenario with objects, packaging and compilation of linear structures and objects;
- Recursion as a technique used for non-linear data structures;
- Dynamic data structures with objects (lists, circular lists, stacks, queues, circular queues, binary trees), heterogeneous data structures;
- Java Collections (Sets, Lists, generic collections);
- Object Streams.

The accent is given to the implementation and getting practical programming experience with the data structures rather than making them a subject of study (this will be done in different study-units).

Study-unit Aims:

To support knowledge of dynamic data structures and algorithms taught theoretically by implementing them programmatically hence being able to observe their operations. Another aim is to teach students how to manipulate objects on the dynamic data structures.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:

- Describe concept of pointers and dynamic memory as a storage for dynamic data structures;
- Explain structures and operations of dynamic data structures as well as algorithms of their typical operations;
- Understand class and object, concepts of inheritance and polymorphism;
- Understand concept of storing data structures on;
- Appreciate possibility of storing heterogeneous objects on dynamic structures;
- Learn functionality and services of standard collections and generic collectioms and be able to compare them with user created dynamic data structures.

2. Skills:

By the end of the study-unit the student will be able to:

- Develop essential, below specified, linear and non-linear dynamic structures as object oriented application programs in Java language;
- Design and implement linear dynamic structures with objects: list, circular list, stack, queue, circular queue;
- Design and implement non-linear dynamic structures with objects: Tree and Binary Search Tree;
- Create methods for population of a particular structure from the content of other (different) data structure;
- Use standard Collections and populate them with both simple data and objects;
- Store collections on Java stream (a file of objects on persistent media);
- Test the developed applications and deploy them in a modular form (packages).

Main Text/s and any supplementary readings:

- K Litwak Pure Java 2 SAMS, ISBN 0-672-31654-4
- D S Malik and P S Nair Data Structures using Java Course Technology ISBN 0-619-15950-2
- P Naughton The Java Handbook Osborne, ISBN 0-07-882199-1.

 
ADDITIONAL NOTES Knowledge required: Any procedural programming paradigm

 
STUDY-UNIT TYPE Lecture

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Assignment Yes 25%
Examination (2 Hours) Yes 75%

 
LECTURER/S Vitezslav Nezval

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit