What's included
4 live meetings
3 hrs 40 mins in-class hoursClass Experience
CONTENT: We will be creating a turn based 'Battle' games where different characters have different abilities. We will be using this project to sharpen the coding skills previously learned as well as an introduction to the principles of object oriented programming. We will learn about objects and classes and we will start by creating a Human class followed by various superhero subclasses. STRUCTURE: The class starts out with sharing and questions. After that, I introduce the topic and explain theory and motivation. We then spend the rest of the class coding. Most of class is spent on coding challenges and coding explanations. STYLE: I base my teaching on the Socratic method. When students are stuck on coding challenges, I give them hints in the form of questions. In programming we invariably get stuck. I like to help students learn how get themselves out of these situations by learning to ask the right questions. INTERACTION: Students will get ample time to ask questions. Class sizes tend to be very small.
Syllabus
4 Lessons
over 4 WeeksLesson 1:
Abstraction
What are objects and classes? What are the characteristics and behaviors that describe them? We will start by thinking of a Human object that can exist in our battle game. What are the things that describe it? What are the things that it does?
55 mins online live lesson
Lesson 2:
Encapsulation
Much of programming has to do with keeping code organized so that it can be scaled. Encapsulation places code squarely inside the workings of objects and thus leads to more organized code. As our Human object becomes more complex we see that things tend to fall into place more easily.
55 mins online live lesson
Lesson 3:
Inheritance
Now that our game is able to match Human objects against Human objects, what about superheros? Inheritance will allow us to define classes/objects in terms of other classes/objects. For example, we will think of a Superman object as Human + Superman things.
55 mins online live lesson
Lesson 4:
Polymorphism
This lesson will allow us to brainstorm and be creative about creating different strategies and moves for our players. Polymorphism will allow us to use the same names for moves that behave differently depending on context.
55 mins online live lesson
Other Details
Sources
We use trinket.io in this class. Students should not include any personal information in their projects as they can be shared. We also use Colab to showcase our coding materials. It works like our textbook. Colab functions best when used with a gmail account (you can save your own versions of the notebooks).
Teacher expertise and credentials
2 Degrees
Master's Degree in Mathematics from Harvard University
Bachelor's Degree in Mathematics from Harvard University
I've been a computer science teacher for 10 years and have taught Python coding online for the past four years. I have also taught math and computer science at the High School level: AP Calculus BC and AP Computer Science A.
Reviews
Live Group Class
$17
weekly or $68 for 4 classes1x per week, 4 weeks
55 min
Completed by 1 learner
Live video meetings
Ages: 9-14
1-8 learners per class
Financial Assistance
Tutoring
More to Explore
Easter BunnyWorld WondersReading Small GroupVoice ActorSpanish 3 X WeeksTricia HillForensics 5Perimeter And AreaFilmmaking 101 How To Make A Movie With Your Smartphone CourseBeginning WritingDraw CatsAmendmentsDungeons And Dragons For Beginners An Adventure For New PlayersThe Excellent Reader JrRubik Cube