Även om datorerna blir snabbare och snabbare finns behovet att få ut så mycket kapacitet som möjligt ur datorn, det vill säga få mer arbete utfört inom en begränsad och rimlig tid. Detta gäller i synnerhet när man löser stora beräkningsproblem. Lika viktigt är att koden är välstrukturerad, portabel och bygger på standarder. Den här kursen handlar just om detta: hur man bygger bra, effektiv och välstrukturerad kod för moderna datorer, hjälpmedel för detta, och hur man tänker för att parallellisera kod på t ex flerkärniga datorer. Det programmeringsspråk som huvudsakligen används i kursen är C, och i kursen ingår även introduktion till C eller C++ .