Introduction to Data Structures and Algorithms module (CS12002)

Learn to design algorithms and study common data structures. Use recursion and create multithreaded applications in Java.

Credits
20
Module code
CS12002
Level
1
Semester
Semester 2
School
School of Science and Engineering
Discipline
Computing

In this module, you will learn and implement commonly used data structures in computing, using them to develop efficient and effective solutions to practical problems.

What you will learn

In this module, you will:

  •  study commonly used data structures, such as linked lists, stacks, queues, sets, and binary trees
  • implement data structures from scratch
  • implement data structures using predefined libraries
  • learn about algorithm design and implementation, including recursive programming techniques
  • explore multithreaded programming and Graphical User Interfaces (GUIs)

By the end of this module, you will be able to:

  • define and implement commonly used data structures in programming
  • compare and contrast data structures
  • compose efficient solutions to problems through appropriate data structure designs
  • design and apply algorithms
  • understand the difference between iterative and recursive algorithms, and use them appropriately
  • develop multithreaded applications and GUIs

You will also develop your Java skills and gain valuable experience in programming and software development.

Assignments / assessment

  • Data Structure Program (30%)
  • Team Project (30%)
  • Exam (40%)

This module has a Qualifying Fail condition which means that you must achieve a pass in the coursework (being a weighted average of all coursework grades combined) and a pass in the Exam in order to pass the module overall.

Teaching methods / timetable

You will learn by taking a hands-on approach. This will involve taking part in tutorials and practical sessions.

Learning material is provided through videos, review notes, examples, and tutorial questions, including software development presentations and demonstrations.

Week Topics covered
1 Linked lists
2 Stacks
3 Queues
4 Sets
5 Recursion
6 Binary trees
7 Java GUIs
8 Project work
9 Project work
10 Project work
11 Project presentations / revision
12 Revision

Courses

This module is available on the following courses: