---
# System prepended metadata

title: 'Discover computers, programs and Java'

---

### 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