Skip to content

Introduction of the week

Course mottos

  • Turning scripters into computer scientists
  • Add theory to bolster already present practical skills

Course overview

Programming Formalisms goal

The goal of the course is to give scientists with some experience in programming and scripting an understanding of formal principles of software development.

Only what is used by the student project is course content, with alternatives relevant to academics provided in lecture (or extra material) to what we do (#52). As we need discuss alternatives besides the course content, by definition, all exercises cannot be part of the project (#43). Whenever we give some advice, we will try to supply a references to the literature (#57).

You can always give anonymous feedback at any time here (#75).

Teach evidence-based or expert-recommended best practices on how to:

  • write design documents for a project
  • work as a team
  • share code
  • develop code
  • test code
  • optimize code
  • write reusable code
  • deploy code

Understand and do formal software development practices:

  • understand, use and create a UML class diagram
  • understand and use a formal git branching model
  • understand and use a formal project workflow
  • understand and practice social coding, such as pair programming and code reviews
  • understand and use a run-time speed profiler

The project

Become a Programming Formalisms team member

Shared document