This repository contains Jupyter Notebooks with coding challenges, exercises, and project solutions developed as part of my Master’s degree in Digital Information Processing at the Jagiellonian University. All notebooks were created within the framework of the following core courses:
(Advanced Programming Techniques 1)
Focuses on advanced object-oriented programming in Python, emphasizing data structures, text processing, and algorithmic thinking.
Key topics:
- Complex data structures in Python
- Text and string processing
- Text algorithms and conversions
- Algorithmic problem solving and optimization
Main skills gained: ✔️ Advanced Python proficiency · ✔️ Algorithmic reasoning · ✔️ Working with symbolic information
(Automatic Information Extraction) ECTS: 4 | Semester: 1 | Instructors: dr Marek Deja, dr Maciej Godny
Covers natural language processing (NLP) and information extraction techniques, with both statistical and semantic approaches to text analysis.
Key topics:
- Text representation and vector semantics
- Tokenization, lemmatization, and n-grams
- Corpus building and text preprocessing (including web scraping)
- Statistical text modeling and topic analysis
- Semantic similarity and distributional semantics
- Introduction to neural models for information retrieval
Main skills gained: ✔️ Text corpus analysis · ✔️ Implementing statistical/NLP algorithms · ✔️ Information similarity modeling
(Data Analysis in Python)
Practical course on data exploration, processing, visualization, and prediction using Python’s data science ecosystem.
Key topics:
- Data import/export and preprocessing
- Numpy, Scipy, Pandas, Matplotlib
- Data visualization and cleaning
- Statistical inference, regression, and clustering
- Feature selection and predictive modeling with scikit-learn
- Good practices: version control, reproducibility, collaborative coding
Main skills gained: ✔️ Data wrangling and cleaning · ✔️ Statistical and exploratory data analysis · ✔️ Machine learning fundamentals