Software Engineering

Hans-Petter Halvorsen

Project   Microsoft Teams 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

 

Do you have Questions, need Help or need to Communicate? - In this course Microsoft Teams will be used for communication, questions, guiadance, assistance, etc. Very often someone else is wondering about the same as you - or perhaps someone else has experienced the same thing and found a solution for the problem? Need help outside normal office hours? Perhaps a fellow student can help you if you ask your questions here? For example, if you have installation problems, etc., a fellow student can usually respond better than the supervisor can (outside scheduled hours, evenings, weekends, etc.). You also learn a lot from helping each other.


Textbooks

The following textbooks will be used in this course:

Software Development - A Practical Approach (Textbook, Free PDF download)

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

Web Programming | ASP.NET Core (Textbook, Free PDF download). Web Site (here you find videos, tutorials, code downloads, etc.)

 

Additional Textbooks and Resources:

Online Textbooks from O’Reilly For Higher Education (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 Resources:

 

Tools

These are the main tools we will use in this course:

In addition we will use lots of other tools and software, see the specific topic pages in the course schedule below.

 

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 (YouTube Videos)

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

Tue 12.1 Project Start & Project List Introduction/Select Project

Fri 15.1

Start Working on the Project

 
Week 3 1. Project Kick-off and Planning (cont.)  

Tue 19.1

Working on the Project

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

Tue 26.1

Planning Review

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

Fri 12.2 Work with Project Quiz
Week 7 5. Software Development Processes and Scrum Week Assignment
Tue 16.2 UML Review Scrum Meetings  
Fri 19.2 Guest Lecture (Senior Developer, TietoEVRY, Agder Energi) Quiz
 
Time Topics Work
Part IV - Implementation
Week 8 6. Software Platforms (Winter holiday) Week Assignment

Tue 23.2

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

Quiz
Week 9 7. Software Architecture Week Assignment

Tue 2.3

Platform Review

 

Fri 5.3

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

Tue 9.3

Software Architecture Review  
Fri 12.3

Code Reviews

Quiz
Week 11

9. Source Code Control/Bug Tracking

Week Assignment

Tue 16.3

Software Implementation Review

Fri 19.3

SCC Review Quiz
Week 12 Work with Project  
Tue 23.3 Work with Project  
Fri 26.3 Work with Project  
Week 13 Easter  
Tue 30.3 (Work with Project)  
Fri 2.4 (Work with Project)  
 
Time Topics Work
Part V - Software Testing
Week 14

10. Software Testing - Test Planning

Week Assignment
Tue 6.4 Start Test Planning Beta Release!
Fri 9.4 cont. Quiz
Week 15

11. Software Testing - Test Execution

Week Assignment
Tue 13.4 Sprint Review Meeting  Sprint Retrospective  
Fri 16.4 Sprint Planning Quiz
 
Time Topics Work
Part VI - Deployment and Maintenance
Week 16 12. Software Documentation Week Assignment
Tue 20.4 Make Final Documentation  
Fri 23.4 Work with Project Quiz
Week 17

13. Software Deployment & Maintenance

Week Assignment
Tue 27.4 Software Documentation Review
Scrum Meetings
Fri 30.4 Work with Project Quiz RC Release!
 
Time Topics Work
Project Delivery
Week 18 No Teaching
Tue 4.5  
Fri 7.5    
Week 19 No Teaching
Tue 11.5 Presentation & Demo! (Max 30 min/team) Final Software Delivery!
Fri 14.5 Presentation & Demo! (Max 30 min/team)
Week 20 No Teaching  
Tue 18.5 Individual Examination! (Max 15 min/student)  
Fri 21.5 Individual Examination! (Max 15 min/student)  

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.