- To develop proficiency in contemporary industrial programming languages and platforms;
- To enable the elaboration and combination of system components in different languages;
- To enable an agile and flexible response to changes in industrial practices;
- To enable participation by industrial practitioners to provide context and applicability.
Pre-requisites: Programming skills in a language such as C or Java..
Location: Dubai, Edinburgh.
- Programming in a modern general purpose language e.g. C#, C++11
- Programming for concurrency using state-of-the-art libraries and language extensions
- Rapid prototyping in a major scripting language with associated libraries and frameworks e.g. Python, PHP, Ruby, Lua
- Coverage of advanced language features where languages have been met in earlier courses
- Foresight of emerging programming language technologies
- Practical experience with standard environments (Unix, Windows), virtual machines (.NET) and tools (e.g. compilers, debuggers, libraries, shell)
Learning Outcomes: Subject Mastery
Understanding, Knowledge and Cognitive Skills Scholarship, Enquiry and Research (Research-Informed Learning)
- Critical appreciation of role of different programming paradigms in programming/managing systems
- Autonomous problem analysis/solution
- Critical understanding of core characteristics of contemporary operating systems and virtual machines
- Detailed knowledge of key abstractions across programming languages
- Technical proficiency in advanced language techniques in different programming paradigms
Learning Outcomes: Personal Abilities
Industrial, Commercial & Professional Practice Autonomy, Accountability & Working with Others Communication, Numeracy & ICT
- Ability to choose/deploy/combine appropriate languages, architectures and tools
- Ability to employ an agile approach to software development
Assessment: Coursework: (weighting – 100%) Class Tests (weighting - 30%)
Re-assessment: Coursework: (weighting – 100%)
SCQF Level: 11.