Video/Animation: Global introduction

Video/Animation: Week 1 presentation

Video/Screencast: Use the codecast tool basics

Codecast: Type any special character on the keyboard

Activity: know how to use the keyboard to write all the special characters

Video/Animation: Know the inventors of C programming language, their history; Know the history of hello world programm, its inventor

Codecast: Write the “hello world” program and execute it

Video/Screencast: Use the taskgrader tool basics

Activity: Change the output of the “hello world” program

Video/Animation: Know the difference between hardware and software ; define program, algorithm, input/output, instructions

Activity: simple quizz on hardware/software, algorithm, inventors of the C programming language

Codecast: Correct very basic compilation errors; understanding gcc simple error outputs

Activity: know how to correct simple compilation errors (semicolon missing, parenthesis, quotation marks)

Codecast: Print text, new lines

Activity: how to print lines

Codecast: Execute a program step by step with codecast

Activity: how to use the step by step feature of Codecast

Codecast: Print text with new lines with one printf

Activity: print multiple lines to do ASCII art

Codecast: Understanding the basics of syntax color highlighting with codecast

Codecast: Print quotation marks, escape special characters

Activity: print special characters “quotation marks”

Codecast: Repeat an instruction a defined number of times

Codecast: Repeat a block of instruction

Activity: use the repetition to print multiple times the same line

Activity: use the repetition to print multiple times the same line (second Activity)

Codecast: Correct the basic compilation error related to repetition

Activity: correct a code with loops with missing opening/closing braces

Codecast: Comment a code on one dedicated line

Codecast: Comment a code on the end of an instruction line

Codecast: Comment a code on multiple lines

Activity: comment an existing code

Codecast: Print integer values

Codecast: Do simple math with integers

Activity: print results of simple math problems using operators: + - * only

Codecast: Memorize integers in variables; understand the concept of variables to memorize a value; understand the variable assignment

Codecast: Vary the value of an integer variable; know how to re-assign a value to a variable

Codecast: Understand the difference between declare and define; know how to initialize an integer variable;

Activity: how to assign a value to a variable, how to re-asign a value to a variable, how to vary the value of a variable

Codecast: know how to declare, define on one line

Codecast: Naming variables: do and don’t do

Codecast: Know the basic compilation errors with declaring and defining variables

Activity: how to name a variable, how to declare a variable correctly

Codecast: Use the variables within repetition loops

Activity: a simple use of the variable within a loop (print the multiplication table of the number 8)

Codecast: Read an integer input with scanf

Codecast: Read multiple integer inputs with scanf

Activity: read an integer from the input and print the multiplication table of this input

Codecast: read multiple integer inputs with scanf and a repetition loop

Activity: read multiple integers with a loop

Video/Animation: presentation of week 2

Codecast: Use the char type

Activity: print characters using %c

Codecast: Read char from the input with scanf

Activity: print ASCII art using the characters given as input of the program

Codecast: Use the double type

Codecast: Read double from the input with scanf

Activity: read a decimal number and print it

Codecast: Read mixed integer and double from the input with scanf

Codecast: Do the euclidean division, know how the / works in C

Codecast: Use variables for the divisions

Activity: convert celsius (input) to fahrenheit

Codecast: Use the remainder of the euclidean division

Activity: stow matches in little boxes (as input, number of matches, output, number of boxes full and number of matches remaining)

Codecast: Convert an integer to a double

Codecast: Convert a double to a integer

Activity: calculate the average

Activity: calculate the population of a city (initial population + growth percentage as input)

Activity: use the decimal division: how maby books can I buy (amount of money + price of one book as input)

Activity: use the decimal division and rounded up (how much will cost the concrete to build the foundation of a house: as input the cost of a 60kg concrete bag and the number of kg neede for the foundation)

Codecast: Condition an instruction with if

Codecast: Use the else

Codecast: Use the test operators

Activity: calculation of car pooling costs

Activity: calculation of hotel costs

Codecast: Use test operators with double

Activity: a tax to pass on a bridge

Activity: two teams pull a rope: who will win ?

Codecast: Use the AND logic operator with an if

Codecast: Use the OR logic operator with an if

Codecast: Use the NOT (negation) operator

Activity: calculation of the cost of a hotel depending on the age

Activity: name the tree depending on its height and leaves

Codecast: Use integer arrays

Codecast: Initialize arrays from inputs with scanf and loops

Activity: cooking receipe (memorize the quatity of ingredients)

Video/Animation: Week 3 introduction

Codecast: Use the test operators and the logic to solve simple logical problems

Codecast: Use the FOR loop

Activity: weight repartition for a train

Codecast: Use the FOR loop wth arrays

Activity: price of a receipe (quantity and price/Kg for each ingredient)

Codecast: Use nested structures with if and for

Activity: calculate the number of cities (list of places with their population as input)

Codecast: Use nested FOR loops

Activity: print a square of stars

Codecast: Use the WHILE loop with a “boolean” variable

Activity: expenses of a university (sum until -1 is read)

Codecast: Use the WHILE loop with direct test

Activity: epidemy control

Activity: it’s more, it’s less

Activity: monitoring a chemistry experiment

Codecast: Use arrays of char for Strings, initialize from the input

Activity: repeat a word given as input

Codecast: Understand the end of string special character \0

Activity: invert first/last name

Codecast: Calculate the length of a string

Activity: student subscription

Codecast: Calculate the word length frequency of a text

Activity: find the longuest word in a text

Codecast: Write a function (the sum of 2 integers); understand the difference between parameters and arguments (formal parameter and effective parameter)

Codecast: Use and understand the function prototypes and the function definition. Understand the difference between prototype and definition

Codecast: Decompose a problem into multiple functions

Codecast: Basic compilation errors with functions

Activity: smart converter (from one unit to another)

Activity: find the smallest integer

Video/Animation: Welcome to the 2nd MOOC

Video/Animation: prerequisite for the 2nd MOOC

Video/Screencast: What is a codecast ?

Codecast: A codecast example : find the minimum integer value (1)

Codecast: A codecast example : sport teams rankings (2)

Video/Screencast: What is taskgrader ? How to use it

Activity: experiment with taskgrader

Video/Screencast: what is weblinux ? how to use it ?

Video/Animation: week 1 presentation

Video/Animation: Operating systems genesis : definition, services (files, memory, processes), key dates

Video/Animation: UNIX genesis : MAC projet @ MIT, MULTICS, Thompson & Ritchie

Activity quizz : OS, UNIX, history and genesis

Video/Animation: Linux genesis and history: GNU, Stallman, GPL, Linus Torvals, Linux distributions

Video/Screencast: Command line interface, prompt, command options and files data, command cal as example

Video/Screencast: first commands: echo ‘hello world’, date, cal, history, whoami, hostname, uptime, clear, command not found, man, command options

Video/Screencast: interactive commands: top, htop, nano, vim, how to get back to the prompt

Video/Screencast: play with commands: hello, worm, firework, rain, hanoi,

Activity quizz: GNU, Linux, Command line, prompt

Video/Animation: Filesystem, history, FSSTND, /bin, /sbin, /home, /root, /etc, /lib, /tmp, /var, /usr, /dev

Video/Screencast: pwd, cd, ls, absolute path, relative path

Video/Screencast: touch, rm, names with spaces

Video/Screencast: mkdir, rm -r

Video/Screencast: mv: rename and move

Video/Screencast: cp, cp -r

Activity quizz: linux and the files

Video/Animation: animation ! difference between interpreter and compiler

Video/Screencast: compile a C program automatically on weblinux

Video/Screencast: compile a C program using GCC, a.out, execute a compiled program, GCC options

Activity quizz : compilation

Video/Screencast: interactive programs in C using scanf, fflush

Video/Screencast: use scanf and file redirection to simulate an input

Codecast: scanf with codecast (for codecast newbies)

Activity: help the post office to sort mail

Video/Animation: week 2 introduction

Video/Animation: Von Neumann architecture

Video/Animation: Memory representation, RAM, cells, word, byte, bit, memory address

Video/Screencast: Manage the memory with the command line: free, top, htop

Activity quizz : memory management and representation

Codecast: sizeof char, int, double; printf a memory size with %zu

Video/Screencast: minimal and maximal values for integers, basic types in C and memory consumption

Video/Screencast: minimal and maximal values for floating point numbers

Activity: print basic type sizes and array sizes

Video/Screencast: memory consumption of a program using htop, virtual memory

Activity quizz: memory and programs, min/max values

Codecast: the stack: visualize the memory with codecast

Codecast: blocks in C : how multiple variables react in different blocks

Codecast: pointer introduction: visualize the pointer in memory, printf and pointers

Codecast: dereferencing a pointer: visualize how it works

Activity: pointers

Codecast: visualize the stack when using functions : example of the add function

Codecast: invert values of two integers using pointers

Codecast: declare function with pointers

Activity: pointers and functions

Codecast: introduction to pointer arithmetics: arrays, addresses and pointers

Codecast: arrays and funtions using pointers

Codecast: arrays of pointers and multiple choice for dereferencing

Codecast: pointers of pointers and dereferencing choices (array notation or star notation)

Activity: arrays and memory

Codecast: array of strings using pointers

Codecast: multiple strings in a matrix

Codecast: matrices

Activity: print the words in reverse

Video/Animation: week 3 presentation

Codecast: memory allocation in the heap using malloc, visualize the heap using codecast

Codecast: memory deallocation in the heap using free, visualization of the heap using codecast

Codecast: array memory allocation using malloc

Activity: memory allocation for strings

Video/Screencast: difference between declare and define a function

Video/Screencast: using libraries in C: example of the math library

Video/Screencast: using multiple libraries in C

Activity: using the JPEG library

Video/Screencast: separate compilation

Video/Screencast: separate compilation: understanding the fastidious manual steps

Activity: seprate compilation

Video/Screencast: Makefile: introduction

Video/Screencast: Makefile: how to execute a program

Activity Makefile

Video/Screencast: using main arguments in C

Video/Screencast: main arguments and type conversion using standard and string libraries

Activity: main arguments