Overordnede kursusmål
See 12915 Principles of Programming. This course extends 12915 by:
• adding the study of version control systems
• introducing the use of the High Performace Computing (HPC)
infrastructure at DTU, and
• requiring the student to implement a major programming project
The version control system is git, which the students need to use
to submit their major project.
The introduction to the HPC is provided by the people who maintain
it from DTU Compute.
The major project can be anything that the student wishes, but must
be approved by a course lecturer so that it satisfies the points
for the course. It is suggested that the student build something
that will directly assist them in their Ph.D research.
Guidance is provided to students for their major programming
assignment. This can from architectural design, to solving small
challenges.
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 be confident in producing small python and/or bash scripts,
including package encapsulation
- to be able to understand resource trade offs: speed vs minimal
resource usage
- to have a fundamental understanding of exactly what happens
when you enter a single command in bash on GNU/Linux
- understand the value of version control systems and to have
obtained basic proficiency in the git version control system
- understand how to use gitlab and/or github as a git hosting
platform
- understand how to submit a job to the HPC
- be confident in building software tools to assist them in their
research
Kursusindhold
All materials are made available via CampusNet. The materials are
all from 12915 and
• Git (the version control system)
• HPC
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
15. november, 2016