The aim and the purposes of this course to enable students to develop practical approach in following topics:
19 Computational thinking and problem-solving : Algorithms and Recursion
20 Further programming : Object-Oriented Programming (OOP)
How the performance of a binary search varies according to the number of data items
Write algorithms to implement, find, insert and delete an item in linked list
Write algorithms to implement, find, insert and delete an item in binary tree
Write algorithms to implement, find, insert and delete an item in stack
Write algorithms to implement, find, insert and delete an item in queue
Describe the following ADTs and demonstrate how they can be implemented from appropriate builtin types or other
ADTs: stack, queue, linked list, dictionary, binary tree
Essential features of recursion.
How recursion is expressed in a programming language.
When the use of recursion is beneficial
Use of stacks and unwinding
understanding of the terminology associated with OOP (including objects, properties, methods, classes, inheritance,
polymorphism, containment (aggregation), encapsulation, getters, setters, instances
understanding of how to solve a problem by designing appropriate classes
understanding of and ability to write code that demonstrates the use of OOP