Number of hours
- Lectures 3.0
- Projects -
- Tutorials 9.0
- Internship -
- Laboratory works 36.0
- Written tests -
ECTS
ECTS 4.0
Goal(s)
The goal of this module is to learn the basics of imperative programming using the Go language. We will present the classic control and data structures of imperative languages, with an emphasis on programming and learning by doing. We will study classic algorithms (iterating, searching, sorting, etc.) through practical exercises of graduated difficulty.
Claire MAIZA, Christophe RIPPERT
Content(s)
Basics of imperative programming, syntax, division into functions and modules, compilation.
Classical control structures: conditionals and loops.
Basic data structures: structures, static and dynamic arrays, bounded queues and stacks, linked lists.
Manipulation of pointers and notion of memory management.
Informal presentation of the notions of invariant and cost in execution time.
Interactions with the system: inputs-outputs, file manipulation, parameter passing on the command line.
This course ends with a short introduction to the C language to facilitate the transition to the modules of the 2nd semester.
This course does not necessitate any prerequisites.
Evaluation : Examen sur machine (2h)
Resit : Examen sur machine (2h)
Students will take a pratical exam. During this exam, no documents are allowed, except a single sheet of handwritten notes, in A4 format.
The course exists in the following branches:
- Curriculum - Core curriculum - Semester 5
Course ID : 3MMAP1
Course language(s):
You can find this course among all other courses.
- The Art of Computer Programming par Donald E. Knuth : https://www-cs-faculty.stanford.edu/~knuth/taocp.html
- Spécification du langage Go : https://go.dev/ref/spec
- Documentation de la bibliothèque Go : https://pkg.go.dev
- Introduction au langage C : The C Programming Language par Brian W. Kernighan et Dennis M. Ritchie