A record of the core computer science courses I teach, the software projects students build under my guidance, and the platforms we use day to day in the classroom.
Courses taught
Core computer science curriculum
Python Programming
Foundational programming for beginners: variables, control flow, functions, and small scripts that solve everyday problems step by step.
Full-Stack Web Development
Building responsive pages with HTML, CSS, and JavaScript, then connecting them to server-side logic so students see a complete application take shape.
Data Structures & Algorithms
Lists, stacks, queues, trees, and graphs, with searching and sorting methods explored through tracing, analysis, and hands-on implementation.
Mentored work
Projects students build under mentorship
Data scripts and small utilities
Early projects ask students to read a dataset, clean it, and report a result. Each script is reviewed line by line so the logic behind every step is clear.
Typical deliverable: a command-line tool with documented functions and a short written explanation of design choices.
Typical deliverable: a responsive site with forms, saved data, and a clear navigation structure.
Responsive web applications
Later projects combine interface design with data handling. Students plan pages, test them on several screen sizes, and present the finished application to the class.
Classroom technology
Tools used in daily teaching
Code editors, version control, and interactive learning platforms that give students a shared workflow from first exercise to finished project.
Modern code editors
Editors with syntax highlighting, linting, and integrated terminals help students read and fix their own code.
Version control
Git and hosted repositories teach students to track changes, review peer work, and recover from mistakes.
Interactive learning platforms
Practice environments and guided exercises provide immediate feedback during lessons and independent study.