# Algorithms and Programming 1

• Cours (CM) -
• Cours intégrés (CI) 56h
• Travaux dirigés (TD) -
• Travaux pratiques (TP) -
• Travail étudiant (TE) -

Langue de l'enseignement : Anglais

## Description du contenu de l'enseignement

1. Working with Linux
1. Using the GUI and the terminal
2. Essentials of Basic Linux Commands
3. Installing programs
2. Introduction to Logical Thinking
1. First-Order Logic, Logical Expression and Operators
2. Truth tables
3. Distributivity, Associativity and Commutativity Laws, DeMorgan Laws
4. Quantifiers, Equivalence and Implication
3. Algorithms
1. Algorithms and Pseudo-Code
2. Flowcharts
3. Basic notion on Running Time
4. Brief on analysis of algorithms
4. Python programming language
1. Calculating with Python: Variables and Multiple Assignment; Arithmetic Operators; import math
2. Strings; Placeholders in Strings; Conditional Operators; Conditional Statements
3. While Loop; For Loop; Introduction to Lists
4. Spyder IDE; Functions; Caesar Cipher
5. In-Built Functions; return None, Tuple; Lambda Function
6. Other Data Types: Mutable vs Immutable, Tuples, Sets, Dictionary
7. Recursion
8. Modules: math, random, statistics, itertools, datetime, pathlib, antigravity, easygui, numpy, scipy, matplotlib, pillow, pydub
9. Manipulating Files

## Compétences à acquérir

At the end of the course the students will be comfortable with the points listed above.

Contact
Responsable
Igor Peretta

esilva.peretta@unistra.fr