Ce cours de programmation s'adresse à des étudiants qui ont déjà une première expérience de la programmation, qu'ils soient en licence d'informatique (niveaux L2 ou L3) ou en écoles d'ingénieurs. Traduction partielle d'un cours de référence publié par MIT Press, cet ouvrage présente l'originalité d'expliquer les concepts majeurs de la programmation à l'aide d'une approche synthétique qui en fait ressortir l'unité sous-jacente. Il propose une sémantique simple et complète qui permet de comprendre tous ces concepts sans pour autant sacrifier la rigueur. Toutes les notions théoriques présentées sont illustrées par des centaines d'extraits de code. En outre, 51 énoncés d'exercices fournissent au lecteur l'occasion de tester ses connaissances.