Course co-ordinator(s): Marko Doko (Edinburgh), Dr Marta Vallejo (Edinburgh), Huseyin Kusetogullari (Dubai).
Aims:
- 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
Detailed Information
Course Description: Link to Official Course Descriptor.
Pre-requisites: Programming skills in a language such as C or Java..
Location: Dubai, Edinburgh.
Semester: 1.
Syllabus:
- 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)
- Basic appreciation of role of different programming paradigms in programming/managing systems
- Understanding of core characteristics of contemporary operating systems
- 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
SCQF Level: 10.
Credits: 15.