CS275 - Programming: Data Structures and Algorithms
TIMETABLE | TEACHING MATERIAL |
Credits | 20 |
Level | 2 |
Semester | Term 1, Term 2 |
Availability | Available to participants taking BSc Digital and Technology Solutions. |
Prerequisites | CS112 Programming 1 or a good understanding of Java programming (e.g. being able to understand and implement the programming concepts that are introduced in CS112). |
Learning Activities Breakdown | A mixture of asynchronous online activity and compulsory/optional synchronous tutorials which take place each week (24 weeks). |
Items of Assessment | 6 |
Assessment | The class is assessed by 4 practical programming tests and 2 class tests. |
Lecturer | Stuart Gale |
Aims and Objectives
The aim of the class is to further participants’ skills in object-oriented programming, provide knowledge of key abstract data types along with their implementation and usage, as well as an analytical and empirical appreciation of the behaviour of algorithms and the use of abstract data types.
Learning Outcomes
On completion of this class, participants will be able to:
- understand and implement a range of fundamental abstract data types;
- understand a number of essential algorithms that are closely associated with these data types;
- make a critical assessment of the performance of different implementations of algorithms and abstract data types;
- appreciate a number of fundamental computational problems, and be aware of real-world instances of those problems.
Syllabus
The class will begin with a short revision of the concepts covered during year 1, CS112 Programming 1, e.g. Java basics, base types, objects, special types, selection, iteration, input/output, object-oriented design, inheritance, interfaces, abstract classes, exceptions. The following topics will then be covered.
1. ADTs: Lists, Stacks, Queues, Sets, Trees, Graphs, Maps. Collections. Generics. Iterators.
2. Algorithms: Searching and Sorting. Graph Traversal Algorithms.
3. Efficiency and Complexity of Algorithms and Data Structures
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Recommended reading will be made available via Myplace, the University's VLE.
Participants will develop the following transferable skills:
- problem-solving skills;
- programming skills.
Last updated: 2024-08-07 16:16:01