DAT251 Modern Software Development Methods
Course description for academic year 2020/2021
Contents and structure
The students shall learn about and get hands-on experience with selected modern methods in software development as well as getting an understanding on how to do research on software engineering.
The course focuses on methods and techniques for development of software systems, focusing especially on agile methods. Topics include design principles and patterns, agile project management, practices and tools, and automatic testing. There will also be given an introduction to research on software engineering.
Learning Outcome
On successful completion of this module, students should be able to:
Knowledge:
- Describe the values, principles and practices in agile software development
- Discuss, assess and compare various elements of software development
- Discuss various aspects of research on software engineering
Skills:
- Develop software using Test Driven Development, including the use of mock objects
- Support a product owner in applying Automatic Acceptance Testing
- Set up and apply a Continuous Integration Environment
- Manage a software project using an Agile Method Framework like Scrum or XP
- Pinpoint Code Smells and violation of Design Principles, and suggest improved solutions
- Utilize design principles, patterns and refactoring techniques to obtain flexible, loosely coupled, cohesive, readable, testable, DRY, clean, well designed code
Entry requirements
General requirements for admission to the programme.
Recommended previous knowledge
Programming skills corresponding to the course DAT102 Data Structures and Algorithms (HVL) or the course INF102 Algorithms, Data Structures and Programming (UiB).
Software development expertise corresponding to the courses DAT108 Advanced Programming and Web Applications and DAT109 Software Development (HVL) or INF101 Object-oriented programming and INF112 Software Engineering (UiB) is also strongly recommended.
Teaching methods
Hands-on lab-exercises. A software development project. Paper reviews. Lectures.
Compulsory learning activities
A number of mandatory assignments in the form of labs, meetings, written reports, oral presentations. NB! Lab attendance may be mandatory.
The assignments must be submitted within set deadlines and must be approved before examination can take place.
Approved assignments are valid for the examination semester and 2 following semesters.
Assessment
5 hour written examination.
Time and place for the examination will be announced at Studentweb and the digital assessment system (WiseFlow).
The examination is digital and the students bring their own PC/MAC. The software used for the examination must be installed and tested before the examination.
Grading scale is A-F where F is fail.
If there are few registered students, the exam could be oral. The type of exam will be announced in reasonable time.
Examination support material
None
More about examination support materialCourse reductions
- MOD251 - Moderne systemutviklingsmetodar - Reduction: 10 studypoints