BSC G610 Computer Games,
BSC G612 Computer Games (Including Year Abroad),
BSC G620 Computer Games (Including Foundation Year),
BSC I610 Computer Games (Including Placement Year),
BSC G400 Computer Science,
BSC G401 Computer Science (Including Year Abroad),
BSC G403 Computer Science (Including Foundation Year),
BSC I101 Computer Science (Including Placement Year),
MSCIG402 Computer Science,
MSCII100 Computer Science (Integrated Masters, Including Placement Year),
BENGGH46 Computers with Electronics (Including Foundation Year),
BENGGH4P Computers with Electronics,
BENGGH4Q Computers with Electronics (Including Year Abroad),
BENGI1H6 Computers with Electronics (Including Placement Year),
BSC G1G4 Mathematics with Computing (Including Year Abroad),
BSC G1G8 Mathematics with Computing (Including Foundation Year),
BSC G1GK Mathematics with Computing,
BSC G1IK Mathematics with Computing (Including Placement Year),
BSC I1G3 Data Science and Analytics,
BSC I1GB Data Science and Analytics (Including Placement Year),
BSC I1GC Data Science and Analytics (Including Year Abroad),
BSC I1GF Data Science and Analytics (Including Foundation Year),
BENGH615 Robotic Engineering,
BENGH616 Robotic Engineering (Including Year Abroad),
BENGH617 Robotic Engineering (Including Placement Year),
BENGH618 Robotic Engineering (Including Foundation Year),
BSC G111 Computing,
BSC G112 Computing (Including Year Abroad),
BSC G113 Computing (Including Placement Year),
BSC GH01 Computing and Electronics,
BSC GH02 Computing and Electronics (Including Year Abroad),
BSC GH03 Computing and Electronics (Including Placement Year),
BSC GH3P Computing and Electronics (Including Foundation Year),
BSC LG01 Economics with Data Science,
BSC LG02 Economics with Data Science (Including Year Abroad),
BSC LG03 Economics with Data Science (Including Placement Year),
BSC LG04 Economics with Data Science (Including Foundation Year),
BSC H717 Robotics,
BSC H718 Robotics (including Placement Year),
BSC H719 Robotics (including Year Abroad),
BSC I400 Artificial Intelligence,
BSC I401 Artificial Intelligence (Including Foundation Year),
BSC I402 Artificial Intelligence (including Placement Year),
BSC I403 Artificial Intelligence (including Year Abroad)
Data structures and algorithms lie at the heart of Computer Science as they are the basis for the efficient solution of programming tasks. In this module, students will study core algorithms and data structures, as well as being given an introduction to algorithm analysis and basic computability.
The module will give students core algorithmic skills that are required for Years 2 and 3 of the Computer Science degree schemes.
The aims of this module are to study core algorithms and data structures, as well as an introduction to algorithm analysis and basic computability. Students will study data types such as stacks, queues, trees and graphs, make efficient use of core data types in Java, understand time and space complexity, write and explain commonly used algorithms, use a variety of different data structures, and understand the concepts of computability and complexity.
After completing this module, students will be expected to be able to:
1. Demonstrate an understanding of core data types such as stacks, queues, trees, and graphs.
2. Implement core data types in Java and write programs that make efficient use of them.
3. Reason about the time and space complexity of programs.
4. Demonstrate knowledge of commonly used algorithms.
5. Make informed decisions about the choice of data structure or algorithm for solving a problem.
6. Explain the main concepts of computability and how some problems have no algorithmic solution.
Outline Syllabus
. Data types
Abstract data types
Lists, stacks, queues, trees, sets, graphs
. Algorithms
Divide and conquer
Sorting and searching
Algorithms: binary search trees, minimum cost spanning trees, shortest paths, parse trees
Algorithm analysis: time and space complexity
. Basic computability, incomputable functions and the halting problem