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
- Share your GitHub name at this issue
- The project can be found here