Introduction to Computer Science II - OOP, data structures, recursion, and algorithms in Python.
Struggling with classes, inheritance, or linked lists? I break down every concept so it actually makes sense - no fluff, just clarity.
Free assignment triage
Classes and inheritance are conceptually hard to visualize. Most students copy code without understanding the design.
Stack frames, base cases, and recursive trees are not intuitive - until you see them drawn out correctly.
Managing next/prev references and edge cases (empty list, single node) trips up almost every student.
Understanding why O(nยฒ) vs O(n log n) matters - and how to derive it - is a consistent exam weakness.
Coding in the AI era
COMP 1406 is where copied code starts to cost something. ChatGPT will produce a working remove method for a doubly linked list on the first try. What it cannot give you is the ability to say what prev and next are pointing at halfway through the operation, and that is the part the exam asks for. Recursion is the same story: AI writes the base case in a second, then you are asked to trace the call stack by hand for marks.
The assignments keep coming back fine, which is exactly why this stays quiet until the midterm. None of this makes you a bad student. It makes you a student learning to code in the AI era.
Walking a recursive call stack on paper and predicting the output before you run anything.
Explaining why your class uses inheritance instead of a plain attribute, in your own words.
Working the bound out from the loops in front of you, instead of recognising the name of the algorithm.
Empty list, single node, removing the head. Generated code ignores these more often than you would expect.
Free three-step self-check, no email gate. Try it with AI closed and tell me where you get stuck.
I use Python professionally. I know what good OOP looks like - and how to teach it so it clicks.
Full-time software engineer. I connect textbook theory to how this stuff is actually used in the real world.
Dozens of Carleton and York students boosted their grades with verified student feedback.
Evening and weekend slots available. Last-minute before a midterm? I've got you.
Familiar with Carleton's COMP course structure, assignment styles, and exam formats.
Stuck on a lab or project? I teach you how to think through it - you do the work, I guide the logic.
Bring the course, assignment, or exam topic and I will map the fastest next step.
Start with free triageNo contract. Start with the exact problem in front of you.
Not sure how much of your Python you could write without AI?
Get AI-era coding helpSend me a message and I'll reply within 4 hours, same day.
Free assignment triage - try before you commit.
COMP 1406 uses Python, but I also tutor Java, C, and other languages across Carleton and York courses. Ask and I'll let you know if I can help.
Yes - I offer flexible scheduling including evenings and weekends. Message me and we'll find something that works.
No. I help you understand how to complete them. My goal is to make you capable and confident - not dependent.
Not automatically, and I am not going to tell you to stop using a tool the industry uses every day. The narrower question is whether you could rebuild your last assignment from an empty file and trace it out loud. If the honest answer is no, that gap shows up on a midterm that asks you to trace recursion and derive Big-O by hand. We keep the AI and close the gap. The free AI-Era Coding Help has a free self-check you can try on your own code.
Tutoring is taught by Joseph Abate, a software engineer with 6 years writing production code and 8+ years tutoring computer science. Over 500 students across college and university programming courses so far.
Sessions run online across Canada, and in person around Toronto and the GTA. No contract and no minimum commitment. I guide the work, you write and submit your own.