This is a list of my courses at the Salzburg University of Applied Sciences. Resources (slides, links, excercises, …) are available through the Mediacube Wiki.
Full information about the bachelor and master degree programs, can be found on the official website.
Frontend development 1
Frontend development 2
Contents: Front end for mobile web, offline functionality, MV* framework (e.g. Ember, Backbone or Angular), Canvas vs. SVG, managing dependencies, testing, the latest developments and tools.
Web Production Workflows
Students know the specifics of web workflows and are able to use agile methods in web projects. They are familiar with the advantages and disadvantages of pair programming and are able to work in pairs with different people. They are able to use a distributed version control system within a team of developers: branching, merging and writing log notifications. They develop in small sections which are each separately checked in. They know why development, staging and production servers are required in web development, are familiar with the workflow and can successfully develop, push and deploy. They know various types of automated tests and can write unit tests for models. They can use a SCRUM board (real and virtual). They can formulate user stories and acceptance criteria.
Contents: Agile methods, XP, SCRUM, pair programming, version control with git, test-driven development. Development, staging and production servers, deployment, user stories.
They are able to install and configure a production web server with virtual hosts and SSL, and are familiar with their configuration files, log file and folders. They can use tools to supervise the operation of the server and alert them in the case of downtime. They can configure a load balancer.
Contents: UNIX, web server Apache(plus possible alternatives), monitoring, load balancer.
They know complex concepts and advanced theories from the compulsory elective 1 and can apply these in a specialist reflected bachelor thesis to the concrete tasks of an interdisciplinary multimedia project. They are aware of the latest specialist literature and possible research literature on the topics relevant to the interdisciplinary multimedia qualification.
Contents: Supporting the bachelor thesis 2; linking practical problems to theoretical background knowledge, possible link to current research.
Client-side web engineering
Content: Web components, different variations of MVC patterns, one-way/two-way data binding, websocket, WebRTC, local storage, indexdb, pouchdb, current developments inECMAScript, transpiler, performance metrics, mobile, current topics.
Students are familiar with techniques, processes and tools which optimise the roll-out process of web applications and enable the automatic, fast and reliable release of new software versions. They have an understanding of the tasks involved in development, test, integration and productive environment and can implement test automation, continuous integration and continuous installation.
Content: Automation, continuous integration (e.g. Jenkins), deploymentstrategies (cloud, on-premise, container/virtualisation), DevOps, infrastructure as code, test automation, dependency management, configuration management, security, *aaS.
Scalable web architectures
Students are familiar with concepts and architectures for scalable web applications and can assess which architecture a web application requires. They are able to plan a web application and develop and supply this with continuous delivery. They can monitor the performance of a web application on various levels and correctly diagnose problems and set measures to rectify these.
Content: Multi-tier, message queues, service oriented architecture and microservices. logging,profiling, monitoring, C10k problem, The Twelve Factor App.
Students put idea approaches from the teaching module Multimedia Masters Project: Development & Presentation into practice in the form of software prototypes and evaluate the results with view to applicability and further development for masters projects. Relevant programming languages and frameworks from the fields of Game & Simulation Engineering and Web Engineering are used. Content: Technology selection and implementation coaching.