Syllabuses - UG

CS275 - Programming: Data Structures and Algorithms

TIMETABLETEACHING MATERIAL
Credits20
Level2
SemesterTerm 1, Term 2
AvailabilityAvailable to participants taking BSc Digital and Technology Solutions.
PrerequisitesCS112 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 BreakdownA mixture of asynchronous online activity and compulsory/optional synchronous tutorials which take place each week (24 weeks).
Items of Assessment6
AssessmentThe class is assessed by 4 practical programming tests and 2 class tests.
LecturerStuart 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