Who This Page Is For
The total beginner
You've never coded before, or you tried once and bounced. We'll start at "what is a variable" and move at your pace. No prior experience needed.
The CS student in a Python course
You're in CS 101, intro programming, or data structures — and the homework keeps biting you. We debug your code, fix the gaps, and prep for exams.
The career switcher learning for data science
You want to use Python for analytics, ML, or research. We cover NumPy, pandas, scikit-learn, and the workflow you'll actually use on the job — with real datasets.
What We Can Work On
Python Foundations
- Variables, types, operators
- Strings, lists, dicts, tuples, sets
- Conditionals, loops, comprehensions
- Functions, scope, lambdas
- File I/O, JSON, CSV
- Error handling and try/except
- Modules and packages
OOP & Intermediate
- Classes, inheritance, polymorphism
- Magic methods, dunder protocols
- Decorators and closures
- Iterators and generators
- Context managers
- Virtual environments and pip
- Testing with pytest
Data Science Stack
- NumPy arrays, vectorization
- pandas DataFrames, groupby, merges
- matplotlib and seaborn plots
- Data cleaning workflows
- scikit-learn pipelines
- Train/test splits, cross validation
- Jupyter notebook best practices
Machine Learning with Python
- Regression and classification
- Feature engineering
- Model evaluation metrics
- Decision trees, random forests
- Gradient boosting
- Intro to PyTorch / neural networks
- NLP basics with spaCy / Hugging Face
Algorithms & Data Structures
- Big-O analysis
- Searching and sorting
- Stacks, queues, linked lists
- Trees, heaps, hash tables
- Graph algorithms (BFS, DFS, Dijkstra)
- Recursion and dynamic programming
- LeetCode-style problem solving
Real-World Skills
- Reading error tracebacks
- Using a debugger (pdb, VS Code)
- Git basics for solo projects
- REST APIs with requests
- Web scraping with BeautifulSoup
- Building small Flask / FastAPI apps
- Project structure and clean code
How I'd Walk You Through Debugging a "List Mystery"
This is the most common Python beginner bug. It's a great window into how Python actually works.
def add_item(item, bag=[]): bag.append(item); return bagCall it:
add_item('apple') then add_item('milk'). The second call returns ['apple', 'milk'] instead of ['milk']. Why?
- Notice what's weird. Each call should start with a fresh empty bag, right? But the bag from call #1 is leaking into call #2. That's the symptom.
- Find the rule that explains it. Python evaluates default arguments once — when the function is defined, not each time it's called. So
bag=[]creates one list, and every call that doesn't passbagshares it. - Test the theory. Try
add_item('apple', [])thenadd_item('milk', [])— you get the expected isolated lists. Confirms the default is the culprit. - Apply the standard fix. Use
bag=Noneas the default, then inside the function:if bag is None: bag = []. Now each call truly gets a fresh list. - Generalize the lesson. Never use mutable defaults (lists, dicts, sets). This rule applies to every Python codebase you'll ever read.
Where Python Students Usually Get Stuck
"I understand lectures but can't start from a blank file"
That's a planning gap, not a Python gap. We practice breaking problems into named steps before any code gets written — the hard part stops being "how do I code this" and starts being "what does this even need to do."
"Error messages feel cryptic"
We learn to read tracebacks bottom-up, recognize the 10 errors that account for 80% of bugs, and use the debugger. After a few sessions, errors stop feeling scary and start feeling useful.
"pandas confuses me — when do I use loc vs iloc vs []?"
pandas has 3 different ways to do most things and the docs assume you already know. We build a flowchart you can actually use, then practice on messy real-world data.
"I want to do ML but linear algebra is in the way"
I bridge both — we cover the linear algebra at exactly the depth you need for the ML topic in front of you. No more, no less.
Frequently Asked Questions
What Python topics can you help with?
Topics include Python syntax, functions, loops, data structures (lists, dicts, tuples, sets), object-oriented programming, file I/O, debugging, NumPy, pandas, matplotlib, APIs, scikit-learn, PyTorch basics, and full data science project walkthroughs.
I am a complete beginner. Can you still help?
Yes. Sessions start from wherever you are — whether you've never written a line of code or you're an intermediate programmer trying to move into data science or software development.
Can you help me debug my Python assignment?
Absolutely. Bring your code, the error message, and the assignment instructions. We'll diagnose the issue, fix it together, and make sure you understand why it failed so the same bug doesn't happen twice.
Do you teach Python for data science specifically?
Yes. Data science is my specialty. We cover NumPy, pandas, matplotlib/seaborn, scikit-learn, model evaluation, and the linear algebra behind it all. We work on real notebooks, not just toy examples.
Can you help with a final project or capstone?
Yes — from scoping the idea to debugging the code to writing the report. We can meet weekly through the project or do single intensive sessions when you hit a wall.
Related Tutoring
What Students Say
"Rather than focusing only on syntax or tools, Alexander emphasized understanding the why behind the code — which greatly improved my grasp of key concepts. What truly set him apart was his patience and ability to adapt explanations to my level. I would highly recommend him to anyone looking to build strong foundations in Python, data analytics, and algorithms."