Kodecafe

Nu er der fri leg med C! Man må lave hvad man har lyst til for at træne sine C-skills. Fx kan man tage fat i tidligere opgaver, som man ikke har nået, eller prøve krafter med en idé man gerne vil føre ud i livet.

Alternativt har jeg lavet nogle små projekter som man kan rode med. De er inspireret af alle de ting, som jeg ved at datalogerne sandsynligvis kommer til at bruge C til videre i studiet. Hvis man ikke er varm på det, så er er også projekter der ikke har noget med datalogi at gøre, som man kan pusle med.

Pong: C-style

En sand klassiker bragt til live lige her i terminalen.

Pong

I dette projekt kommer man til at genskabe en af de allerførste computerspil: Pong.

Den generelle struktur, såsom structs til bat og bold samt visning på skærmen, er lavet på forhånd, så det der mangler er de spil-specifikke ting:

Der vil desuden være mulighed for at rode med den AI der styrer battene.

Klik her for projektformulering.


Conway’s Game of Life

Hvad præcis tæller som levende organismer? John Conway fandt på et system bestående af et gitter af celler samt nogle meget simple regler, der udføres på hver celle. Dette kan resultere i nogle meget komplekse strukturer:

Game of Life

I dette projekt vil vi lave en Game of Life-simulator. Hvis du er nysgerrig på hvad der tæller som levende organismer, hvordan simple systemer kan lave komplekse ting eller cellular automaton, så er dette opgaven for dig. Klik her for projektformulering.


Brainfuck interpreter

Hvis du er nysgerrig på præcis hvad der skal til for at et programmeringssprog er et programmeringssprog, så er dette opgaven for dig. Datalogerne kommer til at have flere kurser, der berører dette fra forskellige vinkler, bl.a. Programmeringssprog (DM552), Kompleksitet og beregnelighed (DM553) og Oversætterkonstruktion (DM546).

Brainfuck er et minimalistisk programmeringssprog, der ikke er særlig praktisk at programmere i, men tjener som et eksempel på hvor simpelt et sprog kan være og stadig være Turing-komplet.

Vi vil lave en interpreter til Brainfuck. Klik her for projektformulering.


Netværk

Hvis du kunne tænke dig at lave en simpel simulering af et lokalt netværk eller bare gerne vil rode mere med at lave structs og strukturere et program, så er dette opgaven for dig. Man kan tage kurset Netværk og sikkerhed (DM557), som berører dette i meget større grad.

Vi vil lave en simulering af følgende netværk (som man kan udvide, hvis man ønsker):


Network


Hvis man ønsker at sende en pakke fra 0 til 4, så må man sende den til en nabo (2), som sender den videre indtil den når destinationen. Til dette skal man designe, hvordan en enkel computer (kaldet en node) i netværket skal se ud struct-mæssigt og forbinde dem. Man vil få en skabelon hvor nogle dele er lavet for at gøre det nemmere. Klik her for projektformulering.