Java Programming for Beginners, a High School Elective Option
This year, my 8th grader asked for a Computer Science elective. She was ready for a real world programming language after several years of Lego Robotics and other coding activities using Scratch. Thanks to her interest in Minecraft, we began looking for a way for her to begin to learn Java programming for beginners. Thanks to being a part of the Timberdoodle Blog Team, she got to take Java programming as an online self paced course.
This Java course is part of the Timberdoodle 11th grade curriculum package and includes two syllabus options. You can take it as a general computer science class or prepare for the AP exam. We are using it as a general computer science class.

Java programming for High School students
My student was interested in learning Java over other programming languages because they enjoy Minecraft, and Java is the programming language used to create the game and add on modifications or Mods. She plans to write her own mod for the game when she completes the class.
She prepared to learn Java by completing the Code Lab C++ course. It provided an introduction to text based programming and allowed her to practice using code to affect a device she could hold. Her dad works with programming and suggested that C++ was a good foundation for starting on JAVA, which has proven to be true as she works through the course.

Self Paced Instruction
There are a few ways you can pace the class. Timberdoodle suggests doing a chapter a week, and doubling up the first week. There are two syllabus options given in the dashboard as well, one for general learning and one for working towards the AP Computer Science Test. You can choose the plan that fits best for your student.
Each day my student logs into the dashboard to complete the next lesson in the Java course. There are a series of lessons within each chapter which present the information in video and as text followed by a short quiz. At the end of each chapter there is an activity to practice the new information and a longer chapter test. I can monitor my student’s progress through the class dashboard as well to watch their grade and see any missed activities.

Grading the Online Course
This student is an independent learner, likes to do things on their own, and can be trusted to complete the work themselves, which makes an online self paced classes like this Java class a good fit for them. As the parent, I like that I can log in and monitor their progress without nagging my child.
The grading for this course is done for me and automatically weights the different parts to create the grade. If I wanted there is an option to override the results of any automated grades, enter my own numeric grade for projects, and assignments. I haven’t used that option myself. My main job is to determine the pace of the class for my student and assign them with their other work for the week.
Occasionally the work is graded in a more rigid way to teach the students to use a particular strategy or coding function. This has caused my student to be frustrated when the code works but isn’t written in quite the right way or includes an extra character in the command line so that the answer doesn’t match exactly. Other assignments are much more flexible and as long as the submitted code works it is correct.

Adapting Java for Outside the Box Kids
The nature of this online Java course does limit the ways that it can be adapted for Outside the Box or neurodivergent students. The student who used it is autistic and would have a 504 plan if they were in a traditional school. The class being self-paced is how this student learns best so it works with their learning style.
The course access is 12 months from when you activate the course which can be different fro the day you purchase the course. 12 months of access does relax the pace of the material allowing the student to slow down when necessary to master the material. Mastery is always my goal over speed or completion of the assignments.
The course is autograded which means I don’t have flexibility to grade things differently than the computer. For the more rigid assignments where extra or missing characters count as wrong, they need to fix those for a better grade instead of mom being flexible and giving them credit anyways. It’s also a life skill for them to have a more rigid teacher, which is something they will encounter later in life and I can help them work through the frustrations of the rigid grading, likening it to working with difficult people.
This is a great high school-level course that is challenging to my student. They chose a computer programming elective this year because they are thinking about a career in computer science or video game design and wanted to start building their skills and explore some more real-life programming languages. All of this is being accomplished by this Java course. The option to take the AP test is nice but not something we are going to take advantage of at this time. Otherwise, it has been exactly what we were looking for.
