inf962 - Fundamental Competencies in Computing Science III: Algorithms and Computational Problem Solving (Complete module description)

inf962 - Fundamental Competencies in Computing Science III: Algorithms and Computational Problem Solving (Complete module description)

Original version English PDF Download
Module label Fundamental Competencies in Computing Science III: Algorithms and Computational Problem Solving
Modulkürzel inf962
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Verwendbarkeit des Moduls
  • Master Applied Economics and Data Science (Master) > Data Science
  • Master's Programme Engineering of Socio-Technical Systems (Master) > Fundamentals/Foundations
  • Master's Programme Environmental Modelling (Master) > Mastermodule
Zuständige Personen
  • Vogel-Sonnenschein, Ute (module responsibility)
  • Lehrenden, Die im Modul (Prüfungsberechtigt)
Prerequisites

No specific knowledge is required to take part in this module.

This module provides students with non-computer science backgrounds with the computational problem-solving skills necessary to complete subsequent computer science courses. It is not intended for students who study computer science or business informatics.

 

Skills to be acquired in this module
Graduates of the module have acquired a deeper understanding of basic theories and techniques in computer science and can classify problems that arise. This enables students to structure and model simple tasks from their subject area using computer science, to design approaches to solutions and to estimate the effort required to solve them. They have a basic understanding of the design and use of relational databases.

This course provides students with fundamental computational problem-solving skills necessary to complete subsequent courses in computer science.


Professional competences
The students

  • name the basic concepts of von Neumann's computer architecture,
  • describe concepts of the computational representation of information and their limits,
  • use basic data structures and algorithms and reason about their complexity,
  • model simple problems with formal concepts such as automata and formal languages,
  • design simple relational databases and identify the advantages of database-based storage.


Methodological competences
The students

  • analyze problems from their area of application,
  • design appropriate solutions for simple problems using the Python programming language and estimate the effort required to execute them,
  • design simple object-oriented models
  • use a simple IDE and implement scripts in Python,
  • discuss alternative computational representations of data and problems and draw informed conclusions from them

Social competences
The students 

  • present and discuss their solutions in an interdisciplinary team,
  • develop solutions to simple problems cooperatively in a team.


Self-competences
The students

  • critically reflect on fundamental design decisions in algorithms and data structures,
  • deepen their time management skills.
Module contents
  • von Neumann computer architecture,
  • tasks of operating systems
  • computer representation of information,
  • formal languages, grammar and automata,
  • basic data structures,
  • algorithms and complexity,
  • programming simple object-oriented solutions in Python
  • basic concepts of SQL-based databases
Literaturempfehlungen
  1. Robert Sedgewick and Kevin Wayne
    Algorithms
    2011, ISBN: 032157351X
  2. Hans Petter Langtangen
    A Primer on Scientific Programming with Python
    Springer Berlin Heidelberg, 2014, ISBN: 9783642549595
  3. Robert Sedgewick and Kevin Wayne
    Computer science : an interdisciplinary approach
    Boston Columbus Indianapolis New York San Francisco Amsterdam Cape Town Dubai
    London Marid Milan Munich Paris Montreal Toronto Delhi Mexico City São Paulo
    Sydney Hong Kong Seoul Singapore Taipei Tokyo Addison-Wesley, 2017, ISBN:
    0134076427;
  4. John Guttag
    Introduction to computation and programming using Python : with application to
    understanding data
    Cambridge, Massachusetts London, England The MIT Press, 2016, ISBN:
    9780262529624
  5. Paul Gries, Jennifer Campell, Jason Montojo, and Jennifer Campbell
    Practical programming : an introduction to computer science using Python 3.6
    Raleigh, North Carolina The Pragmatic Bookshelf, 2017, ISBN: 9781680502688
  6. Gerard Blanchet
    Computer architecture
    Hoboken, NJ Wiley, 2013, ISBN: 1118577795
  7. J. Glenn Brookshear (1944-) and Dennis Brylow
    Computer science : an overview
    Boston Munich u.a. Pearson, 2015, ISBN: 1292061162;
  8. Python Programming : An Introduction to Computer Science 
    http://ce.sharif.edu/courses/97-98/2/ce153-3/resources/root/Text%20Books/An%20Introduction%20to%20Computer
    %20Science.pdf by John Zelle
  9. Online-Course Python for newbies: https://runestone.academy/runestone/books/publish
    ed/thinkcspy/GeneralIntro/SpecialWaystoExecutePythoninthisBook.html 
    Buch zum Online-Kurs: Brad Miller, David Ranum, "How to think like a Computer Scientist" 
    e-Book: http://openbookproject.net/thinkcs/python/english3e/
Links
Language of instruction English
Duration (semesters) 1 Semester
Module frequency every winter semester
Module capacity unlimited
Reference text

In the winter term, this module is held in English, in the summer term in German.

Slides and homework are in English.

Teaching/Learning method V+Ü
Form of instruction Comment SWS Frequency Workload of compulsory attendance
Lecture 4 WiSe 56
Exercises 2 WiSe 28
Präsenzzeit Modul insgesamt 84 h
Examination Prüfungszeiten Type of examination
Final exam of module
  • The exam takes place in the first three weeks after the end of the event period.
  • The re-exam takes place in the last three weeks before the start of the next event period.
  • Practical exercises and exams
    or
  • Practical exercises and oral examination (with fewer than 20 participants)