Software Engineering

Hans-Petter Halvorsen

Project Q&A Start 

Course Overview

Today, modern teaching principles goes from being lecture based to becoming more student active. At the same time, new forms of education means more collaboration and problem solving. This course is organized as a project, so-called PPBL, Project and Problem Based Learning, ie, learning occurs through a large group project and there are minimal traditional lectures. The focus is on project and problem-based learning, so-called active learning, as opposed to passive and one-way learning methods as traditional lectures are.

Practical application of knowledge is emphasized in this course. The course also uses elements from so-called Flipped Classroom, ie you should read theory and cyllabus in the form of books, compendium, watching videos, etc., on your own before the class session (generally be prepared) so that classroom time can be used for interactive learning and guidance, such as discussions, group work, project work, problem solving, etc. We may also refer to these teaching principles as Education 3.0. This means in this course we move away from traditional lectures to having class time be spent on discussions and projects, using modern digital technology. This requires active participation from you from start to finish! You need to be prepared for class activities reading the textbooks, watch videos, etc. before the class activities starts.

Learning, progress and follow-up during the course are ensured that the project is divided into managble week assignments that defines curriculum, focus, goals, tasks and workload from week to week.

The project counts 60% of the grade, while an individual oral exam (40%) tests basic knowledge obtained through the project and the course as a whole. The total expected workload should be 270 hours.

Video: Introduction to this course in Software Engineering:

Software Engineering Course Overview

Link to Course Plan

Software Engineering

Software Engineering is the profession of the Development and Management of High Quality Software Systems within given Time and Cost frames. We have 6 main parts or phases in Software Engineering: I. Software Planning, II. Software Requirments Analysis, III. Software Design, IV. Software Implementation, V. Software Testing and VI. Software Deployment and Maintenance, see figure below:

Video: Introduction to Software Engineering:

Software Engineering Overview


Course Syllabus, Teaching Outcome, Workload and Assessments


The following textbooks will be used in this course:

Software Development - A Practical Approach (Free PDF download)

Software Engineering (I. Sommerville). You can, e.g., buy it here: Adlibris (and many other places). You can also buy or rent it as an ebook.


Additional Textbooks and Resources:

Online Textbooks from Safari Books Online (the University has a subscription, so you can use it for free!):

Essentials of Software Engineering (Frank Tsu et al.)

Software Engineering (Saikat Dutt, et al.)

Other Sources:


Course Schedule

Course Registration (first time only!) Quiz System

Office Hours: Tuesdays 10:15-14:00 and Fridays 10:15-14:00 @ Room C-139a

Software Engineering Topics - Week by Week

Time Topics Work
Part I - Planning
Week 2 1. Project Kick-off and Planning

Fri 11.1

Project Start & Project List

Introduction/Select Project
Week 3 1. Project Kick-off and Planning (cont.) Week Assignment

Tue 15.1

Start Working on the Project

Fri 18.1 cont. Quiz
Time Topics Work
Part II - Requirements Engineering
Week 4 2. Requirements Engineering Week Assignment

Tue 22.1

Planning Review

Fri 25.1 cont. Quiz
Time Topics Work
Part III - Software Design
Week 5 3. Database Systems Week Assignment
Tue 29.1 Requirements Engineering Review
Fri 1.2 cont. Quiz
Week 6 4. Unified Modeling Language (UML) Week Assignment
Tue 5.2 Database Review

Fri 8.2 Work with Project Quiz
Week 7 5. Software Development Processes and Scrum Week Assignment
Tue 12.2 UML Review Scrum Meetings  
Fri 15.2 Work with Project Quiz
Time Topics Work
Part IV - Implementation
Week 8 6. Software Platforms (Winter holiday and UKA2019) Week Assignment

Tue 19.2

Software Development Processes Review
Sprint Review Meeting   Sprint Retrospective
Alpha Release!
Fri 22.2 Work with Project Sprint Planning

Week 9 7. Software Architecture Week Assignment

Tue 26.2

Platform Review


Fri 1.3

Work with Project Quiz
Week 10 8. Software Implementation Week Assignment

Tue 5.3

Software Architecture Review  
Fri 8.3

Work with Project

Week 11

9. Source Code Control/Bug Tracking

Week Assignment

Tue 12.3

Software Implementation Review

Fri 15.3

SCC Review Quiz
Week 12

Work with Project


Tue 19.3

Work with Project

Fri 22.3

Work with Project


Time Topics Work
Part V - Software Testing
Week 13

10. Software Testing - Test Planning

Week Assignment
Tue 26.3 Start Testing Beta Release!
Fri 29.3 cont. Quiz
Testing cont.
Week 14

11. Software Testing - Test Execution

Week Assignment
Tue 2.4 Sprint Review Meeting  Sprint Retrospective  
Fri 5.4 Sprint Planning Quiz
Time Topics Work
Part VI - Deployment and Maintenance
Week 15 12. Software Documentation Week Assignment
Tue 9.4 Make Final Documentation  
Fri 12.4 Work with Project Quiz
Week 16 Easter
Tue 16.4 Easter  
Fri 19.4 Easter
Week 17

13. Software Deployment & Maintenance

Week Assignment
Tue 23.4 Software Documentation Review
Scrum Meetings
Fri 26.4 Work with Project Quiz RC Release!
Time Topics Work
Project Delivery
Week 18 Work with Project
Tue 30.4  
Fri 3.5 Final Deadline HTML Web Site with Documents, Videos, etc. Final Software Delivery!
Week 19 No Teaching/Examination Period
Tue 7.5 Presentation & Demo! (Max 30 min/team)  
Fri 10.5
Week 20 No Teaching/Examination Period  
Tue 14.5 Individual Examination! (Max 15 min/student)  
Fri 17.5    

Teaching staff:  Hans-Petter Halvorsen (HPH), Olav Dæhli (OD), Nils-Olav Skeie (NOS)

Questions and Answers (Q&A)

In this Forum everybody can ask Questions, answer Questions, give Tips and Tricks, etc. regarding Software Engineering. Please use Full Name and Picture.