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:
- Write well-structured Python programs
- Apply problem-solving strategies to programming challenges
- Use fundamental data structures effectively
- Debug and test their code
- 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:
- Create semantic, accessible HTML structures
- Style websites with modern CSS techniques
- Add interactivity with JavaScript
- Build responsive layouts for all devices
- 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:
- Implement fundamental data structures
- Analyze algorithm time and space complexity
- Choose appropriate data structures for problems
- Apply common algorithms to solve problems
- 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