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 |
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.
Successful completion of this unit will enable students to:
2 lectures per week supported by a combination of programming labs, problem classes, seminars and project work
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.
Any introductory book on Java and JavaScript programming can be used.