Study-Unit Description

Study-Unit Description


CODE IFS0410

 
TITLE Advanced Programming and System Design

 
UM LEVEL 00 - Mod Pre-Tert, Foundation, Proficiency & DegreePlus

 
MQF LEVEL 4

 
ECTS CREDITS 5

 
DEPARTMENT Engineering and ICT

 
DESCRIPTION This study-unit addresses in greater detail the core elements of programming as well as Object Oriented programming. Software design and development methods (including different data types, assignment and use of variables, conditional and relational operators, iteration and recursion, precedence, operators, string literals, expressions using primitive and mixed data types, input objects, final variables, type compatibility and casting, pre-incrementation and post-incrementation) are covered in detail. The unit will also include the use of arrays and lists in stacks, queues, linked and linear lists, Binary trees, Pointers, the difference between Static and Dynamic data structures, Hash tables, list and tree handling, as well as standard search and sort algorithms.

Different programming paradigms and their domains will be discussed with particular reference to the difference between object oriented and imperative programming.

Various techniques in representing algorithms and logic such as flowcharts, decision tables, structured text and pseudo-code, as well as the main stages of the systems development life cycle are revisited in more detail with a practical approach.

Study-unit Aims:

The aim of this unit is give the student a foundation in programming and software design as a basis for further progression in the field of ICT. It aims to develop the student’s practical skills in programming, using both imperative and Object oriented approaches, data structures and algorithms to solve more complex problems together with the application of software design techniques and systems development methods. The unit also aims to give the theoretical underpinnings relative to the concepts and techniques involved.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:
- Explain fundamental programming elements such as - variables, control structures, data structures, algorithms;
- Describe the basic elements and principles of object oriented programming;
- Outline the differences between different programming paradigms;
- Describe the need for method in the design of software systems;
- Explain the value and application of various design techniques to capture different elements of software systems.

2. Skills:

By the end of the study-unit the student will be able to:
- Develop programs to solve different problems using simple and complex data structures, standard search and sort algorithms, files, classes and objects;
- Apply appropriate design techniques such as entity relationship diagrams, class diagrams and data flow diagrams to specific aspects of a software system;
- Breakdown the development of a complex software application into manageable steps using the phases of the software development life cycle.

Main Text/s and any supplementary readings:

Deitel, H. & Deital, P. (2012). Java: How to Program. Prentice Hall. ISBN - 13:978-8120345027 / ISBN - 10:8120345029.

Avinash, K. (2003). Programming with Objects: A Comparative Presentation of Object Oriented Programming with C++ and Java. Wiley-Blackwell. ISBN -13:978-0471268529 / ISBN -10:0471268526.

 
ADDITIONAL NOTES Please note that a pass in the Examination component is obligatory for an overall pass mark to be awarded.

 
STUDY-UNIT TYPE Lecture and Practical

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Practical SEM2 No 20%
Project SEM2 No 20%
Examination [See Add. Notes] (2 Hours) SEM2 Yes 60%

 
LECTURER/S Carl Camilleri

 

 
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