Unit name | Programming and Algorithms 2A |
---|---|
Unit code | COMS10004 |
Credit points | 10 |
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 |
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 fundamental competence, confidence and agility as programmers, and are able to handle and implement some key algorithms efficiently. The unit introduces the concepts of object orientation exemplified on Java; this paradigm complements existing student knowledge in procedural and functional programming. Some fundamental graph and search algorithms are discussed alongside their implementation. First principles of software engineering 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 small application using Java.
Successful completion of this unit will enable students to:
16 lectures supported by a combination of programming labs, problem classes, seminars and project work
70% coursework Java project; 30% Viva oral examination, plus formative lab assessments
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