Skip to main content

Unit information: Programming and Algorithms II in 2016/17

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Programming and Algorithms II
Unit code COMS10001
Credit points 20
Level of study C/4
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Burghardt
Open unit status Not open

COMS10002 Programming and Algorithms I



School/department Department of Computer Science
Faculty Faculty of Engineering


Developing software for diverse platforms increasingly requires an agile understanding and use of various programming approaches. The main aim of the unit is to ensure that students develop competence, confidence and agility as a programmer, and become able to comprehend and analyse some key algorithms. The unit will familiarise students with key intellectual tools to implement and analyse algorithms – quick code is no good if the algorithm it implements is slow! For instance, we look at algorithmic complexity and validity using classic algorithms like sorting. The object oriented programming paradigm will be studied and Java will be introduced as an example language. In conjunction, first principles of software engineering will be studied across language paradigms and illustrated by good example. Theoretical content is complemented by incremental software development in increasingly complex projects.

Intended learning outcomes

Successful completion of this unit will enable students to:

  • Comprehend and analyse some key algorithms w.r.t. validity and complexity
  • Program with competence, confidence and agility in Java
  • Program in an object-oriented manner
  • Understand the basics of software design patterns
  • Apply basic software engineering, development and testing techniques
  • Collaboratively implement a small software system

Teaching details

An average of 3 lectures per week; supported by programming labs (which should last no less than 2 hours)

Assessment Details

50% coursework and 50% exam

Reading and References

The unit does not rely on a particular textbook. However, reading suggestions include the following books:
- Head First Java by Kathy Sierra and Bert Bates, 2nd Edition, O'Reilly Media, ISBN:0596009208
- Head First Design Patterns by Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra, O'Reilly Media, ISBN: 0000596007124
- Java Precisely by Peter Sestoft, 2nd Edition, MIT Press, ISBN: 9780262693257
- Introduction to Algorithms by Cormen, Leiserson, Rivest, Stein, 3rd Edition, MIT Press ISBN: 978-0262533058