Skip to main content
Home

Information for:

  • Alumni
  • Applicants
  • Current Students
  • Staff
  • Job Vacancies
  • Covid-19
  • Cymraeg
My country:

Main Menu

    • Study Options
      • Study Home
      • Why Study at Bangor?
      • Undergraduate Study
      • Postgraduate Taught Study
      • Postgraduate Research
      • Part-time Courses
      • January Start Courses
      • Degree Apprenticeships
      • Study Abroad
      • Work Experience
    • Study Advice
      • Apply
      • Already Applied?
      • Fees and Finances
      • Scholarships and Bursaries
      • Get Ready for University
    • Explore Bangor
      • Virtual Open Days and Visits
      • Virtual Student Experience

    Find a Course

    Order a Prospectus

    • Student Life
      • Student Life Home
      • Bangor and the Area
      • Social Life and Entertainment
      • Accommodation
      • Clubs and Societies
      • Sport
      • Virtual Student Experience
    • Your Experience at Bangor
      • Student Support
      • Skills and Employability
      • Study or Work Abroad
      • Fees and Finances

    Welcome 2021

    Student Profiles

    Student Videos and Vlogs

    • Choose Bangor
      • International Home
      • Why Bangor?
      • Location
      • Student Support
      • Contact Us
    • Apply
      • Entry Requirements
      • Tuition Fees and Scholarships
      • How to Apply
      • Already Applied
      • Study Abroad
      • Exchanges

    January Intake Courses

    Country Specific Information

    Bangor University International College

    Covid-19 Information

    • Research
      • Research Home
      • About Our Research
      • Research in our Academic Schools
      • Research Institutes and Centres
      • Research Portal
      • Research, Innovation and Impact Office (RIIO)
      • Energy
      • Research News
    • Postgraduate Study and Research Opportunities
      • Postgraduate Research Study
    • Events and Training Opportunities
      • Researcher Development
    • The University
      • About Us
      • Our Mission
      • Our Location
      • Academic Schools and Colleges
      • Services and Facilities
      • University Management and Governance
      • Vice Chancellor's Office
      • Working with Business
      • Working with the Community
      • Sustainability
      • Contact Us
    • Working for Us
      • Job Vacancies
    • University Management and Governance
      • Policies and Procedures
      • Slavery and Human Trafficking Statement
    • University and the Community
      • Pontio
      • Sports Facilities
      • Conference Facilities
      • Places to Eat and Drink
      • Public Events
      • Widening Access
      • Services to Schools
    • Business Services
      • Business Services Home
    • Collaboration Hub
      • Collaboration Hub
      • Funding for Collaborative Research and Development (R&D) & Innovation
      • Business Facilities and Networks
      • Consultancy, Specialist Expertise and Knowledge
      • Commercialisation and Intellectual Property (IP)
      • Student Placements and Internships in Business & Enterprise
      • Training and Continuing Professional Development
      • Degree Apprenticeships
    • Conferencing and Business Dining
      • Conferencing Facilities
      • Business Dining
    • Contacts
      • Research, Innovation and Impact Office (RIIO)
      • Get In Touch
    • News
      • Current News
      • Research News
      • Student News
    • Events
      • Events

    • Study Options
      • Study Home
      • Why Study at Bangor?
      • Undergraduate Study
      • Postgraduate Taught Study
      • Postgraduate Research
      • Part-time Courses
      • January Start Courses
      • Degree Apprenticeships
      • Study Abroad
      • Work Experience
    • Study Advice
      • Apply
      • Already Applied?
      • Fees and Finances
      • Scholarships and Bursaries
      • Get Ready for University
    • Explore Bangor
      • Virtual Open Days and Visits
      • Virtual Student Experience

    Find a Course

    Order a Prospectus

    Covid-19 information

    • Student Life
      • Student Life Home
      • Bangor and the Area
      • Social Life and Entertainment
      • Accommodation
      • Clubs and Societies
      • Sport
      • Virtual Student Experience
    • Your Experience at Bangor
      • Student Support
      • Skills and Employability
      • Study or Work Abroad
      • Fees and Finances

    Welcome 2021

    Student Profiles

    Student Videos and Vlogs

    • Choose Bangor
      • International Home
      • Why Bangor?
      • Location
      • Student Support
      • Contact Us
    • Apply
      • Entry Requirements
      • Tuition Fees and Scholarships
      • How to Apply
      • Already Applied
      • Study Abroad
      • Exchanges

    January Intake Courses

    Country Specific Information

    Bangor University International College

    Covid-19 Information

    • Research
      • Research Home
      • About Our Research
      • Research in our Academic Schools
      • Research Institutes and Centres
      • Research Portal
      • Research, Innovation and Impact Office (RIIO)
      • Energy
      • Research News
    • Postgraduate Study and Research Opportunities
      • Postgraduate Research Study
    • Events and Training Opportunities
      • Researcher Development
    • The University
      • About Us
      • Our Mission
      • Our Location
      • Academic Schools and Colleges
      • Services and Facilities
      • University Management and Governance
      • Vice Chancellor’s Office
      • Working with Business
      • Working with the Community
      • Sustainability
      • Contact Us
    • Working for Us
      • Job Vacancies
    • University Management and Governance
      • Policies and Procedures
      • Slavery and Human Trafficking Statement
    • University and the Community
      • Pontio
      • Sports Facilities
      • Conference Facilities
      • Places to Eat and Drink
      • Public Events
      • Widening Access
      • Services to Schools
    • Business Services
      • Business Services Home
    • Collaboration Hub
      • Collaboration Hub
      • Funding for Collaborative Research and Development (R&D) & Innovation
      • Business Facilities and Networks
      • Consultancy, Specialist Expertise and Knowledge
      • Commercialisation and Intellectual Property (IP)
      • Student Placements and Internships in Business & Enterprise
      • Training and Continuing Professional Development
      • Degree Apprenticeships
    • Conferencing and Business Dining
      • Conferencing Facilities
      • Business Dining
    • Contacts
      • Research, Innovation and Impact Office (RIIO)
      • Get In Touch
    • News
      • Current News
      • Research News
      • Student News
    • Events
      • Events

Information for:

  • Alumni
  • Applicants
  • Current Students
  • Staff
  • Job Vacancies
  • Covid-19
My country:

Search

Close

Breadcrumb

Share this page:
  • Twitter
  • Facebook
  • LinkedIn
  • Cymraeg

Share this page:
  • Twitter
  • Facebook
  • LinkedIn

Join us on a Virtual Open Day

Book Now

Order a Prospectus

Order Now

Chat to our staff and students

Connect through Unibuddy

Module ICP-2027:
Data Structures and Algorithms

Module Facts

Run by School of Computer Science and Electronic Engineering

10 Credits or 5 ECTS Credits

Semester 2

Organiser: Dr Ik Soo Lim

Overall aims and purpose

To allow students to use, select, implement and analyse a range of common abstract data types and algorithms.

Course content

• Data Types, Abstract Data Types, Theory, implementations and uses of stacks, queues, lists, trees, graphs, hash tables, binary search trees. Constraints and Trade offs (time vs. space). • Criteria for algorithms. Recursive algorithms: Towers of Hanoi. Data processing algorithms: sorting and searching. Graph theoretic algorithms: traversal, shortest path. • Efficiency measures for time and space: rates of growth; asymptotic behaviour, big-O notation. Algorithm complexity classes (P, NP, NP-complete).
• New versions of algorithms, moral problems and dilemmas of updating an algorithm, moral responsibility of correctness. And understanding how to result ethical problems of algorithm and data structure development.

Learning outcomes mapped to assessment criteria

  threshold

40%

good

60%

excellent

70%

Use complexity analysis to assist in the selection and design of algorithms.

Can rank big-O complexity classes correctly. Can state the complexity of basic algorithms. Can select algorithms appropriately. Can calculate complexity for simple cases. Understands the nature of NP-complete and computationally impossible problems. Can calculate complexity for complex cases (divide and conquer).

Understand the ethical issues of algorithms and the responsibility of the developer.

Explain areas where moral dilemmas may occur, such as updating an underlying data structure or locating an error in a current algorithm. Able to discuss various issues and provide realistic solutions and well formed argument. Able to discuss various ethical issues, where they may occur.

Show an understanding of the design and implementation of a selection of common algorithms.

Can select and implement an appropriate algorithm for a problem. Can describe the basic operation of the given algorithms. Can design and implement new algorithms based on the given ones.

Show an understanding of a selection of common Abstract Data Types (ADTs) by appropriate selection and manipulation.

Can select an appropriate ADT and implementation for a given problem taking into account the trade offs involved. Can implement the given data structures. Can state basic definitions of DT and ADT. Can describe the structures of the given ADTs and their basic uses. Knows the difference between static and dynamic implementations. Can design and implement new data structures based on the given ones.

Assessment Methods

Type Name Description Weight
Examination 60
Assignment 1 20
Assignment 2 20

Teaching and Learning Strategy

Hours
Lecture

Interactions via questions-and-answers.

20
Private study 40
 

ASSESSED assignments, including tutorial questions, problems, essays etc.

40

Transferable skills

  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
  • Presentation - Able to clearly present information and explanations to an audience. Through the written or oral mode of communication accurately and concisely.
  • Argument - Able to put forward, debate and justify an opinion or a course of action, with an individual or in a wider group setting
  • Self-awareness & Reflectivity - Having an awareness of your own strengths, weaknesses, aims and objectives. Able to regularly review, evaluate and reflect upon the performance of yourself and others

Resources

Resource implications for students

Hard copies of the main course text are available at the library. On-line access to the highly recommended book is available.

Talis Reading list

http://readinglists.bangor.ac.uk/modules/icp-2027.html

Reading list

Main Course text: Java collections: an introduction to abstract data types, data structures, and algorithms - David A. Watt, Deryck F. Brown c2001

Highly Recommended: Introduction to algorithms - Thomas H. Cormen 2010, c2009

Recommended: Probability and Computing, by Michael Mitzenmacher and Eli Upfal, Cambridge University Press.

Courses including this module

Compulsory in courses:

  • H612: BEng Computer Systs Eng (3 yrs) year 2 (BENG/CSE)
  • H61B: BEng Computer Sys Engineering (4yr with Incorp Foundation) year 2 (BENG/CSE1)
  • G400: BSC Computer Science year 2 (BSC/CS)
  • G40B: BSc Computer Science (4 year with Incorporated Foundation) year 2 (BSC/CS1)
  • H64B: BSc Computer Sys Engineering (4yr with Incorp Foundation) year 2 (BSC/CSE1)
  • H603: BSc Computer Systems Engineering year 2 (BSC/CSENG)
  • GN41: BSC Computer Science for Business year 2 (BSC/CSFB)
  • GN4B: BSc Computer Science for Business (4 year with Incorp Found) year 2 (BSC/CSFB1)
  • I102: BSc Computer Science (with International Experience) year 2 (BSC/CSIE)
  • GW49: BSC Creative Technologies year 2 (BSC/CT)
  • H661: MEng Control and Instrumentation Engineering year 2 (MENG/CIE)
  • H617: MEng Computer Systs Eng (4 yrs) year 2 (MENG/CSE)
  • H619: MEng Computer Systems Engineering (with International Exper) year 2 (MENG/CSEIE)

Home

Study

  • Undergraduate Study
Home

Follow Us

  • Twitter
  • Facebook
  • Instagram
  • Youtube
  • LinkedIn

Bangor University

Bangor, Gwynedd, LL57 2DG, UK

+44 (0)1248 351151

marketing@bangor.ac.uk

Visit Us

Maps & Directions

Policy

  • Legal Compliance
  • Modern Slavery Act 2015 Statement
  • Accessibility Statement
  • Privacy and Cookies
Map

Bangor University is a Registered Charity: No. 1141565

© 2020 Bangor University