F20SC Industrial Programming

Dr Hans Wolfgang LoidlSmitha Kumar

Course co-ordinator(s): Dr Hans Wolfgang Loidl (Edinburgh), Smitha Kumar (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

Assessment Methods:

Assessment: Coursework: (weighting – 70%) Class Tests: (weighting - 30%)
Re-assessment:  None

SCQF Level: 10.

Credits: 15.