INTRODUCTION TO CODING AND DATA MANAGEMENT-1

Academic year 2020/2021 INTRODUCTION TO CODING AND DATA MANAGEMENT-1 ET7006 (AF:332689 AR:178839) For teaching methods (in presence/online) please check the timetable 6 out of 12 of INTRODUCTION TO CODING AND DATA MANAGEMENT Bachelor's Degree Programme ING-INF/05 3rd Term 1 RONCADE 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.