En grupp om 2-7 studenter ska lösa en projektuppgift vars mål är att innan ett visst datum framställa en prototyp som uppfyller en given specifikation. Det är studenternas uppgift att själva planera och utföra arbetet, d.v.s. en projektplan ska skrivas och följas. I projektplanen specificeras vilka delprojekt som projektet består av, i vilken ordning som delprojekten ska genomföras, när de ska vara klara och vem eller vilka inom gruppen som ska utföra arbetet.
Det finns ett flertal tänkbara lösningar till projektuppgifterna. Studenterna kommer därför under projektets gång att ställas inför många praktiska problem som kräver ingenjörsmässiga beslut. Deltagarna lär sig därmed att inhämta de nödvändiga teoretiska och praktiska kunskaper som krävs för att lösa en projektuppgift.
- Kursen avslutas med en muntlig redovisning och en demonstration av prototypen eller en presentation av uppnådda resultat. Under projektets gång ska skriftlig dokumentation framställas. Kraven på den muntliga och skriftliga redovisningen liknar de krav som ställs på ett examensarbete.
- Varje student kommer att fokusera på ett eller några av områdena programmering (eller annat implementationsarbete), projektstyrning, algoritmutveckling och inhämtande av specialkunskap.
- Studenterna ska skriva en "reflektiv dagbok" under arbetets gång, där de dokumenterar bevis för sitt lärande. Sådana bevis kan t.ex. vara prestandakurvor med förklaringar eller redogörelser för användandet av metoder/verktyg och detaljerade beskrivningar av tekniska problem som uppstått under arbetets gång.