Nicolas Gry

PhD Student in Computer Science · Inria de Lyon

Introduction to Programming


About

"Introduction to Programming" is a class I teach at the Université Jean Monnet de Saint-Étienne, to first year Master students in the Digicrea Master and the RIM Master. The students primarily come from an artistic background and have supposedly no knowledge in computing, and very light background in mathematics.

The class aims to introduce the foundation of programming by learning the basics of C++. The class tackles notions of variables, types and scope, boolean operations and logic, conditional statements and loops, functions, as well as data structure such as matrices, arrays and vectors. A part of the class focuses on developers' tools such as compilation with clang, library linking, and build system with cmake as an example. Scripting languages are lightly covered, with Javascript as an example.

The practise examples and assignment revolve around image processing and audio / music, so as to make a direct link with the rest of their curriculum.

Course content

Lectures

Slides Exercises Assignment
Lecture 1 Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Assignment 1
Lecture 2 Sheet 1 Sheet 2 Assignment 2
Lecture 3 Sheet 1 Assignment 3
Lecture 4 Sheet 1 Assignment 4
Lecture 5 Sheet 1 Sheet 2 Sheet 3 Sheet 4 Assignment 5
Lecture 6 Sheet 1 Sheet 2 Assignment 6

Extras

Exercises resources

Practise Problem Resource
Practise 8 Problem B.1 landscape.xlsx
Practise 9 Problem 1.3 Archive
Practise 9 Problem 2.2 Archive
Practise 9 Problem 3.1 Archive
Practise 9 Problem 4.1 Archive
Practise 13 Whole sheet Archive


Assignment resources

Assignment Resource
Assignment 4: Exercise 1 Windows MacOS Linux
Assignment 4: Exercise 2 Windows MacOS Linux
Assignment 5 Resource


Documentation

Programs

  • image_exporter: a web interface to convert image files to .xlsx files and back.
  • img_visualizer: a web interface to visualize images from their pixel values. B/W and RGB mode available.