- Oggetto:
Informatics (Python coding)
- Oggetto:
Informatics (Python coding)
- Oggetto:
Anno accademico 2024/2025
- Codice attività didattica
- ECM0350
- Docente
- Anna Velyka (Titolare del corso)
- Corso di studio
- Laurea magistrale in Economics of Innovation for Sustainable Development [0404M21]
- Anno
- 1° anno
- Periodo
- Secondo semestre
- Tipologia
- Affine o integrativo
- Crediti/Valenza
- 6
- SSD attività didattica
- INF/01 - informatica
- Erogazione
- Tradizionale
- Lingua
- Inglese
- Frequenza
- Consigliata/Recommended
- Tipologia esame
- Orale
- Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
The course aims to provide students with fundamental knowledge and skills in Python programming, with a particular focus on data analysis, visualization, and applications in economic research and sustainable development.
The objective of the course is to guide students toward a structured understanding of programming fundamentals, data manipulation, visualization techniques, and introductory quantitative analysis. Through a hands-on and interactive approach, the course seeks to develop students' ability to write efficient code, explore complex datasets, and implement basic machine learning models and natural language processing techniques.
This course contributes to the broader learning objectives of the study program by equipping students with essential tools to tackle real-world data challenges, supporting their academic and professional development in data-driven decision-making and analytical problem-solving.
- Oggetto:
Risultati dell'apprendimento attesi
By the end of the course and individual study, students are expected to:
- Understand and apply fundamental programming concepts in Python, including variables, data types, control structures, functions, and file handling, to develop well-structured and efficient code.
- Analyze and manipulate data using Python libraries such as NumPy and Pandas, performing operations such as data cleaning, transformation, and aggregation to extract meaningful insights.
- Create and interpret data visualizations using Matplotlib, Seaborn, and GeoPandas, effectively communicating trends and patterns in economic and sustainability-related datasets.
- Implement basic regression models and machine learning techniques using Scikit-Learn, understanding key concepts such as feature engineering, model training, and evaluation in the context of data-driven decision-making.
- Extract and process textual data from online sources using web scraping tools (BeautifulSoup, Scrapy) and apply Natural Language Processing techniques for basic text analysis, including tokenization, stopword removal, stemming, and lemmatization.
- Write clean, maintainable, and optimized code, following best practices in programming, debugging, and code documentation to ensure efficient and reproducible data analysis workflows.
- Integrate learned concepts into a final project, demonstrating the ability to apply Python coding skills to a real-world problem in data analysis, visualization, or machine learning within an economic and sustainability context.
- Oggetto:
Programma
Session 1: Python Basics and Data Structures
- Introduction to programming principles and Python fundamentals
- Python environment setup and basic syntax
- Variables, data types, and operations
- Data structures: lists, dictionaries, tuples, and sets
- Writing Python scripts and interactive coding
Session 2: Functions and Control Flows
- Loops (for, while) and conditional statements (if-else)
- Functions: defining, calling, and passing arguments
- Modular programming and code reuse
- Error handling and debugging techniques
Session 3: Python Libraries and File Handling
- Introduction to NumPy: arrays, indexing, and operations
- Pandas: DataFrames, Series, and data manipulation techniques
- File handling: reading and writing CSV, Excel, and JSON files
Session 4: Data Visualization & GeoPandas
- Matplotlib and Seaborn for data visualization
- Creating customized plots for effective data storytelling
- Introduction to GeoPandas for geospatial data analysis
Session 5: Regression Analysis & Machine Learning
- Introduction to regression models in Python
- Data preprocessing and feature engineering
- Basics of machine learning with Scikit-Learn
- Training and evaluating simple models
Session 6: Web Scraping & Natural Language Processing
- Web scraping with BeautifulSoup and Scrapy
- Introduction to Natural Language Processing (NLP)
- Text preprocessing: tokenization, stopword removal, stemming, lemmatization
Session 7: Code Quality & Course Wrap-Up
- Writing efficient and maintainable Python code
- Best practices for debugging and optimization
- Peer feedback session on final projects
- Q&A and final discussions
- Oggetto:
Modalità di insegnamento
The Python Coding course follows an active learning approach, integrating theoretical instruction with hands-on coding exercises, guided practice, and collaborative problem-solving.
The course will be delivered through a combination of:
- Lectures: Introducing theoretical concepts, programming logic, and best practices.
- Hands-on coding sessions: Live coding demonstrations followed by student practice.
- Problem-solving and case studies: Application of Python programming to real-world data analysis challenges.
- Project-based learning: Students will progressively develop a final project that integrates course concepts.
- Instructor-led feedback sessions: Review of assignments with detailed guidance for improvement
Software and Tools: Students will use Anaconda (including Jupyter Notebook, Spyder, or VS Code) as their primary development environment.
- Oggetto:
Modalità di verifica dell'apprendimento
The assessment structure is designed to evaluate students' understanding of programming concepts, their ability to apply Python for data analysis and visualization, and their proficiency in problem-solving using code. The evaluation is continuous and project-based, ensuring alignment with the expected learning outcomes.
Assessment Components
-
Weekly Assignments (40%)
- Hands-on coding exercises assigned at the end of each session.
- Designed to progressively build technical proficiency.
- Assignments will be reviewed, and feedback will be provided to support improvement.
-
Final Project (60%)
- A comprehensive project integrating key topics from the course.
- Students must select a dataset, apply appropriate Python techniques, and present insights through code and visualizations.
- The project will be assessed based on:
- Code quality and efficiency
- Correctness of implementation
- Peer feedback will be encouraged to promote collaborative learning.
Exam Format: there is no written or oral exam. The assessment is entirely based on coursework (assignments + final project).The final grade will be assigned on a 30-point scale (minimum passing grade: 18).
-
- Oggetto:
Attività di supporto
To facilitate learning, various support activities will be available to students throughout the course.
Course materials, including lecture slides, datasets, case studies, and supplementary readings, will be uploaded to the university's Moodle platform and will be made available before each session to allow students to prepare in advance.
Students will have the opportunity to receive formative feedback through discussions and interactive sessions during the course. These activities are designed to help them assess their understanding of key topics and refine their analytical skills without impacting the final grade.
Office hours will be offered for individual or group consultations. Meetings can take place in person or online to accommodate students who are off-campus, working professionals, or those with scheduling constraints. The schedule and booking process for office hours will be communicated at the beginning of the course.
No additional mandatory laboratory sessions or tutoring activities are planned beyond the regular course hours. However, students are encouraged to engage with the provided materials and participate actively in discussions to enhance their learning experience.
Testi consigliati e bibliografia
- Registrazione
- Aperta
- Oggetto: