Key Competencies in Computer Science

Course participants will gain an overview of the state-of-the-art technologies and tools in computer science. They will become familiar with scripting (Python, Shell), Web technologies (HTML, JavaScript) and essential tools for computer scientists (IDEs, code frameworks, LaTeX, reference managers, etc.). Through practical work on projects, students will dive deeper into selected topics and technologies and acquire practical skills necessary to solve various problems in computer science.

Course Content

The lecture will cover the following topics:

  • Command-line & Scripting
    • Shell, SSH, SFTP
    • grep, sed, regular expressions,
    • Shell scripting
  • Python Programming
    • Python basics
    • Unit Testing
    • Logging
    • Parallelization
    • Database interaction
  • Web Technologies
    • Python Django
    • HTML
    • JavaScript
  • Infrastructure & Support Tools
    • Version control using git
    • Automated unit testing using Travis
    • LaTeX + OverLeaf
    • Reference management tools

In the exercise, students will complete hands-on research projects (teamwork is possible) to apply the knowledge conveyed in the lectures and train essential skills. Presenting the intermediate and final results of the projects is mandatory.

Learning Objectives

After successfully completing the course, students should be able to:

  • Analyze a given problem from a computing perspective;
  • Research programmatical methods to solve the problem;
  • Implement a solution for the problem using suitable tools;
  • Structure, write, and format a documentation for the software developed;
  • Present their work using appropriate presentation techniques and presentation aids;
  • Answer questions and discuss their work with peers.

By successfully completing the course, participants will acquire the knowledge and skills required to successfully complete various forms of projects in computer science.

Requirements

  • None

Exam

  • Applied research project (includes teaser, intermediate, and final presentation) – 67% of the final grade
  • Written test (90 min.) or oral exam (approx. 20 min.) on the lecture content – 33% of the final grade

Schedule

Type Day Time Periodicity Room Dates
lecture tba tba weekly to be announced tba
exercise tba tba