INTRODUCTION TO CODING AND DATA MANAGEMENT-1

Anno accademico
2019/2020 Programmi anni precedenti
Titolo corso in inglese
INTRODUCTION TO CODING AND DATA MANAGEMENT-1
Codice insegnamento
ET7006 (AF:304933 AR:169746)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di INTRODUCTION TO CODING AND DATA MANAGEMENT
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
3° Periodo
Anno corso
1
Sede
RONCADE
The goal of this course is to teach students how to approach problems with an algorithmic approach.
Students will learn some basic techniques for problem solving and how to use a programming language to provide a sound and formal description of a designed problem solution.
The course provides an introduction to the basics of computer science and to programming.
Programming is intended as a way to model real-world problems and to design algorithmic solutions to solve them.
This course teaches students problem solving techniques and algorithmic thinking.
Technical topics cover algorithms, data structures, and Python programming.

The students will achieve the following objectives:

Knowledge: i) learn basic problem solving techniques to address algorithmic problems; ii) understand and interpret computer programs written in the Python programming language.

Application of knowledge: i) analyze problems and design formal algorithmic solutions; ii) translate algorithmic solutions into computer programs.

Communication: i) generate basic data visualizations for preliminary analysis.
Having achieved the learning outcomes of the course "Mathematics For Decision Sciences", with focus on logic, combinatorics, functions, vectors and matrices.
1. Introduction to Coding and to Python
- Computational Thinking
- Information binary representation
- Introduction to the Python programming language
- Jupyter notebooks
2. Python Data Types
- Variables, values and types
- Integer, Float, String, Boolean data types and their operators
3. Simple programs
- From pseudo-code to code
4. Functions and Conditional Statements
- Function definition
- Variable's scope
- Conditional Statements
5. Iterative Computation
- Formalization of iterative solutions
- The while loop
- The for loop
6. Iterative Computation II
- Nested loops
7. Python Lists
- Creating and manipulating lists
- Iterating through lists
8. Introduction to matplotlib
- Plotting functions with matplotlib
- Customizing appearance
- Using matplotlib to validate data analysis tasks
9. Python Lists II
- Time-series analysis through list processing
10. Python Lists III
- List comprehensions
- List sorting
- Mutable and Immutable types
- Anonymous functions
11. Python Strings
- String slicing, concatenation and traversal
- String manipulation methods
12. Python Strings II
- Text processing, string manipulation and sub-string search
13. Python Dictionaries
- Dictionaries and mapping, keys and values
- Dictionary creation and access
14. Python Dictionaries II
- Iterating through dictionaries
- Efficiency of presence checking
15. Problem Solving
- Binary search
Textbook:
- Think Python. How to Think Like a Computer Scientist. Green Tea Press. Allen Downey. Second Edition.

Other suggested readings:
- Learning Python. O'Reilly. Mark Lutz.

Additional resources provided during the course.
Evaluation is achieved through a written exam.

The written exam assess the capability of the student to apply problem solving techniques to simple problems. The exam consists in about six between programming and problem solving exercises, where the student is asked to write a small program to solve a given simple problem.
Lectures and hands-on sessions. The frequent interleaving of exercises allows students to immediately apply abstract knowledge to practical problems and to self-evaluate their skills.
scritto
Programma definitivo.
Data ultima modifica programma: 08/04/2019