12915 Programmering Principper (PoP)

2017/2018

Kursusinformation
Principles of Programming (PoP)
Engelsk
2,5
Ph.d., Generelt servicekursus (generiske færdigheder)
Kurset udbydes under tompladsordningen
Efterår
Campus Lyngby
- Lectures 10 hours
- Tutorials 10 hours
- Reading 20 hours
- Assignments 20 - 40 hours
13-uger
Aftales med underviser
Bedømmelse af opgave(r)/rapport(er)
Active participation in lectures and group work. Written assignments (including software development). All assignments are issued and submitted via CampusNet.
Alle hjælpemidler er tilladt
bestået/ikke bestået , intern bedømmelse
12925
PoP is the short version of Principles of Programming and Implementation (12925). A student may take only one of these two courses. Please read the course descriptions for both courses and choose the version that suits you best.
Minimum 4 Maksimum: 20
Hugo Maxwell Connery , Lyngby Campus, Bygning 115, Tlf. (+45) 4525 1555 , hmco@env.dtu.dk
Hjalte Jomo Danielsen Sørup , Lyngby Campus, Bygning 115, Tlf. (+45) 4525 1590 , hjds@env.dtu.dk

12 Institut for Vand og Miljøteknologi
I studieplanlæggeren
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