DAT113-G Software Development 1, DAT201 Algorithms and Data Structures or equivalent.
Learning outcomes
On successful completion of the course, the student will be able to
- Explain the implementation of basic programming concepts
- Apply programming concepts to solve problems
- Select a meaningful programming model for a given problem
- Program in Prolog, Scala, and ACT ONE, and use protocol buffers
- Solve problems using different programming models
- Compare features of programming languages
Course contents
Functional programming and Scala, Concepts of data types and coding, Declarative programming and Prolog, Syntax and Semantics, Computability, Subprograms, Exeptions, Runtime environments, Distributed Programming.
Teaching methods
Lectures, group projects and lab exercises. The course covers programming in several languages and use of related software. Students develop their own programs to solve the given tasks. Some of the exercises are done in groups of appropriate size.
Parts of the course are run as intensive weeks. Estimated workload for the average student is 27 hours per credit.
Examination requirements
Approved mandatory lab exercises as announced in LMS.
Assessment methods and criteria
Portfolio assessment with adjusting oral examination. Graded assessment. Information about the content of the portfolio will be given in the LMS by the start of the semester.
Evaluation
The study programme 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.