BSC Cs Handbook2022
BSC Cs Handbook2022
Computer Science
Bachelor of Science
1
Subject-specific Examination Regulations for Computer Science (Fachspezifische
Prüfungsordnung)
The subject-specific examination regulations for Computer Science are defined by this
program handbook and are valid only in combination with the General Examination
Regulations for Undergraduate degree programs (General Examination Regulations =
Rahmenprüfungsordnung). This handbook also contains the program-specific Study and
Examination Plan (Chapter 6).
Upon graduation, students in this program will receive a Bachelor of Science (BSc) degree
with a scope of 180 ECTS (for specifics see Chapter 6 of this handbook).
2
Contents
3
7 Computer Science Module Descriptions ....................................................... 22
7.1 Programming in C and C++ ............................................................................. 22
7.2 Algorithms and Data Structures........................................................................ 24
7.3 Introduction to Computer Science .................................................................... 26
7.4 Introduction to Robotics and Intelligent System................................................. 28
7.5 Databases and Web Services............................................................................ 30
7.6 Software Engineering ...................................................................................... 32
7.7 Operating Systems .......................................................................................... 35
7.8 Automata, Computability, and Complexity ......................................................... 37
7.9 Computer Networks ........................................................................................ 39
7.10 Legal and Ethical Aspects of Computer Science ............................................. 41
7.11 Secure and Dependable Systems .................................................................. 43
7.12 Academic Skills in Computer Science ........................................................... 45
7.13 Computer Graphics ...................................................................................... 47
7.14 Image Processing ........................................................................................ 49
7.15 Distributed Algorithms ................................................................................. 51
7.16 Web Application Development ...................................................................... 53
7.17 Human-Computer Interaction ....................................................................... 55
7.18 Artificial Intelligence ................................................................................... 57
7.19 Robotics ..................................................................................................... 59
7.20 Computer Vision .......................................................................................... 61
7.21 Machine Learning........................................................................................ 63
7.22 Digital Design ............................................................................................. 65
7.23 Information Theory ...................................................................................... 67
7.24 Parallel and Distributed Computing ............................................................... 69
7.25 Internship / Startup and Career Skills ............................................................ 71
7.26 Bachelor Thesis and Seminar ....................................................................... 74
7.27 Jacobs Track Modules.................................................................................. 77
Methods and Skills Modules .................................................................. 77
Big Questions Modules .......................................................................... 89
Community Impact Project .................................................................. 114
Language Modules .............................................................................. 116
8 Appendix ............................................................................................... 117
8.1 Intended Learning Outcomes Assessment-Matrix ............................................. 117
4
1 Program Overview
1.1 Concept
In this context, it is Jacobs University’s aim to educate talented young people from all over the
world, regardless of nationality, religion, and material circumstances, to become citizens of the
world who are able to take responsible roles for the democratic, peaceful, and sustainable
development of the societies in which they live. This is achieved through a high-quality teaching
as well as manageable study loads and supportive study conditions. Study programs and related
study abroad programs convey academic knowledge as well as the ability to interact positively
with other individuals and groups in culturally diverse environments. The ability to succeed in
the working world is a core objective for all study programs at Jacobs University, both in terms
of actual disciplinary subject matter and also to the social skills and intercultural competence.
Study-program-specific modules and additional specializations provide the necessary depth,
interdisciplinary offerings and the minor option provide breadth while the university-wide
general foundation and methods modules, mandatory German language requirements, and an
extended internship period strengthen the employability of students. The concept of living and
learning together on an international campus with many cultural and social activities
supplements students’ education. In addition, Jacobs University offers professional advising
and counseling.
Jacobs University’s educational concept is highly regarded both nationally and internationally.
While the university has consistently achieved top marks over the last decade in Germany’s
most comprehensive and detailed university ranking by the Center for Higher Education (CHE),
it has also been listed by the renowned Times Higher Education (THE) magazine as one of the
top 300 universities worldwide (ranking group 251-300) in 2019, 2020 and 2021. The THE
ranking is considered as one of the most widely observed university rankings. It is based on five
major indicators: research, teaching, research impact, international orientation, and the volume
of research income from industry.
Program Concept
Computer Science lies at the core of all modern industries and plays a major role in most areas
of science as well. Computer technology changes constantly, but the fundamental principles
underlying these technologies have now developed into a mature science. The Computer
Science Bachelor of Science program at Jacobs University focuses on the understanding of
these principles and their application in practice.
Students will obtain core computer science competencies and skills (e.g., programming and
software engineering) and they will learn about fundamental abstractions and abstract notions
of computing (e.g., formal languages, logic, and computability theory). They will learn about
5
the principles behind and the proper usage of core technologies (e.g., databases, operating
systems, and computer networks). Finally, students will develop an understanding of the
limitations of technology and side effects of computing systems (e.g., security, dependability,
legal, and ethical aspects). Because computer science is rooted in mathematics, students will
take mathematical methods modules covering calculus, linear algebra, probability theory, and
numerical methods or discrete mathematics.
The job market for computer scientists has been very favorable in the last few years, and there
is no indication that this will change in the near future. Because of the rapid changes in the
field, it is important to focus the education on the fundamental principles, as well as, subfields
of promising future relevance. Cross-disciplinary breadth and flexibility, as well as social and
work organization skills are increasingly important. The minor option allows the combination of
the education in computer science with a different discipline, thereby facilitating a cross-
disciplinary specialization. The academic qualifications and personal profiles for academic and
industrial careers differ. Jacobs University's Computer Science program responds to the needs
of both areas by offering a Computer Science major designed for students who plan to work in
the information technology industry or join graduate programs related to the discipline. Students
choosing the minor option can acquire basic skills in a specific application domain, which
makes them very well suited to work in a specific industrial sector. The minor option can also
be used to obtain specific knowledge in a closely related discipline to develop a strong portfolio
of knowledge at the intersection of computer science with related disciplines.
• The educational approach of the faculty is to relate the theoretical contents of the
discipline to their contemporary application in industry and research. The instructors
aim to include recent developments of the topics covered to demonstrate how basic
methods or techniques are applied today and how the material covered relates to
research challenges.
• Early involvement in research projects is an essential aspect of student education.
Students can obtain a vivid research experience at a very early stage, which often
develops into interdisciplinary collaborations later on.
• This distinctive educational approach, together with the positive teaching environment,
has been acknowledged in several rankings: In the computer science ranking published
by the Centre for Higher Education (CHE) in 2015, the support by instructors and the
relationship to research were ranked 1st of 68 study programs. In the European U-
Multirank ranking published in 2018, the overall learning experience in computer
science was ranked 10th and research-oriented teaching in computer science was ranked
2nd of 304 European universities offering Computer Science programs.
• The involvement of students and alumni in the program development process using a
direct and open dialogue ensures that the program is constantly fine-tuned to the
specific needs of students, such as covering certain topics at a certain time with respect
to the preparation of internship or job applications.
• The program has a successful student exchange program with Carnegie Mellon
University (USA). Every year, some of the best students move to Pittsburgh to study for
a semester abroad at CMU. In addition, CS students have studied abroad with great
success at Rice University (USA) and the University of Pennsylvania (USA).
6
• Student teams participate regularly in international programming competitions. Jacobs
University hosted the Northwestern European Regional Contest (NWERC) of the ACM
International Collegiate Programming Contest on campus in 2010 and 2011. Student
teams participate in NWERC competitions since then on an annual basis. In 2014,
students organized the first JacobsHack! hackathon on campus, which was sponsored,
among others, by Google, Microsoft, and SAP. The 2018 edition of JacobsHack!,
sponsored, among others, by Facebook, Skyscanner, GitHub and Bloomberg, attracted
participants from all over Europe.
Qualification Aims
The main subject-specific qualification aim is to enable students to take up qualified
employment in modern industries involving information technology or to enter graduate
programs related to computer science. Graduates of the Computer Science program have
obtained the following competencies:
• Communication competence
• Learning competence
Graduates have acquired a solid foundation enabling them to assess their own knowledge
and skills, learn effectively, and remain up to date with the latest developments in the
rapidly evolving field of computer science.
The design of the Computer Science program follows national guidelines published by the
Gesellschaft für Informatik (GI) (GI: Empfehlungen für Bachelor- und Masterprogramme im
Studienfach Informatik an Hochschulen, July 2016) and international guidelines published
7
jointly by the Association for Computing Machinery (ACM) and the Institute of Electrical and
Electronics Engineers (IEEE) (ACM/IEEE: Computer Science Curricula 2013, December 2013).
• work professionally in the highly dynamic computer science field and enter graduate
programs related to computer science;
• apply fundamental concepts of computer science while solving problems;
• think in an analytical way at multiple levels of abstraction;
• develop, analyze and implement algorithms using modern software engineering
methods;
• understand the characteristics of a range of computing platforms and their advantages
and limitations;
• choose from multiple programming paradigms, languages and algorithms to solve a given
problem adequately;
• describe the fundamental theory of computation and computability;
• apply the necessary mathematical methods;
• recognize the context in which computer systems operate, including interactions with
people and the physical world;
• describe the state of published knowledge in their field or a specialization within it;
• analyze and model real-life scenarios in organizations and industries using contemporary
techniques of computer science, also taking methods and insights of other disciplines
into account;
• appropriately communicate solutions of problems in computer science in both spoken
and written form to specialists and non-specialists;
• draw scientifically founded conclusions that consider social, professional, scientific, and
ethical aspects;
• work effectively in a diverse team and take responsibility in a team;
• take responsibility for their own learning, personal and professional development and
role in society, reflecting on their practice and evaluating critical feedback;
• adhere to and defend ethical, scientific, and professional standards.
8
Past graduates have also chosen to continue their education by enrolling into graduate programs
at other German universities such as the RWTH Aachen, the Technical University Berlin, and
the Technical University München; at other European universities such as the University of
Amsterdam, the University of Cambridge, EPFL Lausanne, the University College London, the
University of Oxford, and ETH Zürich; or at international universities such as Carnegie Mellon
University, Cornell University, and the University of Montreal.
The Career Services Center (CSC) as well as the Jacobs Alumni Office help students in their
career development. The CSC provides students with high-quality training and coaching in CV
creation, cover letter formulation, interview preparation, effective presenting, business etiquette
and employer research as well as in many other aspects, thus helping students to identify and
follow up rewarding careers after their time at Jacobs University. Furthermore, the Alumni Office
helps students establish a long-lasting and worldwide network which is beneficial when
exploring job options in academia, industry, and elsewhere.
Formal admission requirements are subject to higher education law and are outlined in the
Admission and Enrollment Policy of Jacobs University.
For more detailed information about the admission visit: https://www.jacobs-
university.de/study/undergraduate/application-information
9
2 The Curricular Structure
2.1 General
The curricular structure provides multiple elements for enhancing employability,
interdisciplinarity, and internationality. The unique Jacobs Track, offered across all
undergraduate study programs, provides comprehensive tailor-made modules designed to
achieve and foster career competency. Additionally, a mandatory internship of at least two
months after the second year of study and the possibility to study abroad for one semester give
students the opportunity to gain insight into the professional world, apply their intercultural
competences and reflect on their roles and ambitions for employment and in a globalized
society.
All undergraduate programs at Jacobs University are based on a coherently modularized
structure, which provides students with an extensive and flexible choice of study plans to meet
the educational aims of their major as well as minor study interests and complete their studies
within the regular period.
The framework policies and procedures regulating undergraduate study programs at Jacobs
University can be found on the website (https://www.jacobs-university.de/academic-policies).
Year 1 – CHOICE
The first study year is characterized by a university-specific offering of disciplinary education
that builds on and expands upon the students’ entrance qualifications. Students select
introductory modules for a total of 45 CP from the CHOICE area of a variety of study programs,
of which 15-30 CP will be from their intended major. A unique feature of our curriculum
10
structure allows students to select their major freely upon entering Jacobs University. The
Academic Advising Coordinator offers curricular counseling to all Bachelor students
independently of their major, while Academic Advisors support students in their decision-
making regarding their major study program as contact persons from the faculty.
To pursue Computer Science as a major, the following CHOICE modules (30 CP) need to be
taken as mandatory modules:
The first two modules, Programming in C and C++ and Algorithms and Data Structures,
introduce students to imperative and object-oriented programming and basic algorithms and
data structures. The Introduction to Computer Science module discusses abstract and concrete
notions of computing machines and algorithms, and the representation of information. Students
are also exposed to a pure functional programming language. The Introduction to Robotics and
Intelligent Systems module addresses the interaction of computers with the physical world and
it lays the foundation for intelligent systems.
The remaining CHOICE modules (15 CP) can be selected in the first year of studies according
to interest and/or with the aim to allow a change of major up until the beginning of the second
year, when the major choice becomes fixed (see 2.2.1.1 below).
• Physics (Phys)
CHOICE Module: Classical Physics (7.5 CP)
CHOICE Module: Modern Physics (7.5 CP)
11
Year 2 – CORE
In their second year, students take a total of 45 CP from a selection of in-depth, discipline-
specific CORE modules. Building on the introductory CHOICE modules and applying the
methods and skills acquired so far (see 2.3.1), these modules aim to expand the students’
critical understanding of the key theories, principles, and methods in their major for the current
state of knowledge and best practice.
To pursue Computer Science as a major, at least the following mandatory CORE modules (30
CP) need to be taken:
The requirements for each specific minor are described in the handbook of the study program
offering the minor (Chapter 3.2) and are marked in the respective Study and Examination Plans.
12
For an overview of accessible minors, please check the Major/Minor Combination Matrix which
is published at the beginning of each academic year.
Year 3 – CAREER
During their third year, students prepare and make decisions about their career path after
graduation. To explore available choices and to gain professional experience, students
undertake a mandatory summer internship. The third year of studies allows Computer Science
students to take Specialization modules within their discipline, but also focuses on the
responsibility of students beyond their discipline (see Jacobs Track).
The 5th semester also opens a mobility window for a diverse range of study abroad options.
Finally, the 6th semester is dedicated to fostering the students’ research experience by involving
them in an extended Bachelor thesis project.
13
A maximum of 5 CP can be taken from major-related modules instead of major-specific
Specialization Modules:
• CS CORE: Computer Vision (5 CP)
• RIS Specialization: Human Computer Interaction (5 CP)
• RIS CORE: Artificial Intelligence (5 CP)
• RIS CORE: Robotics (5 CP)
• RIS CORE: Machine Learning (5 CP)
• ECE Specialization: Digital Design (5 CP)
• ECE CORE: Information Theory (5 CP)
• DE Specialization: Parallel and Distributed Computing (5 CP)
Students may also select 15 CP entirely from their major-specific Specialization Modules.
Students pursuing a minor in a second field of studies can additionally select Specialization
Modules from:
14
2.2.3.4 Bachelor Thesis/Seminar Module
This module is a mandatory graduation requirement for all undergraduate students. It consists
of two module components in the major study program guided by a Jacobs faculty member: the
Bachelor Thesis (12 CP) and a Seminar (3 CP). The title of the thesis will appear on the
students’ transcripts.
Within this module, students apply the knowledge skills, and methods they have acquired in
their major discipline to become acquainted with actual research topics, ranging from the
identification of suitable (short-term) research projects, preparatory literature searches, the
realization of discipline-specific research, and the documentation, discussion, and
interpretation of the results.
With their Bachelor Thesis students demonstrate mastery of the contents and methods of the
computer science research field. Furthermore, students show the ability to analyze and solve a
well-defined problem with scientific approaches, a critical reflection of the status quo in
scientific literature, and the original development of their own ideas. With the permission of a
Jacobs Faculty Supervisor, the Bachelor Thesis can also have an interdisciplinary nature. In the
seminar, students present and discuss their theses in a course environment and reflect on their
theoretical or experimental approach and conduct. They learn to present their chosen research
topics concisely and comprehensively in front of an audience and to explain their methods,
solutions, and results to both specialists and non-specialists.
To pursue Computer Science as major, the following Methods and Skills modules (20 CP) are
mandatory
15
For the remaining 5 CP CS students can choose between the Methods module 1
Language Modules
Communication skills and foreign language abilities foster students’ intercultural awareness and
enhance their employability in an increasingly globalized and interconnected world. Jacobs
University supports its students in acquiring and improving these skills by offering a variety of
language modules at all proficiency levels. Emphasis is put on fostering the German language
skills of international students as they are an important prerequisite for non-native students to
learn about, explore, and eventually integrate into their host country and its professional
environment. Students who meet the required German proficiency level (e.g., native speakers)
are required to select modules in any other modern foreign language offered (Chinese, French
or Spanish). Hence, acquiring 10 CP in language modules, with German mandatory for non-
native speakers, is a requirement for all students. This curricular component is offered as a
four-semester sequence of foreign language modules. The size of the Language Modules is 2.5
CP.
1
Students who take a minor in RIS or ECE must choose Numerical Methods.
16
3 Computer Science as a Minor
Upon the consultation with the Academic Advisor and approval by the CS Study Program
Coordinator, individual CORE modules from the default minor can be replaced by other
advanced modules (CORE or Specialization) from the CS major.
3.3 Degree
After successful completion, the minor in Computer Science will be listed on the final transcript
under PROGRAM OF STUDY and BA/BSc – [name of the major] as “(Minor: Computer
Science).”
17
4 Computer Science Undergraduate Program Regulations
4.2 Degree
Upon successful completion of the study program, students are awarded a Bachelor of Science
degree in Computer Science.
18
5 Schematic Study Plan for Computer Science
Figure 2 shows schematically the sequence and types of modules required for the study program. A more detailed description, including the assessment types, is
given in the Study and Examination Plans in following section.
Year 2 - CORE 45 15
2
Take all CORE modules listed below or replace mandatory elective (me) modules with suitable CORE modules from other study programs.
Unit: Advanced Computer Science I (default minor advanced modules) 15 Unit: Methods / Skills 10
CO-560 Module: Databases and Web Services m 3 7.5 JTMS-MAT-12 Module: Probability and Random Processes m 3 5
CO-560-A Databases and Web Services - Lecture Lecture Written examination Examination period 5
CO-560-B Databases and Web Services - Project Project Project assessment During the semester 2.5 JTMS-12 Probability and Random Processes Lecture Written examination Examination period 5
CO-561 Module: Software Engineering m 4 7.5
CO-561-A Software Engineering Lecture Written examination Examination period 2.5 Take one of the two listed mandatory elective methods modules:
CO-561-B Software Engineering Project Project Project assessment During the semester 5 CO-501 Module: Discrete Mathematics me 4 5
Unit: Advanced Computer Science II 15 CO-501-A Discrete Mathematics Lecture Written examination Examination period
CO-562 Module: Operating Systems m 3 7.5
CO-562-A Operating Systems Lecture Written examination Examination period JTMS-MAT-13 Module: Numerical Methods ⁴ me 4 5
CO-563 Module: Automata, Computability, and Complexity m 4 7.5 JTMS-13 Numerical Methods Lecture Written examination Examination period
CO-563-A Automata, Computability, and Complexity Lecture Written examination Examination period
Unit: Advanced Computer Science III 15 Unit: Language 5
CO-564 Module: Computer Networks me 3 5 German is default language. Native German speakers take modules in another offered language.
CO-564-A Computer Networks Lecture Written examination Examination period JTLA-xxx Module: Language 3 m 3 2.5
CO-565 Module: Legal and Ethical Aspects of Computer Science me 3 2.5 JTLA-xxx Language 3 Seminar Various Various me
CO-565-A Legal and Ethical Aspects of Computer Science Lecture Poster presenation Examination period
CO-566 Module: Secure and Dependable Systems me 4 5 JTLA-xxx Module: Language 4 m 4 2.5
CO-566-A Secure and Dependable Systems Lecture Written examination Examination period JTLA-xxx Language 4 Seminar Various Various me
CO-567-A Module: Academic Skills in Computer Science me 4 2.5
CO-567-A Academic Skills in Computer Science Seminar Project assessment Examination period
Year 3 - CAREER 45 15
CA-INT-900 Module: Summer Internship m 4/5 15 Unit: Big Questions 10
th
CA-INT-900-0 Summer Internship Report/Business Plan During the 5 semester JTBQ-BQ-xxx Module: Big Questions m 5/6
CA-CS-800 Module: Thesis / Seminar CS m 6 15 JTBQ-xxx Lecture Various Various me 10
CA-CS-800-T Thesis CS Thesis Thesis 15th of May 12 Unit: Community Impact Project 5
CA-CS-800-S Seminar CS Seminar Presentation During the semester 3 JTCI-CI-950 Module: Community Impact Project m 5 5
Unit: Specialization CS m 5/6 15 JTCI-950 Community Impact Project Project Project Examination period
Take a total of 15 CP Specialization Modules
CA-S-CS-801 Module: Computer Graphics me 5 5
CA-S-CS-801-A Computer Graphics Lecture Written examination Examination period
CA-S-CS-802 Module: Image Processing me 6 5
CA-S-CS-802-A Image Processing Lecture Written examination Examination period me 6 5
CA-S-CS-803 Module: Distributed Algorithms me 5 5
CA-S-CS-803-A Distributed Algorithms Lecture Written examination Examination period me 5 5
CA-S-CS-804 Module: Web Application Development me 6 5
CA-S-CS-804-A Web Application Development Lecture Written examination Examination period 2.5
CA-S-CS-804-B Web Application Development Project Project assessment During the semester 2.5
CA-S-xxx Specialization electives (from RIS, ECE, DE study programs)³ Lecture Written examination Examination period me 5/6 5
Total CP 180
¹ Status (m = mandatory, me = mandatory elective)
² For a full listing of all CHOICE / CORE / CAREER / Jacobs Track modules please consult the CampusNet online catalogue and /or the study program handbooks.
³ For details please see the CS program handbook.
⁴ Students who take a minor in Mathematics have to choose Numerical Methods module.
5
Students can optionally also take the module in the 2nd semester
20
7 Computer Science Modules
The module then introduces basic concepts of object-oriented programming languages using the programming
language C++ in a hands-on manner. Concepts such as classes and objects, data abstractions, and information
hiding are introduced. C++ mechanisms for defining and using objects, methods, and operators are introduced
and the relevance of constructors, copy constructors, and destructors for dynamically created objects is explained.
21
Finally, concepts such as inheritance, polymorphism, virtual functions, and overloading are introduced. The
learned concepts are applied by solving programming problems.
Intended Learning Outcomes
By the end of this module, students will be able to
• explain basic concepts of imperative programming languages such as variables, assignments,
loops, and function calls;
• write, test, and debug programs in the procedural programming language C using basic C library
functions;
• demonstrate how to use pointers to create dynamically allocated data structures such as linked
lists;
• explain the relationship between pointers and arrays;
• illustrate basic object-oriented programming concepts such as objects, classes, information
hiding, and inheritance;
• give original examples of function and operator overloading and polymorphism;
• write, test, and debug programs in the object-oriented programming language C++.
Indicative Literature
Brian Kernighan, Dennis Ritchie: The C Programming Language, 2nd edition, Prentice Hall Professional Technical
Reference, 1988.
Steve Oualline: Practical C Programming, 3rd edition, O'Reilly Media, 1997.
Bruce Eckel: Thinking in C++: Introduction to Standard C++, Prentice Hall, 2000.
Bruce Eckel, Chuck Allison: Thinking in C++: Practical Programming, Prentice Hall, 2004.
Bjarne Stroustrup: The C++ Programming Language, 4th edition, Addison Wesley, 2013.
Michael Dawson: Beginning C++ Through Game Programming, 4th edition, Delmar Learning, 2014.
Component 1: Lecture
Component 2: Tutorial
Completion: To pass this module, the examination of each module component has to be passed with at least
45%.
22
7.2 Algorithms and Data Structures
Students should refresh their knowledge of the C and C++ programming language and be able to solve simple
programming problems in C and C++. Students are expected to have a working programming environment.
23
• summarize and apply C++ templates and generic data structures provided by the standard C++
template library.
Indicative Literature
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein: Introduction to Algorithms, 3rd
edition, MIT Press, 2009.
Donald E. Knuth: The Art of Computer Programming: Fundamental Algorithms, volume 1, 3rd edition, Addison
Wesley Longman Publishing, 1997.
24
7.3 Introduction to Computer Science
It is recommended that students install a Linux system such as Ubuntu on their notebooks and that they become
familiar with basic tools such as editors (vim or emacs) and the basics of a shell. The Glasgow Haskell Compiler
(GHC) will be used for implementing Haskell programs.
The module introduces basic concepts of discrete mathematics with a focus on inductively defined structures, to
develop a theoretical notion of computation. Students will learn the basics of the functional programming
language Haskell because it treats computation as the evaluation of pure and typically inductively defined
functions. The module covers a basic subset of Haskell that includes types, recursion, tuples, lists, strings, higher-
order functions, and finally monads. Back on the theoretical side, the module covers the syntax and semantics of
Boolean expressions and it explains how Boolean algebra relates to logic gates and digital circuits. On the
technical side, the course introduces the representation of basic data types such as numbers, characters, and
strings as well as the von Neuman computer architecture. On the algorithmic side, the course introduces the
notion of correctness and elementary concepts of complexity theory (big O notation).
25
Intended Learning Outcomes
By the end of this module, students will be able to
• explain basic concepts such as the correctness and complexity of algorithms (including the big O
notation);
• illustrate basic concepts of discrete math (sets, relations, functions);
• recall basic proof techniques and use them to prove properties of algorithms;
• explain the representation of numbers (integers, floats), characters and strings, and date and
time;
• summarize basic principles of Boolean algebra and Boolean logic;
• describe how Boolean logic relates to logic gates and digital circuits;
• outline the basic structure of a von Neumann computer;
• explain the execution of machine instructions on a von Neumann computer;
• describe the difference between assembler languages and higher-level programming languages;
• define the differences between interpretation and compilation;
• illustrate how an operating system kernel supports the execution of programs;
• determine the correctness of simple programs;
• write simple programs in a pure functional programming language.
Indicative Literature
Eric Lehmann, F. Thomson Leighton, Albert R. Meyer: Mathematics for Computer Science, online 2018.
David A. Patterson, John L Hennessy: Computer Organization and Design: The Hardware/Software Interface, 4th
edition, Morgan Kaufmann, 2011.
Miran Lipovaca: Learn You a Haskell for Great Good!: A Beginner's Guide, 1st edition, No Starch Press, 2011.
This module introduces the functional programming language Haskell. Students develop their functional
programming skills by solving programming problems. The module achievement ensures that a sufficient level of
practical programming and problem-solving skills has been obtained.
26
7.4 Introduction to Robotics and Intelligent System
Prof. Dr. Francesco • Robotics and Intelligent Systems (RIS) Mandatory for RIS, CS and
Maurelli ECE
Mandatory elective for
Physics
This module represents an initial introduction to robotics and intelligent systems, starting from the basics of
mathematics and physics applied to simple robotics scenarios. It will cover transformation matrices and
quaternions for reference systems. Students will then learn and the basics of trajectory planning and robotic
systems. The second part of the module offers an introduction to the modeling and design of linear control systems
in terms of ordinary differential equations (ODEs). Students learn how to analyze and solve systems of ODEs using
state and frequency space methods. The concepts covered include time and frequency response, stability, and
steady-state errors. This part culminates with a discussion on P, PI, PD, and PID controllers. The lab is designed
to guide students through practical hands-on work with various components of intelligent systems. It will focus
on the interfacing of a microcontroller with commonly used sensors and actuators.
27
Intended Learning Outcomes
By the end of this module, successful students will be able to
• compute 3D transformations;
• understand and apply quaternion operations;
• apply trajectory planning techniques;
• model common mechanical and electrical systems;
• understand and apply the unilateral Laplace transform and its inverse;
• explore linear systems and tune their behavior;
• program the open-source electronic prototyping platform Arduino;
• interface Arduino to several different sensors and actuators.
Indicative Literature
R. V. Roy, Advanced Engineering Dynamics. R. V. Roy, 2015.
R. N. Jazar, Theory of Applied Robotics. Springer, 2010.
N.S. Nise, Control Systems Engineering. Wiley, 2010.
28
7.5 Databases and Web Services
Module Components
Working knowledge of basic data structures, such as trees, is required as well as familiarity with an object-oriented
programming language such as C++. Basic knowledge of algebra is useful. For the project work, students benefit
from having basic hands-on skills using Linux and, ideally, basic knowledge of a scripting language such as Python
(the official Python documentation is available on https://docs.python.org/).
A hands-on group project complements the theoretical aspects: on a self-chosen topic, students implement the
core of a web-accessible information system using Python (or a similar language), MySQL, and Linux, guided
through homework assignments.
29
Intended Learning Outcomes
By the end of this module, students will be able to
• read and write ER and UML diagrams;
• design and normalize data models for relational databases;
• write SQL queries and understand their evaluation by a database server;
• explain the concept of transactions and how to use transactions in application design;
• use web application frameworks to create dynamic websites;
• describe the differences of selected NoSQL data models and make a requirement-driven choice;
• restate three-tier architectures and their components;
• discuss the principles and basic mechanisms of reactive website design;
• summarize the security and privacy issues in the context of databases and web services.
Indicative Literature
Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom: Database Systems: The Complete Book. 2nd edition,
Pearson, 2008.
Ragu Ramakrishnan: Database Management Systems. 3rd edition, McGraw Hill, 2003.
James Lee: Open Source Web Development with LAMP. Pearson, 2003.
Completion: To pass this module, the examination of each module component has to be passed with at least
45%.
30
7.6 Software Engineering
Module Component
Students are expected to be able to develop software using an object-oriented programming language such as
C++, and they should have access to a Linux system and associated software development tools.
The lectures are accompanied by a software project in which students have to develop a software solution to a
given problem. The problem is described from the viewpoint of a customer and students working in teams have
to execute a whole software project lifecycle. The teams have to create a suitable software architecture and
software design, implement the components, and integrate the components. The teams have to ensure that basic
quality requirements for the solution and the components are defined and satisfied. The students produce various
artifacts such as design documents, source code, test cases and user documentation. All artifacts need to be
maintained in a version control system and the commits should allow the instructor and other team members to
track in a meaningful way the changes and who has been contributing them.
31
Intended Learning Outcomes
By the end of this module, students will be able to
• understand and apply object-oriented design patterns;
• read and write UML diagrams;
• contrast the benefits and drawbacks of different software development models;
• design and plan a larger software project involving a team development effort;
• translate requirements formulated by a customer into computer science terminology;
• evaluate the applicability of different software engineering models for a given software
development project;
• assess the quality of a software design and its implementation;
• apply tools that assist in the various stages of a software development process;
• work effectively in a team toward the goals of the team.
Indicative Literature
Ian Sommerville: Software Engineering, Pearson, 2010.
Roger Pressman: Software Engineering – a Practitioner's Approach, McGraw-Hill, 2014.
Scope: The first three intended learning outcomes of the module (the lecture module component)
Scope: The remaining intended learning outcomes of the module (the project module component)
Completion: To pass this module, the examination of each module component has to be passed with at least
45%.
32
7.7 Operating Systems
Module Components
Students are expected to have a working Linux installation, which allows them to compile and run sample
programs provided by the instructor and to implement their own solutions for homework assignments.
Indicative Literature
Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Applied Operating System Concepts, John Wiley, 2000.
Andrew S. Tanenbaum, Herbert Bos: Modern Operating Systems, Prentice Hall, 4th edition, Pearson, 2015.
William Stallings: Operating Systems: Internals and Design Principles, 8th edition, Pearson, 2014.
Robert Love: Linux Kernel Development, 3rd edition, Addison Wesley, 2010.
Robert Love: Linux System Programming: Talking Directly to the Kernel and C Library, 2nd edition, O'Reilly,
2013.
This module includes hands-on assignments so that students can develop their system programming skills. The
module achievement ensures that a sufficient level of practical system programming skills has been obtained.
34
7.8 Automata, Computability, and Complexity
Module Components
None
Content and Educational Aims
This module introduces the mathematical theory of computation. Several types of abstract computational
machines (called automata) are introduced together with the associated theory of formal languages. A formal
language is a set of words over a defined alphabet that are well-formed according to a specific set of rules, called
the grammar of the language. After studying the relationship between automata models and classes of formal
languages, this course addresses the fundamental question "What problems can a computer possibly solve?'' by
characterizing those solvable problems, equivalently, through Turing machines, random access machines,
recursive functions and lambda calculus. A full answer to the related question, "How many computational
resources are needed for solving a given problem?'' is not known today. However, the basic outlines of today's
theory of computational complexity will be presented up to the most famous open problem in computer science,
namely the "P = NP'' question: if a computer could guess the right answer to a computational problem (and only
needs to check its correctness), would that computer be faster than another one that cannot guess the right
solution? This may seem to be a ridiculously obvious case of a clear YES answer, but in fact it is considered by
many to be the deepest open question in contemporary mathematics (and computer science, of course).
This module provides the core education in theoretical computer science. The material covered in this module
gives students access to any field in computer science, which is based on discrete-mathematical formal
foundations, such as the theory of automata and formal languages or compiler design.
35
Intended Learning Outcomes
By the end of this module, students will be able to
• explain discrete automata models (finite state machines, pushdown automata, Turing machines);
• describe the Chomsky hierarchy of formal languages and classify formal languages;
• characterize classes of formal languages by automata models and grammars;
• define formal models of computation such as Turing machines;
• explain the equivalences of formal models of computation;
• illustrate the nature and impact of the Church–Turing hypothesis;
• construct diagonalization arguments;
• give examples of functions that are not computable;
• contrast central complexity classes (L, P, NP, EXP, …);
• apply reduction techniques both for decidability and complexity;
• create a reduction-based check of whether a problem is NP-complete.
Indicative Literature
Michael Sipser: Introduction to the Theory of Computation, 2nd edition, PWS Publishing Company, 1997.
(Primary Literature).
John Hopcroft, Rajeev Motwani, Jeffrey Ullman: Introduction to Automata Theory, Languages, And Computation,
3rd edition, Pearson, 2006.
36
7.9 Computer Networks
Module Components
Students are expected to be familiar with the C programming language and to learn basics of higher-level scripting
languages such as Python (the official Python documentation is available on https://docs.python.org/).
Students taking this module will understand how computer networks work and they will be able to assess
communication networks, including aspects such as performance but also robustness and security. Students will
learn that the design of communication networks is not only influenced by technical constraints but also by the
necessity to define common standards, which often requires to take engineering decisions that reflect non-
technical requirements.
37
• contrast addressing mechanisms and translations between addresses used at different layers;
• demonstrate how the Internet network layer forwards packets;
• present how routing algorithms and protocols are used to determine and select routes;
• describe how the Internet transport layer provides different end-to-end services;
• demonstrate how names are resolved to addresses and vice versa;
• summarize how application layer protocols send and access electronic mail or access resources on
the world-wide web;
• design and implement simple application layer protocols;
• recognize to which extent computer networks are fragile and evaluate strategies to cope with the
fragility;
• analyze traffic traces produced by a given computer network.
Indicative Literature
James F. Kurose, Keith W. Ross: Computer Networking: A Top-Down Approach Featuring the Internet, 3rd Edition,
Addison-Wesley, 2004.
Andrew S. Tanenbaum: Computer Networks, 4th Edition, Prentice Hall, 2002.
38
7.10 Legal and Ethical Aspects of Computer Science
Module Components
None
Content and Educational Aims
Information technology has a profound impact on society. This module introduces the legal and ethical frameworks
that are relevant for computer scientists taking up qualified employment or joining advanced study programs
leading to a career in education and research. The module provides an overview of intellectual property rights and
their regulations, data protection regulations, and ethical frameworks defined by professional organizations.
Students are confronted with a collection of case studies to develop sensitivity to legal and ethical dilemmas with
which people are sometimes faced during the construction or operation of advanced information processing
systems.
Indicative Literature
Not specified.
39
Usability and Relationship to other Modules
• Mandatory elective module for a major in CS.
40
7.11 Secure and Dependable Systems
Module Components
Duration Workload
None
Content and Educational Aims
This module introduces students to the fundamentals of computer security and techniques used to build and
analyze dependable systems. This is an important topic given that computer systems are increasingly embedded
in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars).
Furthermore, computer systems control complex communication systems that form critical infrastructure of the
modern globalized world. Proper protection of information requires an applied understanding of cryptography and
how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to
make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent,
identify, and fix them.
41
Indicative Literature
Bruce Schneier: Applied Cryptography, 20th Anniversary Edition, Wiley, 2015.
Wm.A. Conklin, Gregory White: Principles of Computer Security, 5th Edition, McGraw-Hill, 2018.
Simon Singh: The Code Book: Science of Secrecy from Ancient Egypt to Quantum Cryptography, Anchor Books,
2000.
42
7.12 Academic Skills in Computer Science
Indicative Literature
Peter Zobel: Writing for Computer Science, 3rd edition, Springer, 2014.
43
Assessment Type: Project Weight: 100%
44
7.13 Computer Graphics
None
Content and Educational Aims
This module deals with the digital synthesis and manipulation of visual content. The creation process of computer
graphics spans from the creation of a three-dimensional (3D) scene to displaying or storing it digitally. Prominent
tasks in computer graphics are geometry processing, rendering, and animation. Geometry processing is concerned
with object representations such as surfaces and their modeling. Rendering is concerned with transforming a
model of the virtual world into a set of pixels by applying models of light propagation and sampling algorithms.
Animation is concerned with descriptions of objects that move or deform over time. This is an introductory module
covering the concepts and techniques of 3D (interactive) computer graphics. It covers mathematical foundations,
basic algorithms and principles, and some advanced methods and concepts. An introduction to the
implementation of simple programs using a mainstream computer graphics library completes this module.
Indicative Literature
45
John Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley,
Computer Graphics - Principles and Practice, 3rd edition, Addison-Wesley, 2013.
Peter Shirley, Steve Marschner, Fundamentals of Computer Graphics, 4th edition, Taylor and Francis Ltd, 2016.
Matt Pharr, Wenzel Jakob, Greg Humphreys, Physically Based Rendering: From Theory to Implementation, 3rd
edition, Morgan Kaufmann, 2016.
46
7.14 Image Processing
None
Content and Educational Aims
The module provides a foundation of the theory and applications of digital image processing. The first part
concentrates on morphological image processing, which is one of the most basic yet powerful tool sets in dealing
with digital images, and it is the backbone of many of today's high-performance image analysis systems. The
module starts by introducing concepts such as dilation, erosion, geodesic transformations, morphological filtering,
and the watershed transform. It then develops into advanced strategies for image segmentation and texture
analysis. The second part of the module will concentrate on understanding problems from real-world applications,
such as in biomedical imaging, and provides an overview of the broader field of image processing. The course can
be combined with other courses on machine learning and signal analysis. Homework assignments will cover C/C++
implementations of basic and combined image processing algorithms.
Indicative Literature
Milan Sonka, Vaclav Hlavac, Roger Boyle: Image Processing, Analysis, and Machine Vision, 3rd edition, Nelson
Engineering, 2007.
47
Pierre Soille, Morphological Image Analysis: Principles and Applications, 2nd edition, Springer, 2004.
48
7.15 Distributed Algorithms
None
Content and Educational Aims
Distributed algorithms are the foundation of modern distributed computing systems. They are characterized by a
lack of knowledge of a global state, a lack of knowledge of a global time, and inherent non-determinism in their
execution. The course introduces basic distributed algorithms using an abstract formal model, which is centered
on the notion of a transition system. The topics covered are logical clocks, distributed snapshots, mutual exclusion
algorithms, wave algorithms, election algorithms, reliable broadcast algorithms, and distributed consensus
algorithms. Process algebras are introduced as another formalism to describe distributed and concurrent systems.
The distributed algorithms introduced in this module form the foundation of computing systems that have to be
scalable and fault-tolerant, e.g., large-scale distributed non-standard databases or distributed file systems. The
course is recommended for students interested in the design of scalable distributed computing systems.
49
Indicative Literature
Maarten van Steen, Andrew S. Tanenbaum: Distributed Systems, 3rd edition, Pearson Education, 2017.
Nancy A. Lynch: Distributed Algorithms, Morgan Kaufmann, 1996.
50
7.16 Web Application Development
None
Content and Educational Aims
A web application is a client-server computer program where the client provides the user interface and the client
side logic runs in a web browser or as an app running on a mobile device such as a smart phone or a tablet. A key
characteristic is that more complex application logic and data storage is realized by a server offering a web
application programming interface.
This module focuses on the client side of web application and introduces technologies that can be used to
implement interactive user interfaces and client side logic. It builds on the module databases and web services,
which covers the data storage components and server side logic of web applications.
This module consists of a lecture and an associated project. The lecture component introduces programming
languages and frameworks that are widely used for implementing the client side of web applications such as Java,
Kotlin, Swift, JavaScript and frameworks built on top of them. In the project component, students develop web
applications and test them on existing and openly accessible web services.
51
• use languages such as Java, Kotlin, or Swift to implement mobile web applications;
• use web standards such as HTML, CSS, and JavaScript to implement web applications running in
standard web browsers.
Indicative Literature
Stoyan Stefanov: JavaScript Patterns, O'Reilly Media, 2010.
Alexey Soshin: Hands-on Design Patterns with Kotlin, Packt Publishing, 2018.
Alex Banks, Eve Porcello: Learning React: Functional Web Development.with React and Flux, O'Reilly, 2017.
Completion: To pass this module, the examination of each module component has to be passed with at least
45%.
52
7.17 Human-Computer Interaction
None
Content and Educational Aims
Computer systems often interact with human beings. The design of a good human–computer interface is often
crucial for the acceptance and the success of a software system. Human–computer interface designs have to
satisfy several requirements such as usability, learnability, efficiency, accessibility, and safety. The module
discusses the evolution of human–computer interaction models and introduces design principles for graphical
user interfaces and other types of interaction (e.g., visual, voice, gesture). Human–computer interaction designs
are often evaluated using prototypes or mockups that can be given to test candidates to evaluate the effectiveness
of the design. The module introduces evaluation strategies as well as tools and techniques that can be used to
prototype human–computer interfaces.
Indicative Literature
Not specified
54
7.18 Artificial Intelligence
Indicative Literature
S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2009.
S. M. LaValle, Planning Algorithms. Cambridge University Press, 2006.
J.-C. Latombe, Robot Motion Planning, Springer, 1991.
55
Usability and Relationship to other Modules
• This module gives an introduction to Artificial Intelligence (AI) excluding the aspects of machine
learning (ML), which are covered in a dedicated module that complements this one.
• Mandatory for a major in RIS
• This module serves as a third year Specialization module for CS major students.
56
7.19 Robotics
57
• use the basic concepts and methods of error propagation estimation in the context of relative
localization with dead-reckoning;
• outline and compare the basic concepts and methods of mapping.
Indicative Literature
J. J. Craig, Introduction to robotics - Mechanics and control, Prentice Hall, 2005.
G. Dudek and M. Jenkin, Computational Principles of Mobile Robotics, Cambridge University Press, 2000.
R. Siegwart and I. R. Nourbakhsh, Introduction to Autonomous Mobile Robots, The MIT Press, 2004.
S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics, MIT Press, 2005.
H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E. Kavraki, and S. Thrun, Principles of Robot
Motion, MIT Press, 2005.
58
7.20 Computer Vision
Prof. Dr. Francesco • Robotics and Intelligent Systems (RIS) Mandatory elective for RIS
Maurelli Mandatory elective for CS
Indicative Literature
D.A. Forsyth and J. Ponce, Computer Vision: A Modern Approach. 2nd edition, 2011.
R. Szeliski, Computer Vision: Algorithms and Applications, Springer, http://szeliski.org/Book, 2010.
Ma et al., An Invitation to 3 D Vision: From Images to Geometric Models, Springer, 2004.
59
Usability and Relationship to other Modules
• Giving the foundation of computer vision, this module is important for RIS project and for advanced
specialization courses.
• Mandatory elective for a major in RIS.
• This module serves as a third year Specialization module for CS major students.
60
7.21 Machine Learning
None
Content and Educational Aims
Machine learning (ML) concerns algorithms that are fed with (large quantities of) real-world data, and which
return a compressed “model” of the data. An example is the “world model” of a robot; the input data are sensor
data streams, from which the robot learns a model of its environment, which is needed, for instance, for navigation.
Another example is a spoken language model; the input data are speech recordings, from which ML methods
build a model of spoken English; this is useful, for instance, in automated speech recognition systems. There
exist many formalisms in which such models can be cast, and an equally large diversity of learning algorithms.
However, there is a relatively small number of fundamental challenges that are common to all of these formalisms
and algorithms. The lectures introduce such fundamental concepts and illustrate them with a choice of elementary
model formalisms (linear classifiers and regressors, radial basis function networks, clustering, online adaptive
filters, neural networks, or hidden Markov models). Furthermore, the lectures also (re-)introduce required
mathematical material from probability theory and linear algebra.
61
Indicative Literature
T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning: Data Mining, Inference, and
Prediction, 2nd edition, Springer, 2008.
S. Shalev-Shwartz, Shai Ben-David: Understanding Machine Learning, Cambridge University Press, 2014.
C. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.
T.M. Mitchell, Machine Learning, Mc Graw Hill India, 2017.
62
7.22 Digital Design
Students may prepare themselves with books like “Brent E. Nelson, Designing Digital Systems, 2005” and “Pong
P. Chu, RTL Hardware Design Using VHDL, A John Wiley & Sons, Inc, Publication, 2006”
Content and Educational Aims
The current trend of digital system design is towards hardware description languages (HDLs) that allow compact
description of very complex hardware constructs. The module provides a sound introduction to basic components
of a digital system such as logic gates, multiplexers, decoders, flip-flops and registers as well as VHDLs such as
types, signals, sequential and concurrent statements. Methods and principle of designing complex digital systems
such as finite state machines, hierarchical design, pipelined design, RTL design methodology and parameterized
design will also be introduced. Students will learn VHDL for programming FPGA boards to realize small digital
systems in hardware (i.e. on FPGA boards). Such digital systems could be adders, multiplexers, control units,
multipliers, asynchronous serial communication modules (UART). At the end of the module, the students should
be able to design a simple digital system by VHDL on an FPGA board.
Indicative Literature
Brent E. Nelson, Designing Digital Systems with SystemVerilog, 2018, ISBN-13: 978-1980926290
Pong P. Chu, RTL Hardware Design Using VHDL, Wiley-IEEE Press, 2006, ISBN-13: 978-0471720928
63
Usability and Relationship to other Modules
• This module introduces how to design digital systems and how to realize them on a FPGA board which
could also serve as a specialization module for students from Computer Science and Robotics and
Intelligent Systems.
• Mandatory elective 3rd year Specialization module for ECE, CS and RIS major students.
64
7.23 Information Theory
Some basic knowledge of communications and sound understanding of probability is recommended. Hence, it is
strongly advised to take the methods and skills course Probability and Random Processes prior to this module.
Nevertheless, probability basics will also be revised within the module.
65
Intended Learning Outcomes
By the end of this module, students should be able to
• explain what is understood as the information content of data and the corresponding limits of data
compression algorithms;
• design and apply fundamental algorithms in data compression;
• explain the information theoretic limits of data transmission;
• apply the mathematical basics of channel coding and cryptography;
• implement some channel coding schemes;
• differentiate the principles of encryption and authentication schemes and implement discussed
procedures.
Indicative Literature
Thomas M. Cover, Joy A. Thomas, Elements of Information Theory, 2nd ed., Wiley, Sept. 2006.
David Salomon, Data Compression, The Complete Reference, 4th ed., Springer, 2007.
66
7.24 Parallel and Distributed Computing
Indicative Literature
Zaccone, Python Parallel Programming Cookbook, O'Reilly.
J.C. Daniel, Data Science with Python and Dask, Manning Publications.
67
Z. Radtka, D. Miner, Hadoop with Python. Hadoop with Python, O'Reilly.
68
7.25 Internship / Startup and Career Skills
Error! Reference source not found.
69
7.26 Bachelor Thesis and Seminar
Module Components
Study Program
Chair • All undergraduate programs Mandatory for all
undergraduate programs
• Identify an area or a topic of interest and discuss this with your prospective supervisor in a timely manner.
• Create a research proposal including a research plan to ensure timely submission.
• Ensure you possess all required technical research skills or are able to acquire them on time.
• Review the University’s Code of Academic Integrity and Guidelines to Ensure Good Academic Practice.
70
Content and Educational Aims
This module is a mandatory graduation requirement for all undergraduate students to demonstrate their ability to
address a problem from their respective major subject independently using academic/scientific methods within a
set time frame. Although supervised, this module requires students to be able to work independently and
systematically and set their own goals in exchange for the opportunity to explore a topic that excites and interests
them personally and that a faculty member is interested in supervising. Within this module, students apply their
acquired knowledge about their major discipline and their learned skills and methods for conducting research,
ranging from the identification of suitable (short-term) research projects, preparatory literature searches, the
realization of discipline-specific research, and the documentation, discussion, interpretation, and communication
of research results.
This module consists of two components, an independent thesis and an accompanying seminar. The thesis
component must be supervised by a Jacobs University faculty member and requires short-term research work, the
results of which must be documented in a comprehensive written thesis including an introduction, a justification
of the methods, results, a discussion of the results, and a conclusion. The seminar provides students with the
opportunity to practice their ability to present, discuss, and justify their and other students’ approaches, methods,
and results at various stages of their research in order to improve their academic writing, receive and reflect on
formative feedback, and therefore grow personally and professionally.
Indicative Literature
Justin Zobel, Writing for Computer Science, 3rd edition, Springer, 2015.
Scope: The presentation focuses mainly on ILOs 6 and 7, but by nature of these ILOs it also touches on the
others.
Completion: To pass this module, the examination of each module component has to be passed with at least
45%.
71
Two separate assessments are justified by the size of this module and the fact that the justification of solutions
to problems and arguments (ILO 6) and discussion (ILO 7) should at least have verbal elements. The weights of
the types of assessments are commensurate with the sizes of the respective module components.
72
7.27 Jacobs Track Modules
73
Recommendations for Preparation
Review all of higher-level High School Mathematics, in particular the topics explicitly named in “Entry
Requirements – Knowledge, Ability, or Skills” above.
Content and Educational Aims
This module is the first in a sequence introducing mathematical methods at the university level in a form relevant
for study and research in the quantitative natural sciences, engineering, Computer Science, and Mathematics.
The emphasis in these modules is on training operational skills and recognizing mathematical structures in a
problem context. Mathematical rigor is used where appropriate. However, a full axiomatic treatment of the subject
is provided in the first-year modules “Analysis I” and “Linear Algebra”.
• apply the methods described in the content section of this module description to the extent that they
can solve standard text-book problems reliably and with confidence;
• recognize the mathematical structures in an unfamiliar context and translate them into a mathematical
problem statement;
• recognize common mathematical terminology used in textbooks and research papers in the
quantitative sciences, engineering, and mathematics to the extent that they fall into the content
categories covered in this module.
Indicative Literature
S.I. Grossman (2014). Calculus of one variable, 2nd edition. Cambridge: Academic Press.
S.A. Leduc (2003). Linear Algebra. Hoboken: Wiley.
K. Riley, M. Hobson, S. Bence (2006). Mathematical Methods for Physics and Engineering, third edition.
Cambridge: Cambridge University Press.
Usability and Relationship to other Modules
• The module is a mandatory / mandatory elective module of the Methods and Skills area that is part of
the Jacobs Track (Methods and Skills modules; Community Impact Project module; Language
modules; Big Questions modules).
• The module is followed by “Calculus and Elements of Linear Algebra II”. All students taking this
module are expected to register for the follow-up module.
• A rigorous treatment of Calculus is provided in the module “Analysis I”. All students taking “Analysis
I” are expected to either take this module or exceptionally satisfy the conditions for advanced
placement as laid out in the Jacobs Academic Policies for Undergraduate Study.
• The second-semester module “Linear Algebra” will provide a complete proof-driven development of the
theory of Linear Algebra. Students enrolling in “Linear Algebra” are expected to have taken this
module; in particular, the module “Linear Algebra” will assume that students are proficient in the
operational aspects of Gauss elimination, matrix inversion, and their elementary applications.
• This module is a prerequisite for the module “Applied Mathematics” which develops more advanced
theoretical and practical mathematical tools essential for any physicist or mathematician.
• Mandatory for a major in CS, ECE, RIS, MATH and Physics
• Mandatory elective for a major in EES.
• Pre-requisite for Calculus and Elements of Linear Algebra II
• Elective for all other study programs.
74
Examination Type: Module Examination
75
7.27.1.2 Calculus and Elements of Linear Algebra II
Module Components
Prof. Dr. Marcel Oliver, • Jacobs Track – Methods and Skills Mandatory for CS, ECE,
Prof. Dr. Tobias Preußer MATH, Physics and RIS
76
• recognize common mathematical terminology used in textbooks and research papers in the
quantitative sciences, engineering, and mathematics to the extent that they fall into the content
categories covered in this module.
Indicative Literature
S.I. Grossman (2014). Calculus of one variable, 2nd edition. Cambridge: Academic Press.
S.A. Leduc (2003). Linear Algebra. Hoboken: Wiley.
K. Riley, M. Hobson, S. Bence (2006). Mathematical Methods for Physics and Engineering, third edition.
Cambridge: Cambridge University Press.
77
7.27.1.3 Probability and Random Processes
Review all of the first year calculus and linear algebra modules as indicated in “Entry Requirements – Knowledge,
Ability, or Skills” above.
78
The lecture comprises the following topics
• Brief review of number systems, elementary functions, and their graphs
• Outcomes, events and sample space.
• Combinatorial probability.
• Conditional probability and Bayes’ formula.
• Binomials and Poisson-Approximation
• Random Variables, distribution and density functions.
• Independence of random variables.
• Conditional Distributions and Densities.
• Transformation of random variables.
• Joint distribution of random variables and their transformations.
• Expected Values and Moments, Covariance.
• High dimensional probability: Chebyshev and Chernoff bounds.
• Moment-Generating Functions and Characteristic Functions,
• The Central limit theorem.
• Random Vectors and Moments, Covariance matrix, Decorrelation.
• Multivariate normal distribution.
• Markov chains, stationary distributions.
Indicative Literature
J. Hwang and J.K. Blitzstein (2019). Introduction to Probability, second edition. London: Chapman & Hall.
S. Ghahramani. Fundamentals of Probability with Stochastic Processes, fourth edition. Upper Saddle River:
Prentice Hall.
79
7.27.1.4 Numerical Methods
Prof. Dr. Marcel • Jacobs Track – Methods and Skills Mandatory for ECE, MATH and
Oliver, Prof. Dr. Physics
Tobias Preußer Mandatory elective for CS and
RIS
80
eigenvalues,
eigenvectors,
elementary
techniques for
solving systems of
linear equations)
Recommendations for Preparation
Taking Calculus and Elements of Linear Algebra II before taking this module is recommended, but not required. A
thorough review of Calculus and Elements of Linear Algebra, with emphasis on the topics listed as “Knowledge,
Abilities, or Skills” is recommended.
81
Indicative Literature
D. Kincaid and W. Cheney (1991). Numerical Analysis: Mathematics of Scientific Computing. Pacific Grove:
Brooks/Cole Publishing.
82
7.27.1.5 Discrete Mathematics
Module Components
83
Intended Learning Outcomes
By the end of the module, students will be able to
Indicative Literature
J.H. van Lint and R.M. Wilson (2001). A Course in Combinatorics, second edition. Cambridge: Cambridge
University Press.
84
Big Questions Modules
85
Content and Educational Aims
All “Big Questions” (BQ) modules deal with the economic, technological, societal, and environmental contexts of
the global issues and challenges of the coming decades. BQ modules intend to raise awareness of those challenges
and broaden students’ horizons with applied problem solving beyond the borders of their own disciplines.
Knowledge and skills offered in the interdisciplinary BQ modules support students in their development to become
informed and responsible citizens in a global society.
Water is the basic prerequisite for life on our planet, but it has become a scarce resource and a valuable
commodity. Water is of fundamental importance to the world’s economy and global food supply, in addition to
being a driving force behind geopolitical conflict. In this module, the profound impact of water on all aspects of
human life will be addressed from very different perspectives: from the natural and environmental sciences and
engineering, and from the social and cultural sciences.
Following topical lectures in the Fall semester, students will work on projects on the occasion of the World Water
Day (March 22) in small teams comprised of students from various disciplines and with different cultural
backgrounds. This teamwork will be accompanied by related tutorials.
Indicative Literature
Finney, John (2015). Water. A Very Short Introduction. Oxford: Oxford University Press.
Zetland, David (2011). The End of Abundance: Economic Solutions to Water Scarcity. California: Aguanomics
Press.
United Nation (January 2016): Sustainable Development Goals. Retrieved from https://www.ipcc.ch
Completion: This module is passed with an assessment-component weighted average grade of 45% or higher.
86
7.27.2.2 Ethics in Science and Technology
87
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, students will be able to
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• summarize and explain ethical principles;
• critically look at scientific results that seem too good to be true;
• apply the ethical concepts to virtually all areas of science and technology;
• discover the responsibilities of society and of the individual for ethical standards;
• understand and judge the ethical dilemmas in many areas of the daily life;
• discuss the ethics of gene modification at the level of cells and organisms;
• reflect on and evaluate clinical trials in relation to the Helsinki Declaration;
• distinguish and evaluate the ethical guidelines for studies with test persons.
Indicative Literature
Not specified.
Weight: 100%
88
7.27.2.3 Global Health – Historical context and future challenges
89
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, students will be able to
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• identify the historical context and today’s function of global health institutions, surveillance and
response systems;
• evaluate and compare global indicators of disease burden, especially by using online databases and
repositories
• break down global development goals directly related to global health
• discuss and differentiate present and future challenges of public and global health responses to novel
disease outbreaks in a global society network context
Indicative Literature
• Richard Skolnik, Global Health 101, 4th Edition, Jones & Bartlett Publishers, 2019
• Solomon Benatar (Editor), Global Health - Ethical Challenges, 2nd Edition, Cambridge University Press,
2021
Module achievement: Oral presentation of selected literature and media topics on global health (topics are given
but can also be suggested by students for approval).
The module achievement ensures sufficient knowledge about key global health concepts, challenges and current
topics
90
7.27.2.4 Global Existential Risks
91
imminent global existential risks. This interdisciplinary module will allow students to look across relevant and
diverse subject fields, thus enabling them to initiate and to contribute substantially to discussions about these
special risks.
Indicative Literature
Nick Bostrom, Milan M. Cirkovic (eds.):. Global Catastrophic Risks,Oxford University Press,2011.
Martin Rees: Our Final Hour – A Scientist’s Warning,Basic Books,2009.
Martin Rees: On the Future – Prospects for Humanity, Princeton University Press, 2021.
Module achievement: Oral presentation of selected literature and media topics on our civilization’s existential
risks (topics are given but can also be suggested by students for approval)
The module achievement ensures sufficient knowledge about key risks and challenges for humanity’s survival.
92
7.27.2.5 Future: From Predictions and Visions to Preparations and Actions
93
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, student should be able to
• use their factual and methodological knowledge to reflect on interdisciplinary questions by comparing
approaches from various disciplines;
• distinguish and qualify important approaches to forecasting and prediction;
• summarize the history of utopias, dystopias, and the ideas presented in classical science fiction;
• characterize current developments in technology, ecology, society, and their implications for the
future.
Indicative Literature
United Nations (2015, September) Millennium Development Goals. Retrieved from
http://www.un.org/millenniumgoals.
United Nation (2016, January): Sustainable Development Goals. Retrieved from http://catalog.jacobs-
university.de/search~S0
United Nations University. https://unu.edu
US National Intelligence Council (2017). Global Trends. Retrieved from https://www.dni.gov/index.php/global-
trends-home.
International Panel on Climate Change. Retrieved from https://www.ipcc.ch.
World Inequality Lab (2017, December). World Inequality Report 2018. Retrieved from
https://wir2018.wid.world.
World Health Organization. Retrieved from http://www.who.int.
World Trade Organization. Retrieved from https://www.wto.org
Gapminder. Retrieved from https://www.gapminder.org.
World Bank. Retrieved from http://www.worldbank.org.
94
7.27.2.6 Climate Change
95
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, students should be able to
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• advance a knowledge-based opinion on the complex module topics, including: impact of climate
change on the natural environment over geological timescales and since the industrial revolution, and
the policy framework in which environmental decisions are made internationally;
• work effectively in a team environment and undertake data interpretation;
• discuss approaches to minimize habitat destruction.
Indicative Literature
The course is based on a self-contained, detailed set of online lecture notes.
Ruddiman, William F. Earth's Climate (2001). Past and future. New York: Macmillan.
96
7.27.2.7 Extreme Natural Hazards, Disaster Risks, and Societal Impact
97
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, student should be able to
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• advance a knowledge-based opinion on the complex module topics, including how natural processes
affect and interact with our civilization, especially those that create hazards and disasters;
• distinguish the methods scientists use to predict and assess the risk of natural disasters;
• discuss the social implications and policy framework in which decisions are made to manage natural
disasters;
• work effectively in a team environment.
Indicative Literature
The course is based on a self-contained, detailed set of online lecture notes.
Ismail-Zadeh, Alik, et al., eds (2014). Extreme natural hazards, disaster risks and societal implications. In Special
Publications of the International Union of Geodesy and Geophysics Vol. 1. Cambridge: Cambridge University
Press.
98
7.27.2.8 International Development Policy
99
Intended Learning Outcomes
Students acquire transferable and key skills in this module.
By the end of this module, the student should be able to
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• breakdown the complexity of modern development policy;
• identify, explain, and evaluate the tools applied in development policy;
• formulate well-justified criticism of development policy;
• summarize and present a module-related topic in an appropriate verbal and visual form.
Indicative Literature
Francis Fukuyama (2006). The end of history and the last man. New York: Free Press.
Kingsbury, McKay, Hunt (2008). International Development.Issues and challenges. London: Palgrave.
A.Sumner, M.Tiwari (2009) After 2015: International Development Policy at a crossroad. New York: Palgrave
Macmillan.
Graduate Institute of International Development, G. Carbonnier eds. (2001). International Development Policy:
Energy and Development. New York:Palgrave Macmillan.
John Donald McNeil. International Development: Challenges and Controversy. Sentia Publishing,e-book.
100
7.27.2.9 Sustainable Value Creation with Biotechnology. From Science to Business
Module Components
Number Name Type CP
JTBQ-011 Sustainable Value Creation with Biotechnology. From Lecture 2.5
Science to Business /Tutorial
Module Coordinator Program Affiliation Mandatory Status
N.N.
• Jacobs Track - Big Questions Mandatory elective for
students of all
undergraduate study except
IEM
101
Content and Educational Aims
All “Big Questions” (BQ) modules deal with the economic, technological, societal and environmental contexts of
the global issues and challenges of the coming decades. The BQ modules intend to raise awareness of those
challenges and broaden the students’ horizon with applied problem solving beyond the borders of their own
disciplines. Knowledge and skills offered in the interdisciplinary BQ modules support students in their
development to become an informed and responsible citizen in a global society.
This module has a particular focus on the role that Biotechnology and Biorefining is expected to play in social,
economic and environmental contexts.
To deliver such a vision the module will prepare students to extract value form Biotechnology and associated
activities. This will be done in the form of business cases that will be systematically developed by students
alongside the development of the module. In this way, students will develop entrepreneurial skills while
understanding basic business-related activities that are not always present in a technical curriculum. Case
development will also provide students with the possibility of understanding the social, economic, environmental
impact that Biotechnology and Biorefining can deliver in a Bio-Based Economy. The knowledge and skills gained
through this module are in direct and indirect support of the UN 2030 Agenda for Sustainable Development:
“Transforming our World”.
• design and develop a Business Case based on the tools provided by modern Biotechnology;
• explain the interplay between Science, Technology and Economics / Finance;
• use their disciplinary factual and methodological knowledge to reflect on interdisciplinary questions by
comparing approaches from various disciplines;
• work effectively in a team environment and undertake data interpretation and analysis;
• discuss approaches to value creation in the context of Biotechnology and Sustainable Development;
• explain the ethical implications of technological advance and implementation;
• demonstrate presentation skills.
Indicative Literature
Springham, D., V. Moses & R.E. Cape (1999). Biotechnology – The Science and the Business. 2nd. Ed. Boca
Raton: CRC Press.
Kornberg, Arthur (2002). The Golden Helix: Inside Biotech Ventures. Sausalito, CA: University Science Books.
UNESCO, Director-General. (2017). UNESCO moving forward the 2030 Agenda for Sustainable Development.
Retrieved from https://unesdoc.unesco.org/ark:/48223/pf0000247785
102
Weight: 25%
Scope: Intended learning outcomes of the module (2-7)
103
7.27.2.10 Gender and Multiculturalism. Debates and Trends in Contemporary
Societies
104
the needle from mere reflection by conducting “action-research” that will inform the outcomes of their course
projects.
Indicative Literature
Biological Limits of Gender Construction Author(s): J. Richard Udry
Source: American Sociological Review , Jun., 2000, Vol. 65, No. 3 (Jun., 2000), pp. 443- 457. Published by:
American Sociological Association Stable URL: https://www.jstor.org/stable/2657466
The Development of Gendered Interests and Personality Qualities From Middle Childhood Through Adolescence:
A Biosocial Analysis. Susan M. McHale, Aryn M. Dotterer, Ji-Yeon Kim, Ann C. Crouter and Alan Booth. Child
Development, March/April 2009, Volume 80, Number 2, Pages 482–495
Factors influencing attitudes to violence against women. Michael Flood and Bob Pease. Trauma, Violence, &
ABuse, Vol. 10, No. 2, April 2009 125-142 dOi: 10.1177/1524838009334131. 2009 sAge Publications
Gender and Anti-immigrant Attitudes in Europe. Aaron Ponce (2017) Socius: Sociological Research for a Dynamic
World. Volume 3: 1–17. Reprints and permissions: sagepub.com/journalsPermissions.nav
105
7.27.2.11 The Challenge of Sustainable Energy
Number Type CP
JTBQ-014 The Challenge of Sustainable Energy Lecture 2.5
Module Program Affiliation Mandatory Status
Coordinator
• Big Questions Area: All undergraduate study programs Mandatory elective for
Prof. Dr. Karen students of all
Smith Stegen undergraduate study
programs, except IEM
106
• identify different types of renewable energies;
• explain the multi-level perspective (MLP), which models technology innovations and transitions;
• summarize the obstacles to energy transitions;
• compare a variety of policy mechanisms for encouraging renewable energies.
107
7.27.2.12 State, Religion and Secularism
Number Type CP
JTBQ-015 State, religion and secularism Lecture 2.5
Module Program Affiliation Mandatory Status
Coordinator
• Big Questions Area: All undergraduate study programs Mandatory elective for
Prof. Dr. students of all
Manfred O. Hinz undergraduate study
programs, except IEM
108
• For students interested in State, Religion and secularism, this module complements modules from other
programmes, such as IRPH and SMP
109
Community Impact Project
CIP Faculty • All undergraduate study programs except IEM Mandatory for all
Coordinator undergraduate study
programs except IEM
Entry Requirements Frequency Forms of Learning and
Teaching
Pre-requisites Co-requisites Knowledge, Abilities, or Annually
(Fall) • Introductory,
Skills
accompanying, and
final events: 10
☒ at least 15 CP from ☒ None • Basic knowledge hours
CORE modules in the of the main • Self-organized
major concepts and teamwork and/or
methodological practical work in the
instruments of the community: 115
respective hours
disciplines Duration Workload
Develop or join a community impact project before the 5th semester based on the introductory events during the
4th semester by using the database of projects, communicating with fellow students and faculty, and finding
potential companies, organizations, or communities to target.
Content and Educational Aims
CIPs are self-organized, major-related, and problem-centered applications of students’ acquired knowledge and
skills. These activities will ideally be connected to their majors so that they will challenge the students’ sense of
practical relevance and social responsibility within the field of their studies. Projects will tackle real issues in
their direct and/or broader social environment. These projects ideally connect the campus community to other
communities, companies, or organizations in a mutually beneficial way.
Students are encouraged to create their own projects and find partners (e.g., companies, schools, NGOs), but will
get help from the CIP faculty coordinator team and faculty mentors to do so. They can join and collaborate in
interdisciplinary groups that attack a given issue from different disciplinary perspectives.
Student activities are self-organized but can draw on the support and guidance of both faculty and the CIP faculty
coordinator team.
110
• understand the real-life issues of communities, organizations, and industries and relate them to
concepts in their own discipline;
• enhance problem-solving skills and develop critical faculty, create solutions to problems, and
communicate these solutions appropriately to their audience;
• apply media and communication skills in diverse and non-peer social contexts;
• develop an awareness of the societal relevance of their own scientific actions and a sense of social
responsibility for their social surroundings;
• reflect on their own behavior critically in relation to social expectations and consequences;
• work in a team and deal with diversity, develop cooperation and conflict skills, and strengthen their
empathy and tolerance for ambiguity.
Indicative Literature
Not specified
111
Language Modules
The descriptions of the language modules are provided in a separate document, the “Language
Module Handbook” that can be accessed from here: https://www.jacobs-
university.de/study/learning-languages
112
8 Appendix
Distributed Algorithms
JT Community Impact
Software Engineering
Computer Networks
Computer Graphics
Operating Systems
Image Processing
JT Big Questions
Bachelor Thesis
JT Language
Internship
Semester 1 2 1 2 3 4 3 4 3 3 4 4 5 6 5 6 6 1 2 3 4 5 5/6 5 1-4
Mandatory/mandatory elective m m m m m m m m m m m me me me me me m m m m me m me m me
Credits 7.5 7.5 7.5 7.5 7.5 7.5 7.5 7.5 5 2.5 5 2.5 5 5 5 5 15 5 5 5 5 15 10 5 10
Competencies*
Program Learning Outcomes A E P S
Work professionally in the highly
dynamic computer science field and
x x x x x x x x x x x x x x x x x x x x x x x x x x x x
enter graduate programs related to
computer science.
Apply fundamental concepts of
computer science while solving x x x x x x x x x x x x x x x x x x x
problems.
Think in an analytic way at multiple
x x x x x x x x x x x x x x x x x x x x x x x x
levels of abstraction.
Develop, analyze and implement
algorithms using modern software x x x x x x x x x x x x
engineering methods.
Understand the characteristics of a
range of computing platforms and their x x x x x x x x x
advantages and limitations.
Choose from multiple programming
paradigms, languages and algorithms in
x x x x x x x x x x x x x x x x
order to solve a given problem in an
adequate way.
Describe the fundamental theory of
x x x x
computation and computability.
Apply the necessary mathematical
x x x x x
methods.
Recognize the context in which
computer systems operate, including
x x x x x x x x x x x x x x x x x
interactions with people and the
physical world.
Describe the state of published
knowledge in their field or a x x x x x x x x x x x x x x x
specialization within it.
Analyze and model real life scenarios in
organizations and industries using
contemporary techniques of computer
x x x x x x x x x x x x x x x x x
science, also taking methods and
insights of other disciplines into
account.
Communicate solutions of problems in
computer science in both spoken and
x x x x x x x x x
written form appropriately to specialists
and non-specialists.
Draw scientifically-founded conclusions
that consider social, professional,
x x x x x x x x x x x x x x x x x x x
scientific and ethical aspects.
*Competencies: A-scientific/academic proficiency; E-competence for qualified employment; P-development of personality; S-competence for engagement in society