Overordnede kursusmål
The course presents and offers for discussion the following topics:
• an overview of the process of programming independently of the
language or system that one uses to program: requirements
gathering, requirements analysis, high level desgin, prototyping,
implementation, testing, documentation, deployment, deployment
validation, bug fixing and enhancements.
• the historical, linear and more modern cyclical models of
progress in software development
• a collection of principles that can be applied when programming
• the two dominant paradigms of programming, functional and object
oriented are presented and discussed.
• encapsulation and interface design
• copyright and licensing.
During the process of these abstract and/or theoretical topics, two
programming languages are studied and used.
The Bourne Again Shell (bash) is a process invocation and control
language which acts as the underlying command-line interface to
modern GNU/Linux systems.
The Python (general) programming language is studied.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- to have understood some core principles of programming,
particularly 'Laziness is a Virtue'
- to have gained a 'bird's eye' view of the process
of programming
- to understand what 'from the outside in' means as a
programming practice
- to understand what encapsulation is, and the value that it
offers
- to understand the difference between function programming and
object oriented design
- to understand the difference between call-by-value an
call-by-reference languages
- to have a fundamental understanding of exactly what happens
when you enter a single command in bash on GNU/Linux
- to be able to understand resource trade offs: speed vs minimal
resource usage
- to be confident in producing small python and/or bash
scripts
Kursusindhold
All materials are made available via CampusNet. The materials are
categorised as:
• Core (theory)
• Python (the language)
• Bash (the language)
Bemærkninger
Lecture material must be read before the lecture. Lecture periods
provide a brief overview of the content and offer the opportunity
for discussion.
Sidst opdateret
01. november, 2017