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.