Skip to content

Course Information🔗

Detailed information about the courses I teach.


Introduction to Programming with Python🔗

Course Description🔗

A comprehensive introduction to programming using Python. Students will learn fundamental programming concepts through hands-on projects and exercises.

Learning Objectives🔗

By the end of this course, students will be able to:

  1. Write well-structured Python programs
  2. Apply problem-solving strategies to programming challenges
  3. Use fundamental data structures effectively
  4. Debug and test their code
  5. Read and understand others' code

Weekly Topics🔗

Week Topic Project
1-2 Python Basics & Variables Calculator Program
3-4 Control Flow Number Guessing Game
5-6 Functions Text Adventure Game
7-8 Lists & Dictionaries Contact Manager
9-10 File I/O Grade Tracker
11-12 Introduction to OOP Simple Banking System
13-14 Final Project Student Choice Project

Assessment🔗

  • Weekly programming assignments (40%)
  • Quizzes (20%)
  • Midterm project (20%)
  • Final project (20%)

Web Development Fundamentals🔗

Course Description🔗

Learn to build modern, responsive websites from scratch. This course covers HTML, CSS, and JavaScript fundamentals with a focus on practical, project-based learning.

Learning Objectives🔗

By the end of this course, students will be able to:

  1. Create semantic, accessible HTML structures
  2. Style websites with modern CSS techniques
  3. Add interactivity with JavaScript
  4. Build responsive layouts for all devices
  5. Deploy websites to the internet

Weekly Topics🔗

Week Topic Project Component
1-2 HTML Fundamentals Portfolio Structure
3-4 CSS Basics & Box Model Styled Portfolio
5-6 CSS Layouts (Flexbox, Grid) Responsive Layout
7-8 JavaScript Basics Interactive Features
9-10 DOM Manipulation Dynamic Content
11-12 Forms & Validation Contact Form
13-14 Final Project & Deployment Complete Website

Assessment🔗

  • Weekly coding exercises (30%)
  • Project milestones (30%)
  • Midterm website (20%)
  • Final portfolio website (20%)

Data Structures and Algorithms🔗

Course Description🔗

An in-depth exploration of essential data structures and algorithms. Students will implement and analyze various data structures while solving computational problems.

Learning Objectives🔗

By the end of this course, students will be able to:

  1. Implement fundamental data structures
  2. Analyze algorithm time and space complexity
  3. Choose appropriate data structures for problems
  4. Apply common algorithms to solve problems
  5. Think algorithmically about problem-solving

Weekly Topics🔗

Week Topic Implementation
1-2 Algorithm Analysis Big O Practice
3-4 Arrays & Linked Lists LinkedList Class
5-6 Stacks & Queues Expression Evaluator
7-8 Trees Binary Search Tree
9-10 Graphs Social Network
11-12 Sorting Algorithms Sort Visualizer
13-14 Final Project Algorithm Application

Assessment🔗

  • Weekly coding assignments (40%)
  • Algorithm analysis exercises (20%)
  • Midterm exam (20%)
  • Final project (20%)

General Course Policies🔗

Attendance🔗

Regular attendance is strongly encouraged. While not mandatory, students who attend regularly perform significantly better.

Late Work🔗

Assignments may be submitted up to 48 hours late with a 10% penalty per day.

Academic Integrity🔗

All work must be your own. Collaboration is encouraged for learning, but submissions must be individual. Plagiarism will not be tolerated.

Accommodations🔗

Students requiring accommodations should contact me within the first week of the semester.


Questions about course content? Contact me