F21AS Advanced Software Engineering

Prof Michael LonesLucine Gharibian

Course co-ordinator(s): Prof Michael Lones (Edinburgh), Swaraj Dash (Edinburgh), Lucine Gharibian (Dubai).

Aims:

  • To consolidate proficiency in imperative programming and software development
  • To further develop object oriented programming and object oriented design methods
  • To provide knowledge of simple data structures and algorithms
  • To introduce concurrent programming techniques
  • To instil understanding of the concepts and benefits of advanced software engineering methods
  • To give further practical experience of the use of UML in software engineering
  • To give practical experience of developing a substantial software engineering team project
  • To enable the deployment of patterns in software engineering

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: Knowledge of Java programming and software engineering at undergraduate level.

Linked course(s): F21SF Software Engineering Foundations .

Location: Dubai, Edinburgh.

Semester: 2.

Syllabus:

  • Data structures: stacks, queues, lists, priority queues, binary trees
  • Algorithms: searching (linear and binary) and sorting
  • Advanced object oriented design techniques
  • Thread based programming: thread creation and interaction, shared variables and synchronisation
  • Methodologies in software engineering practice; Unified Modelling Language; design patterns;
  • Project planning and management in software engineering;
  • Comparison of agile and plan driven approaches

SCQF Level: 11.

Credits: 15.