F28PB Software Development B

John SeeDr Abdullah Almasri

Course co-ordinator(s): John See (Malaysia), Dr Abdullah Almasri (Malaysia).

Aims:

To develop further skills and techniques in programming in a high-level language.

Detailed Information

Pre-requisites: none.

Location: Malaysia.

Semester: 1.

Syllabus:

static structures tables
linear techniques e.g. search, delete, update
string & text processing
dynamic structures - stacks & queues
recursive techniques linear recursion, accumulation recursion
sorting & searching e.g. binary search, quicksort, merge sort, hash tables
linked structures lists construction, traversal, delete, update
linked structures trees construction, traversal, delete, update, balance
file processing
introductory complexity (e.g. "big O" notation)
• further error handling

Learning Outcomes: Subject Mastery

To further appreciate the importance of the design and maintenance of code.
To understand properties of and algorithms for fundamental static, dynamic and linked data structures.
To know when to deploy fundamental data structures and algorithms in practical problem solving.
To gain mastery of fundamental linear and recursive programming techniques.
To know when to deploy linear and recursive programming techniques in practical problem solving.
To understand fundamental techniques for processing very large data sets from files.
To gain skill in elementary analyses of fundamental algorithms and data structures to give insight into their time
and space complexity bounds.
To understand correspondences between different programming techniques.
To understand correspondences between different data structures and algorithms.
To make effective usage of version control in software development tasks.

Learning Outcomes: Personal Abilities

To understand how the choice of algorithms and data structures determines the efficacy of proposed solutions
to problems.
To be able to explain the implications of choosing particular algorithms and data structures for the time and
space behaviour of solutions.
Understanding of the importance of regular working habits (pdp).
Understanding of the use of chatboards and other devices to learn from and instruct others in the class (pdp).
Ability to compare and evaluate the applicability of simple data structures and code design choices to relevant problems (pdp).

Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.

SCQF Level: 8.

Credits: 15.