Code

ΜΔΑ-290

Semester

1st

ECTS

7,5

E-Services

Category

Obligatory

Objective

The purpose of the course is to deepen students’ understanding of the methodologies for solving complex data processing and analysis problems using the Python programming language.

The course is aimed at students who are going to use the language and tools/frameworks presented in an integrated systems development context for a wide range of theoretical and practical areas stemming from the broader field of data science, including big data organization and analysis problems as well as business logic and intelligence problems.

After successfully completing the course, students will be able to:

  • Study data analytics problems and design solutions with the Python language, identifying appropriate libraries, tools, and frameworks.
  • Use integrated development environments, tools and libraries to develop programs in the Python language.
  • Incorporate modern and sophisticated software development methodologies and best practices for developing efficient Data Analytics oriented systems in Python.
  • Develop web-based data retrieval, processing and analysis systems using the Python language.
  • Understand and integrate optimization methods at all stages of a data analysis problem either individually or considering all the stages involved in specific algorithms (e.g., leveraging pipeline techniques).

Applie advanced methodologies of automated testing of the program’s code.

Learning outcomes

  • Search, analyze and synthesize data and information using appropriate technologies.
  • Promotion of creative and inductive thinking.
  • Independent work: Familiarity with development tools and building programs in the Python programming language using appropriate libraries, on a well-defined problem.
  • Teamwork: Developing team-collaborative skills, assume roles and work within interdisciplinary teams to solve more complex problems.
  • Work in an international environment and produce new research ideas.

Syllabus

  • Structural Elements of the Python Language

    Supported python data structures and algorithmic structures. Program structure and functions. Fundamentals of vector and object-oriented programming required for data manipulation. Visualization and data representation tools. Basic data manipulation, analysis and representation libraries.

  • Interface with Data Sources

    Interfacing, retrieving and manipulating data from relational and non-relational databases. Data cleaning, normalization and grouping, data completion and extension techniques. Examples of data retrieval from various data sources. Creation and use of regular expressions.

  • Data Modeling and Analysis

    Applications of time series analysis (periodicity, trend, seasonality). Sampling, transformations and representation of time series. Feature extraction. Predictive models. Techniques and examples for preprocessing, regression, and building statistical models. Large scale data analysis. Analysis of data from social networks.

  • Machine Learning Techniques

    Development of applications to solve problems using supervised and unsupervised learning techniques, capabilities. Limitations and evaluation of their effectiveness. Techniques and examples of implementations with neural networks. Examples of text analysis with natural language (NLP). Decision trees. Recommender systems.

  • Python and Cloud Computing

    Big data Cloud Infrastructures. Development and deployment of software solutions on the cloud. Process automation and data management. Python tools and platforms for web application development and data management methodologies. Use of APIs and methodologies for deployment and monitoring of python cloud applications

Bibliography