INF-32306 Software Engineering

This Study Handbook is published with reservation. It is not official yet.

Course

Credits 6.00

Teaching methodContact hours
Lecture10
Practical46
Group work10
Course coordinator(s)drs. MR Kramer
Lecturer(s)ir. MA Zijp
dr.ir. A Kassahun
drs. MR Kramer
Examiner(s)drs. MR Kramer

Language of instruction:

EN

Assumed knowledge on:

Fundamentals of programming (e.g. INF-22306 Programming in Python).
Specifically you should be acquainted with the following concepts and techniques:
- variables, assignment, expressions, operators;
- functions (and/or procedures, subroutines, methods) and parameters; also making your own functions;
- control structures: at least: if, for, while;
- objects and their properties (fields, variables) and operations (methods);
- arrays, including standard algorithms to traverse arrays (searching, summing, finding the largest element, etc.).

Continuation courses:

MSc Thesis Information Technology with an emphasis on software development.

Contents:

Software systems are developed to serve a specific purpose for specific groups of users. Such systems typically consist of many interacting components. Designing and implementing software systems goes beyond small-scale and ad-hoc programming. The techniques for building them are known under the term Software Engineering.
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. In other words, it is the application of engineering to software. In this course we cover the process of developing a computer program from an initial idea to a tested and maintainable software system.

Learning outcomes:

After successful completion of this course students are expected to be able to:
- find occurrences of object-oriented (OO) software concepts in a given computer program (source code) or UML model;
- assess adherence to specified software development practices;
- design a software system in UML using object-oriented (OO) techniques;
- construct a working computer program according to defined specifications;
- formulate and execute functional tests for a software system;
- operate a software version management system for sharing software components and documentation.

Activities:

- project work;
- small individual assignments;
- developing components and integrating them.

Examination:

Each student has to fill out two check-lists individually.
The final grade of the course is derived from the grades for these check-lists: product by group (at least 5.5: 50%);process as individual (at least 5.5: 50%).

Literature:

See course description under http://www.wur.eu/inf

ProgrammePhaseSpecializationPeriod
Restricted Optional for: MBEBiosystems EngineeringMSc5AF
MBFBioinformaticsMSc5AF