Algorithms and Data Structures (IT) by hcj


									Algorithms and Data Structures (IT)

Semester 2

Requirements of entry
Further Programming

    To study the concept of algorithms, and how to analyse their efficiency.
    To study the concept of abstract data types, and the abstract data types most
     commonly used in software development.
    To study the basic data structures most commonly used to represent these
     abstract data types, together with algorithms operating on these data structures.

Intended learning outcomes
    Understanding of the concepts of algorithms and algorithm complexity; ability
      to understand algorithms expressed in a suitable notation; familiarity with
      basic insertion, deletion, searching, merging, and sorting algorithms; ability to
      implement these algorithms in a suitable programming language; knowledge
      of the complexity of these algorithms.
    Knowledge of when and how to use recursion in algorithms and programs.
    Understanding of the concept of an abstract data type (ADT); ability to
      understand ADTs specified informally; ability to design, specify, and
      implement ADTs; familiarity with standard ADTs (strings, stacks, queues,
      lists, sets, maps, trees, graphs); knowledge of how to decide which ADTs are
      suitable for use in particular programs.
    Familiarity with data structures commonly used to represent the above ADTs
      (arrays, linked lists, search trees, hash tables); ability to implement these data
      structures in a suitable programming language; knowledge of how the
      complexity of ADT operations is affected by the choice of data structures.

Summative assessment
 Assessment Type Weighting
 Coursework       0.3
 Examination      0.7

Course texts and required reading
Java Collections, Watt and Brown

To top