Modulhandbuch Studiengang SP Po15
Modulhandbuch Studiengang SP Po15
Modulhandbuch Studiengang SP Po15
Module Handbook
This Module Handbook applies in conjunction with the Study and Examination
Regulations dated 01.08.2023 (SPO11).
Status: 30.09.2024
For further information on the modules, the subjects and the respective examinations and
certificates of achievement, please refer to the Study and Examination Regulations
(Studien- und Prüfungsordnung, SPO) and the study plan of your degree program as
amended from time to time.
Curriculum / Module Handbook: Software Design International Date: 30.09.2024
Content
Introduction ........................................................................................................................................... 3
Module: SDI_01, Mathematics I ......................................................................................................... 4
Module: SDI_02, Mathematics II ........................................................................................................ 5
Module: SDI_03, Foundations of Programming Technologies...................................................... 7
Module: SDI_04, Object-oriented Concepts ..................................................................................... 8
Module: SDI_05, Data Structures and Algorithms ........................................................................... 9
Module: SDI_06, Project Management ............................................................................................ 10
Module: SDI_07, Foundations of IT-Hardware............................................................................... 11
Module: SDI_08, Multimedia Technology ....................................................................................... 12
Module: SDI_09, Theoretical Computer Science ........................................................................... 13
Module: SDI_10, Foundations of Software Engineering ............................................................... 14
Module: SDI_11, Databases .............................................................................................................. 15
Module: SDI_12, Requirements Engineering and Usability .......................................................... 16
Module: SDI_13, Collaboration, Quality and Test .......................................................................... 17
Module: SDI_14, Operating Systems and Networks ..................................................................... 18
Module: SDI_15, Foundations of Data Science .............................................................................. 20
Module: SDI_16, Agile Development Methodologies .................................................................... 21
Module: SDI_17, Human Computer Interaction ............................................................................. 22
Module: SDI_18, IT Security .............................................................................................................. 23
Module: SDI_19, Software Architecture and Design Patterns ..................................................... 24
Module: SDI_20, Parallel and Distributed Systems ....................................................................... 25
Module: SDI_21, German as foreign Language A2 ........................................................................ 26
Module: SDI_22, German as Foreign Language B1 ....................................................................... 27
Module: SDI_23, Business Administration ..................................................................................... 28
Module: SDI_25, Mobile Applications and Development ............................................................. 29
Module: SDI_26, Web Technologies ................................................................................................ 30
Module: SDI_27, Software Development Project ........................................................................... 31
Module: SDI_28, Subject-specific compulsory Elective Module................................................. 32
Module: SDI_29, Practical Training Semester................................................................................ 33
Module: SDI_30, Practical Course .................................................................................................... 34
Module: SDI_31, Practical Seminar ................................................................................................. 35
Module: SDI_32, Seminar for Bachelor Thesis............................................................................... 36
Module: SDI_33, Bachelor Thesis .................................................................................................... 37
Abbreviations ...................................................................................................................................... 38
Introduction
The Module Handbook presented here was developed based on the Anderson Kathwol Taxonomy
(Anderson, L.W.; Krathwohl, D.: A Taxonomy for Learning, Teaching, and Assessing. A Revision of
Bloom's Taxonomy of Educational Objectives. Addison Wesley. 2001) and the recommendations of
the Gesellschaft für Informatik e.V. (Recommendations for Bachelor's and Master's Programs in
Computer Science at Universities, July 1, 2016).
Contents LV1:
Discrete structures, logic and algebra:
• Propositional logic
• Predicate logic
• Boolean algebra
• Sets, relations, functions
• Vector spaces, matrices, systems of equations
• Graph Theory
• Number theory
LV2:
• Practice for the contents in LV1
LV2:
• Practice for the contents in LV1
Study / Examination See document „Study and examination regulations (SPO)“
method Possible bonus points: processing of exercises with presentation
Types of media Blackboard, projector, transparencies
employed
Reading list • Lehman, Leighton, Meyer: Mathematics for Computer Science
• Levin: Discrete Mathematics – An Open Introduction
• Rosen: Discrete Mathematics an its Applications, Mc Graw Hill
(All books in their latest edition)
LV2:
• Introduction to the Eclipse development environment for programming
• Creation of programs in above mentioned development environment in above mentioned
programming language
• Intensive practical application of all concepts presented within the framework of many
hands-on exercises
Study / Examination See document “Study and examination regulations (SPO)”
method Possible bonus points: completion of computer lab exercises and a presentation
Contents LV1:
• Programming languages and concepts
• Introduction to advanced concepts of object-oriented programming using Java as an
example (abstract classes, interfaces, collections, exception handling, etc.)
• Deployment
• Software testing, test-driven development, unit tests
• Clean Code Principles
LV2:
• Software technical solution of a task from the requirement to the implementation (incl.
test)
• Practical application of all concepts in the context of assignments
• Team practice for the contents of LV 1
Lecturer(s) N.N.
Module coordinator(s) Prof. Dr. Barbara Sprick
Teaching language(s) English
Associated degree Software Design International, Semester 3, Winter semester
programmes, semester
Workload Total effort: 150 h (of which: Contact hours: 60h, Independent study: 90h (of which: 30h
preparation, 30h follow-up, 30h exam preparation))
SWS / teaching form 4 SWS (LV1: 2 SWS seminar teaching, LV2: 2 SWS exercise/practices)
ECTS credits 5
Participation SDI_03, Foundations of Programming Technologies, recommended: SDI_04 Object-oriented
prerequisites Concepts
Applicability of the The module teaches in-depth algorithms and data structures required in applied computer
module science. The contents and application examples are essentially aligned with the Software
Design International degree program. The module is used exclusively for the Software Design
International degree program.
Module objectives / The students ...
Learning Outcomes • can explain the most important basic data structures and algorithms in computer
science
• can determine the runtime behavior and memory requirements of algorithms and
compare the efficiency of algorithms
• can explain basic data types (lists, stacks, queues, trees) and implement them in Java.
• can explain the influence of a chosen data structure on the realization of an algorithm
• know selected algorithm design principles and can explain and apply them in smaller
examples
• know strategies for selecting algorithms and can identify suitable algorithms for selected
standard problems in computer science and use them to solve the problem
Contents LV1:
• Big O-notation, complexity of algorithms
• Basic data structures (array, stack, queue, lists, ...)
• algorithms for searching and sorting
• Data structures Hashes, Trees and Dictionaries
• Graphs and graph algorithms
LV2:
• Team exercises and PBL on the contents of LV 1.
• Implementation of the presented algorithms
LV1:
• Acquisition of the above-mentioned knowledge in seminar classes
LV 2:
• Practical application of concepts developed in LV1 using worksheets and calculator
exercises.
Contents LV1:
• Definition of multimedia and overview of types of digital media
• Overview of the process of digitization: The path from analogue to digital image and
sound signals
• Overview of digital image, sound, and video formats and the role and function of
compression and codecs.
• Importance of input and output devices for multimedia applications (controllers, touch
input, gestures, display technologies)
• User-centred use of multimedia content in web applications and mobile apps: Process of
design/recording, preparation, publication and evaluation.
• Agile strategies, tools and steps in user-centred design of software applications for
different target platforms: Design thinking, scribbles, wireframes, rapid prototyping.
LV2:
• User-centred and agile planning, conception, design, implementation and evaluation of
multimedia applications for different target platforms
• Critical analysis and evaluation of the implementations developed during the exercises.
Contents LV1:
• Basics of software engineering, basic terms, modelling
• Process models, evaluation and improvement of the software process, agile software
development
• Software engineering disciplines: requirements engineering, architecture and design,
implementation, testing
• Software management: quality management, software project management,
configuration management, the human being in software development, metrics
• Reuse, software maintenance, reengineering
LV2:
• Team practice for the contents of LV 1
Contents LV1:
• Basic concepts of relational databases
• Relational query languages, especially SQL
• Database Modeling
• Database Management Systems
• Normalized relational database schemas
• Multi-user operation of databases, transaction management, scheduling
• Assignment of rights in SQL, access control models
• NoSQL
LV2:
• Practice for the contents of LV 1
Contents LV1:
Operating systems:
• Basic concepts computer architecture and operating systems
• Processes and threads
• Resource management (CPU(s), memory, file system, external HW)
• User interfaces, including an introduction to the use of command lines (shells)
Computer networks:
• Computer network structure
• Network components
• Performance criteria (such as bandwidth, latency, fault tolerance)
• Ethernet, Wireless LAN according to IEEE 802.11
• important network protocols (e.g. IP, TCP, UDP, http, https, DNS, DHCP)
• Communication security: firewalls, virtual private networks
LV2:
• Practice for the contents of LV1
Study / Examination See document „Study and examination regulations (SPO)“
method Possible bonus points: none
Types of media Blackboard, beamer, demonstration, working on the computer
employed
Reading list • Christian Baun: Operating Systems / Betriebssyteme , Bilingual Edition, Springer Vieweg,
2020
• K.C.Wang: Systems Programming in Unix/Linux, Springer Nature, 2018
• Andrew S. Tanenbaum: Structured Computer Organization, 6th edition, Pearson
Contents • Overview software development processes with their advantages and disadvantages
• Characteristics of agility
• SW project planning using agile development methods such as Scrum and Kanban as
well as scaling options
• Roles and responsibilities in agile projects
• Communication and interaction in agile project teams
• Agile release and sprint planning, Agile estimation and prioritization, acceptance criteria,
user stories, tasks.
• Tools for agile project planning and control
Contents LV1:
• Software modeling
• Modeling of software by means of e.g. UML
• Design Pattern
• Software design
• Software Architecture
LV2:
• Practice for the contents of LV 1
Contents LV1:
• Semaphores and mutexes
• Sockets
• Remote Procedure Calls
• Inter-Process Communication
• Threads
• Processes
• Process Management
• Hardware parallelism
• Multiprocessor systems
LV2:
• Practice for the contents of LV 1
Contents Selected areas of everyday-life language and business/economic terminologies suitable for the
level of the students (CEFR A0/A1-A2)
The course SD_21c will introduce the students to the German labour market, including a job
application training and an excursion to a German company.
Contents Selected areas of everyday-life language and business/economic terminologies suitable for the
level of the students (CEFR B1.1)
Study and Examination See document „Study and examination regulations (SPO)“
method Possible bonus points: none
Types of media Blackboard, beamer, demonstration, sample programs
employed
Reading list • Schritte International, Hueber; the current edition will be communicated in the first
session
Risk assessment for Participation is possible
pregnant or
breastfeeding students
LV2:
• Basics and examples of designing and developing Android apps in Java using Android
Studio.
• Implementation of activity layout design and planning of activity lifecycles
• Handling of intents, broadcasts, services and notifications
• Targeted use of simulators and end devices in the mobile development process
• Mobile application testing and debugging
• Critical analysis and evaluation of the app implementations developed and presented
during the exercises.
Contents LV1:
• Overview of the Internet protocol family including HTTP/HTTPS, IPv4 and IPv6
• Client-server principle as a central element of Internet communication
• Introduction web standards and frontend stack: HTML, CSS and JavaScript
• CSS and JavaScript frameworks (Bootstrap, Angular.js, React) and WebApps (PWAs)
publication.
• Relational and non-relational web databases (MySQL/MongoDB ...)
• Restful APIs and JSON as central interface technologies on the web
• Backend languages (choice from PHP, Perl, Python, Ruby ...); Node.js (JavaScript in the
backend)
• Web-based content management systems: Drupal/Typo3/WordPress
LV2:
• User-centred and agile planning, conception, design, implementation and evaluation of
own Internet applications by means of a selected framework
• Targeted application and deepening of the competencies acquired in the lecture and in
other modules in the context of web projects.
Contents LV1:
• Students carry out a software development project in a team. They learn which technical
and non-technical challenges have to be mastered.
• The implementation of the task requires the independent familiarization with
development tools (IDEs, build tools, version management, etc.) and, depending on the
specific topic, the analysis of various libraries or frameworks.
LV2:
• Research and presentation of a selected topic from the field of software engineering.
Contents The contents are given in the description of the compulsory elective modules.
Contents • Workplace
• Workplace design and environment
• Work processes
• Health protection and prevention
• Quality requirements and standards
• Process descriptions
Contents • In-depth development of your own topic including an evaluation concept using the
design thinking method
• Presentation of results in the form of a paper/presentation followed by discussion
Contents The student writes a written paper, usually presenting the results of a theoretical or
experimental investigation or a practical development task. The processing steps are
determined individually depending on the respective topic.
Possible steps may include:
• Familiarization with the topic and the current state of research/technology
• Developing/selecting methods and techniques for solving problems and developing a
solution concept
• Application/implementation of the method and realization of the own concept
• Evaluation, validation and assessment of the results
Abbreviations
BA Bachelor thesis
LN Performance Record
S Seminar
SU Seminar teaching
Min. Minutes
Prakt. practical
Ü Practice
Pr Project / Praktikum
mE / oE Successful / without
success
SWS Teaching hours per week
TN Participation certificate
Pr. LN Practical Performance
record
schrP Examination in writing
MdlP, Oral examination
mündlP
SPO Study and examination
regulations
AWPF General science
compulsory elective
module
FWPF Subject-specific
compulsory elective
module