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
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.
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
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
- 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
-
Electronic notes
The final grade is defined as 70% from the semester assignment and 30% from the final written examination.
Back
Studies
e-mail: cs@ionio.gr