Skip to main content

Unit information: Programming and Algorithms II in 2014/15

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 platforms as diverse as the web, robots or mobiles 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 implement key algorithms efficiently. The unit introduces the concepts of object orientation and scripting exemplified on Java and JavaScript; these paradigms complement the students’ knowledge in procedural and functional programming. Fundamental graph and search algorithms are discussed and evaluated alongside their implementation making use of standard data structures from software libraries. Principles of software engineering across language paradigms are introduced 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 basic social network application built in stages using several programming languages.

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. Analyse, design and program in an object-oriented manner
  3. Apply good software engineering and development techniques
  4. Understand. implement and evaluate some fundamental graph and search algorithms using and evaluating standard library software
  5. Collaboratively implement a small software system in an agile manner using several programming approaches and languages

Teaching Information

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

Assessment Information

100% coursework consisting of two assignments assessing both the theoretical and practical content of the unit and involving a combination of software development and report writing.

Reading and References

Any introductory book on Java and JavaScript programming can be used.

Feedback