SOW-BKI324
Modern Software Development Techniques
Course infoSchedule
Course moduleSOW-BKI324
Credits (ECTS)6
CategoryB3 (Third year bachelor)
Language of instructionEnglish
Offered byRadboud University; Faculty of Social Sciences; Artificial Intelligence;
Lecturer(s)
Coordinator
dr. F.A. Grootjen
Other course modules lecturer
Contactperson for the course
dr. F.A. Grootjen
Other course modules lecturer
Examiner
dr. F.A. Grootjen
Other course modules lecturer
Academic year2020
Period
SEM1  (01/09/2020 to 24/01/2021)
Starting block
SEM1
Course mode
full-time
Remarks-
Registration using OSIRISYes
Course open to students from other facultiesNo
Pre-registrationNo
Waiting listNo
Placement procedure-
Aims
IMPORTANT - this course will move to semester 2 in the academic year 2021-2022. Please take this into account when planning your courses. 
  • Acquire a proper understanding, insight and skills in modern software development techniques, in particular Agile methods that are characterized by iterative and incremental development;
  • Train collaborative team work in a relevant software development project;
  • Be able to understand, recognize and apply design patterns to the problems that you encounter when using MDST to implement challenging new software products.
Content
“MSDT” combines the theories of modern software development techniques and design patterns with the practices of team work in a software development project. This course teaches you how to become actively involved in a multi-disciplinary group of people that share a mutual goal: developing usable software products in an efficient manner. The course will:
  • explain the necessity of software development models and their rationale;
  • teach how to recognize the applicability of a number of common design patterns in actual problems, and how you should apply them;
  • train how to use the agile software development framework using sprints.
  • develop your competences in participating in a development team using state-of-the-art programming environments, software development techniques, issue tracking and source versioning systems
Level
AI-BA3
Presumed foreknowledge
For AI students, participation in units of study of the B3 year is only possible after completion of the first year. For students enrolled in other programmes, participation in units of study of any year is only possible after: - completion of the first year of their degree programme. - Knowledge and skills related to object oriented programming at the level of Object Orientation (IP1005) and Programming for AI 1 and 2 (BKI131 and BKI132 or equivalent NWI-IPC031 Imperative Programming). 
Test information
An exam to assess the theoretical aspects of the course (60%). A large project, concluded with a technical report (40%). The project is assessed by the teachers and your peers (using peer reviewing). Both the score of the theory part as well as the average score of the programming exercises should be >=5.5 to pass.
Specifics

Required materials
To be announced
Other literature, in particular online documents, will be announced.

Recommended materials
Book
ISBN:978-0201633610
Title:Design Patterns: Elements of Reusable Object-Oriented Software
Author:Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (the GangOfFour)
Publisher:AddisonWesley Professional

Instructional modes
Lecture

Remark
Attendance is advised

Practical sessions

Remark
Attendance in coordination with your group.

Tests
Exam
Test weight60
Test typeExam
OpportunitiesBlock SEM1, Block SEM2

Project
Test weight40
Test typeProject
OpportunitiesBlock SEM1