Theory & Practice of Programming - COM00007C

« Back to module search

  • Department: Computer Science
  • Module co-ordinator: Dr. Lilian Blot
  • Credit value: 20 credits
  • Credit level: C
  • Academic year of delivery: 2016-17

Module occurrences

Occurrence Teaching cycle
A Autumn Term 2016-17 to Summer Term 2016-17

Module aims

The aims of this module are to:

  • to gain an understanding of theoretical and practical aspects of algorithm and data structure design
  • to be familiar with theoretical tools for understanding algorithm and data structure complexity
  • to develop an understanding of the basic concepts of software engineering
  • to apply theoretical concepts in a practical setting

Module learning outcomes

Students should be able to:

  • Demonstrate the ability to select and apply of a variety of algorithms and data structures suited to each given problem
  • Understand issues of complexity with respect to algorithms
  • Demonstrate competence in programming through the development of a significant application
  • Demonstrate the ability to extend and edit existing large programs
  • Demonstrate appropriate software testing strategies
  • Demonstrate effective use of support tools such as debugging, documentation tools and programming environments

Assessment

Task Length % of module mark
Practical
Theory & Practice of Programming - Programming Exercise
N/A 50
University - closed examination
Theory & Practice of Programming (TPOP)
1 hours 50

Special assessment rules

None

Reassessment

Task Length % of module mark
Practical
Theory & Practice of Programming - Programming Exercise
N/A 50
University - closed examination
Theory & Practice of Programming (TPOP)
1 hours 50

Module feedback

Feedback will be provided on an informal basis weekly during the practical laboratory sessions. In addition, the formative assessments in Autumn and Spring terms will provide written feedback to each student.

Key texts

*** Skiena, S, The Algorithm Design Manual, Springer, 2008

*** Bradley N. Miller, David L. Ranum, Python Programming In Context, 2ed, Jones and Bartlett, 2013

** Abelson, Sussman and Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1996

** Mehlhorn and Sanders, Algorithms and Data Structures: The basic tool box, Springer, 2008

** Cormen et al., Introduction to Algorithms, MIT Press, 2001

** A. Levitin, Introduction to the Design and Analysis of Algorithms (2nd or 3rd ed), Pearson, 2012



The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on Approval of Modifications to Existing Taught Programmes of Study.