INTRODUCTION TO CODING AND DATA MANAGEMENT-1

Academic year 2020/2021 Syllabus of previous years
Official course title INTRODUCTION TO CODING AND DATA MANAGEMENT-1
Course code ET7006 (AF:332689 AR:178839)
Modality For teaching methods (in presence/online) please check the timetable
ECTS credits 6 out of 12 of INTRODUCTION TO CODING AND DATA MANAGEMENT
Degree level Bachelor's Degree Programme
Educational sector code ING-INF/05
Period 3rd Term
Course year 1
Where RONCADE
Moodle Go to Moodle page
Contribution of the course to the overall degree programme goals
The goal of this course is to teach students how to solve 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.
Expected learning outcomes
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.

The students will achieve the following objectives:

Knowledge:
- algorithms and data structures
- Python programming language

Skills:
- learn basic problem solving techniques.
- understand and interpret computer programs written in the Python programming language.
- generate basic data visualizations for preliminary analysis.
Pre-requirements
Having achieved the learning outcomes of the course "Mathematics For Decision Sciences", with focus on logic, combinatorics, functions, vectors and matrices.
Contents
1. Introduction to Coding and to Python
- Computational Thinking
- Information binary representation
- Introduction to the Python programming language
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
Referral texts
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 may be provided during the course.
Assessment methods
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 a set of programming exercises, where the student is asked to write a small program to solve a given simple problem.
Teaching methods
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.
Type of exam
written
Definitive programme.
Last update of the programme
23/04/2020