Official course description:

Full info last published 16/01-23
Course info
Language:
English
ECTS points:
7.5
Course code:
BSSODSE1KU
Participants max:
70
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
Bachelor
Programme:
BSc in Data Science
Staff
Course manager
Assistant Professor
Course semester
Semester
Efterår 2022
Start
29 August 2022
End
31 January 2023
Exam
Exam type
ordinær
Internal/External
intern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The course is an introduction to software engineering, software development, and object-oriented programming for students of BSc in Data Science and BSc in Global Business IT. The overarching goal is to allow students to work successfully within a professional software engineering setting.
Description

Content:

  • principles of software engineering
  • software architectures and design patterns
  • object-oriented analysis and design with UML as modeling language
  • object-oriented implementation with Java as programming language
Formal prerequisites

  • Working knowledge of an imperative programming language (e.g., Python).
  • Understanding of/appreciation for common problems in designing and developing software.

Intended learning outcomes

After the course, the student should be able to:

  • Explain the essentials of all primary facets of software engineering.
  • Model and implement medium-scale object-oriented software systems.
  • Apply time-proven solutions to common recurring software design problems.
  • Integrate individual development with existing software designs.
Learning activities

  • Lectures to acquire theoretical foundations of programming in an object-oriented programming language and general principles of software engineering.
  • Interactions on selected small examples to train application and award the chance for immediate (self-)assessment.
  • Self-contained exercises on specific topics of software development and software engineering with portions of preparation, class-room work, individual tutoring and homework.
  • Comprehensive project developing an object-oriented application with software engineering principles to train and connect individual skills.

Course literature

There is no MANDATORY reading for the course. However, there is a list of SUGGESTED relevant literature. As the course comprises two distinct (but complementary) phases for Java programming and Software Engineering techniques, literature is divided into respective categories. If you pick one of the first two categories and one for Software Engineering, you should have a good accompanying read:

Literature for the Java Portion of the Course

- Java for Data Science – Richard M. Reese, Jennifer L. Reese
- Mastering Java for Data Science – Alexey Grigorev
- Java Data Science Cookbook – Rushdi Shams
- Data Science with Java – Michael R. Brzustowicz

Good Programming in General

- The Pragmatic Programmer – Andrew Hunt
- Clean Code – Robert C. Martin
- How to Use Objects – Holger Gast

Literature for the Software Engineering Portion of the Course

- Software Engineering – Ian Sommerville
- Beginning Software Engineering – Rod Stephens
- Software Engineering: A Practitioner's Approach – Roger S. Pressman



Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 10%
  • Lectures: 20%
  • Exercises: 20%
  • Assignments: 10%
  • Project work, supervision included: 20%
  • Exam with preparation: 20%
Ordinary exam
Exam type:
A: Written exam on premises, Internal (7-point scale)
Exam variation:
A33: Written exam on premises on paper with restrictions
Exam duration:
4 hours
Aids allowed for the exam:
Pen


reexam
Exam type:
A: Written exam on premises, Internal (7-point scale)
Exam variation:
A33: Written exam on premises on paper with restrictions

Time and date