Advanced Python Programming


Teaching Staff: Korfiatis Nikolaos, Skiadopoulos Konstantinos, Polenakis Iosif
Code: PR130
Course Type: Core Course
Course Level: Undergraduate
Course Language: Greek
Semester: 3rd
ECTS: 5
Teaching Units: 5
Lecture Hours: 2
Lab/Tutorial Hours: 4L 2T
Total Hours: 8
Curricula: Revamped Curriculum in Informatics from 2025
Short Description:

The course "Advanced Python Programming" is aimed at students who already have basic programming knowledge and wish to delve deeper into the advanced capabilities of Python. The course combines theoretical analysis with practical application, covering both modern developments in computer science and the utilization of advanced tools of the language. The goal is to develop complex applications, understand the modular logic of Python and use object-oriented programming to solve real-world problems.

Objectives - Learning Outcomes:

In this course, students will

  • Learn exciting developments in computer science,
  • Review basic principles of object-oriented programming,
  • Become familiar with
  • Python data types,
  • Decision-making methods, and
  • Python loops,
  • Understand Python's modular logic through the standard library,
  • Learn sequences and the differences between the alternative sequences provided by Python,
  • Become familiar with string techniques,
  • Understand file management techniques,
  • Create specialized classes and objects of these classes
Syllabus:

Week 1: Theory: General Introduction, Introduction to Python, Control Statements, Functions, Work Environment, Variables, Lists & Similarities

Week 2: Theory: Sequences, Dictionaries & Sets, Strings, Files & Exceptions, Tutorial: Operators & Conditions, Loops & Functions

Week 3: Theory: Object Orientation, Tutorial: Strings, Data Types

Week 4: Practical Applications Lab: Designing and Implementing a Video Game, Tutorial: File Management, Dictionaries

Week 5: Practical Applications Lab: API - Accessing and Providing Services, Tutorial: Dictionary Applications, Object Orientation

Week 6: Practical Applications Lab: Natural Language Processing - NLP, Tutorial: Object-Oriented Programming

Week 7: Practical Application Lab: Twitter Data Mining, Tutorial: Numpy Library

Week 8: Practical Application Lab: Music Knowledge Mining, Tutorial: Matplotlib Library

Week 9: Practical Application Lab: Machine Learning, Tutorial: Pandas Library

Week 10: Practical Application Lab: Web Scrapping, Tutorial: Least Squares

Week 11: Practical Application Lab: Ethical Hacking, Tutorial: Histograms, Random Motion

Week 12: Final Project Presentation, Tutorial: Integrals

Week 13: Final Project Presentation

Suggested Bibliography:
  • Introduction to Python for Computer and Data Science - Learning to Program with AI, Big Data, and the Cloud — Harvey M. Deitel, Paul J. Deitel, X. GIOURDA SIA EE, 2021, ISBN: 102070652
  • Introduction to Computing and Programming with Python - With Applications to Computational Modeling and Data Understanding (3rd Edition) — John V. Guttag, Papasotiriou, 2022, ISBN: 112696091
  • Python for Programmers — Harvey M. Deitel, Paul J. Deitel, X. GIOURDA SIA EE, 2020, ISBN: 94645373
  • Data Analysis with Python - Managing Data with pandas, NumPy, and Jupyter — Wes McKinney, Papasotiriou, 2024, ISBN: 133037549
Teaching Methods:

-

New Technologies:

Electronic notes

Evaluation Methods:

The final grade is defined as 70% from the semester assignment and 30% from the final written examination.


Back
<< <
October 2025
> >>
Mo Tu We Th Fr Sa Su
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Today, Monday 13-10-2025
No results found for that day
Text To SpeechText To Speech Text ReadabilityText Readability Color ContrastColor Contrast
Accessibility Options