Skip to main content

Unit information: Programming and Algorithms II in 2015/16

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
Pre-requisites

COMS10002 Programming and Algorithms I

Co-requisites

none

School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

Developing software for diverse platforms increasingly requires an agile understanding and use of various programming approaches. The main aim of this unit is to ensure that students develop competence, confidence and agility as programmers, and are able to handle and effectively implement some key algorithms. The unit introduces the concepts of object orientation and scripting exemplified on Java and JavaScript; these paradigms complement existing student knowledge in procedural and functional programming. Fundamental graph and search algorithms are discussed alongside their implementation making use of standard data structures from software libraries. First principles of software engineering and testing are discussed across language paradigms and illustrated by good example. The theoretical content of the unit is complemented by incremental software development in small groups with the objective to construct a client-server application built in stages.

Intended Learning Outcomes

Successful completion of this unit will enable students to:

  1. Program with competence, confidence and agility across different languages and paradigms such as in Java and JavaScript
  2. Program in an object-oriented manner
  3. Apply basic software engineering, development and testing techniques
  4. Understand and implement some fundamental graph and search algorithms
  5. Collaboratively implement a small software system in an agile manner using several programming languages

Teaching Information

2 lectures per week supported by a combination of programming labs, problem classes, seminars and project work

Assessment Information

85% - programming courseworks; 15% - viva oral examination; plus formative lab assessments

Reading and References

The unit does not rely on a particular textbook. However, reading suggestions include the following two books:
- Head First Java (by Kathy Sierra and Bert Bates), 2nd Edition, O'Reilly Media, ISBN 0596009208
- Java Precisely (by Peter Sestoft), 2nd Edition, MIT Press, ISBN: 9780262693257

Feedback