### What is a computer? - Describe what a computer is, how it works, in terms of hardware and software - Describe the main characteristics and responsibilities of the CPU, memory and storage - Describe what an operating system (OS) is, its main responsibilities, examples of well known OS Group: Frank, Emma ### What is a computer program? - Define a computer program, give a simple example of a program which illustrates the basic characteristics of a computer program - Define what an algorithm is and the difference with a computer program - Explain the algorithm-recipe (cooking) analogy Group: Thibault, Éric ### What is a computer language? - Define a computer language - Define different types of computer languages and give examples: programming language, query language and markup language - Explain differences between high-level programming language and machine language, motivations to use high-level languages - Explain differences between interpreted and compiled languages, give some examples - Detail what a programming language based on common features (regardless of the paradigm) Group: Axel, Sylvana ### What is a programming paradigm? - Define a programming paradigm - Define imperative paradigm, explain differences between procedural and object-oriented (OO) imperative approaches - Describe some object-oriented languages features, give concrete examples: class, constructor, object/instance, encapsulation Group: Mohamed, Noémie, Julien ### What is Java? - A few words on the language history, editor (Sun, Oracle), main dates and main versions, licensing, LTS versions - Explain "Write Once Run Anywhere" approach with Java, how it works, advantages - What is a Java Development Kit (JDK) and Java Runtime Environment (JRE), open source JDK/JRE - In the JDK, which "tools" are usefull in order to compile then execute a Java program from the command line? Group: Stéphane, Eteib, Younes #### What is a command-line interpreter? - Describe a CLI, compare to GUI - Give examples of CLI (Windows, Linux, MacOS) - Explain parsing/scanning of a command line (string, command, arguments, options) Group: Nolwenn, Bastien