Ricerca di contatti, progetti,
corsi e pubblicazioni

Programming Fundamentals 1


Furia C. A.

Docente titolare del corso

Rezaalipour M.


Schober W.


Slooff T. A.


Zohdinasab T.



The course uses (a subset of) the programming language Racket, but it is not a course about Racket, which we use primarily because of the conceptual clarity of its features. Once you master this course's content, learning another programming language won't be a problem. The course is suitable for students with little or no prior programming experience, but even programmers with experience will have a chance to learn new program design principles and to practice on interesting problems.


This is a first programming course that teaches you how to program well. "Programming well" requires more than writing code until it seems to work. This course emphasizes designing programs: constructing software in a principled manner, following a process that goes from problem statement to implementation and is based on justifiable choices about abstractions, data structures, algorithms, and program organization.

Modalità di insegnamento

In presenza

Impostazione pedagogico-didattica

The course's organization includes plenty of opportunities to practice programming — including assignments, exercises, and a final project.

Modalità d’esame

The course's grades is determined by a combination of programming assignments developed during the course, a (optional) final course project, a midterm exam, and a final exam.

Offerta formativa