Completed and passed MM-1XX Programming 1 Automation and Gaming
On successful completion of the course, the students should:
Be able to plan, document, implement and test larger programs.
Be able to use version control.
Have knowledge of paradigms such as procedure-based, object-oriented, and functional programming.
Be able to develop object-oriented programs.
Understand inheritance and dependency injection.
Have knowledge of different design patterns in software development.
Know details of agile working methods and tools.
An introduction is given to programming principles with a focus on structuring larger programs with the help of object-oriented thinking. The focus is on understanding the advantages and weaknesses associated with structural choices. Simple ways of thinking from functional programming are also taught.
Planning, estimation, and documentation of software projects are taught using agile project processes such as Scrum, Kanban etc. with associated tools.
The focus is on using programming as a tool together with existing programs to simplify and improve work tasks.
The course is a combination of lectures, discussions, and lab assignments.
The expected scope of work for the average student is 135 hours.
Assessment methods and criteria
Portfolio examination. Graded assessment.
The study program manager, in consultation with the student representative, decides the method of evaluation and whether the courses will have a midterm- or end of term evaluation, see also the Quality System, section 4.1. Information about evaluation method for the course will be posted on Canvas.