Frequently Asked Questions

Below is a list of commonly asked questions. Please note that my syllabus (on the 'Home' page) provides a comprehensive outline of this course's requirements and other information; you may find answers to your questions there. Some information from the syllabus is available here as well to aid in quicker understanding.

General

| What age group is suitable for JAVA 101? Is this a beginner-friendly course?

JAVA 101 is primarily directed towards middle schoolers. It is designed for beginners who have no prior  programming experience whatsoever. On the first day of class, beginners and more experienced coders will be given a diagnostic Java exam to assess readiness.

| How are classes conducted?

Approximately half of the class time is dedicated to PowerPoint lectures, while the other half involves students engaging in hands-on coding projects. The ratio of lecture time to coding time in JAVA 101 closely mirrors that of high school computer science courses. 

| How is student progress assessed? Are there homework or assignments? 

Student progress is assessed through two means: coding projects that are completed in class and for homework, as well as quizzes and/or tests on each unit concept. Quizzes are typically 1 page long, while tests are multiple pages.

| What tools/software do students need?

No special software is required for this course. A JAVA 101 USB will be provided to your student. This bootable Linux OS USB contains a text editor and Java compiler that will enable your student to code all programs in this course. Additionally, I have tailored the operating system to contain various Java resources and software that will facilitate homework submission.

| How does JAVA 101 build students' interest in computer science?

While JAVA 101 primarily covers the Java programming language, some lessons are dedicated to teaching students how to use various operating systems and languages such as HTML and JavaScript for website building. I recognize that computer science is an incredibly diverse field of study, and to spark students' general interest, I include these other opportunities for students to apply Java concepts to projects in other languages. This empowers students with the ability to code whatever they want, which is what develops skills in the long term.

   Why should I enroll my student in JAVA 101?

Java is the language used for the AP CSA (AP Computer Science A) exam. High schools most commonly offer computer science courses that use Java as the programming language of choice. JAVA 101 will prepare your student for success in these courses, and give them the confidence to code effectively.

| How do you tailor your content to beginners?

When I first learned Java during my sophomore year of high school, I was utterly confused by most concepts. However, as I practiced and became a progressively more proficient programmer, I recognized that my struggles were easily remedied by approaching studying and learning differently. I've been through the intense struggle myself, and I know very well how to relate to beginners' mindsets and pitfalls in a way that would have helped me learn faster and more effectively. Through the mindset of a beginner, I've added extra detail and helpful tips on specific concepts that I used to be especially confused about.

| Do you assign grades in this course?

No. To prevent students from stressing unnecessarily, I do not give letter grades or "dock off" numerical points. I've found that students in my class are incentivized to learn because they truly enjoy improving their Java skills, and do not need to be pressured by a grade to motivate themselves to learn. However, I always remain committed to the following to ensure your student succeeds:

Logistics

| How do I sign up for private tutoring sessions?

If you prefer private lessons with personalized attention, you may sign up for private tutoring here: <insert google form link>

| How can I stay informed about important course updates and announcements?

I frequently maintain communication through Gmail. If something arises (such as an important event that conflicts with my teaching hours), I will do my best to promptly inform you of a class cancellation. If needed, I may contact you through phone or text.

| My student is struggling with a coding project. How can they receive help?

It's completely normal for beginners to find debugging programs difficult, or even the logic of the program itself. For the sake of the learning process and developing independent troubleshooting skills, I recommend students try to tackle these kinds of issues themselves several times before seeking assistance. However, if your student is still stuck, don't fret! Please have them fill out the following Google Form to request for help: https://forms.gle/DR9GAWWmTcVopQsP8. Additionally, remind your student to ask me for help in class so that the problem can be resolved. 

| How can parents track their child's progress? 

I return all graded quizzes to students after reviewing the answers in class with them. You may review these quiz results with your student at home. Please do not hesitate to contact me with concerns about your student's progress. My contact info is located on the 'Contact' page of this website. I take parent emails and questions seriously and will help your student succeed with my best efforts. 

| What is your refund/cancellation policy? 

A:

Other

| Where are your curriculum materials from?

Unless specified otherwise (e.g. handouts featuring non-JAVA 101 brands or without the JAVA 101 brand on it), all curriculum - lectures, skeleton notes, worksheets, coding projects/skeleton programs, exams, and supplementary Java learning materials are original and created by me. I do not use AI generator tools to create my curriculum. I strongly support my curriculum as a highly effective way of teaching Java, as it closely aligns with the breadth and rigor of my high school's introductory Java course. Please note that any similarities between the questions found in JAVA 101 handouts and other online websites are coincidental. Be aware that the resemblance between JAVA 101 curriculum and online resources may be due to the unconscious integration of similar content because of my familiarity with it.

| What is your teaching philosophy? 

Learning any high-level programming language such as Java is difficult work. However, with the right guidance and support, anyone can learn to code well and find enjoyment in their progress. Combining fun with utility through coding projects is one of the best ways to learn, and will fuel your interest. Because Java has a steep learning curve, struggles are inevitable - but in the end, those who persist will find that coding can be very fulfilling and rewarding.

| My question wasn't listed here. What can I do?

If you have additional questions you wish to ask, please do not hesitate to contact me. Refer to the 'Contact' page of this website to email or call me so that I can resolve your concerns.

| What sets JAVA 101 apart from other Java/computer science courses?

Few computer science courses (outside of schools) offer the rigorous quizzes that JAVA 101 provides for every unit concept. JAVA 101's administering of quizzes to assess students' knowledge of taught content closely mimics the testing environment that students will encounter in high school computer science courses - from exam content to their time limit. This enables students to be truly competent in the academic setting and become accustomed to effective ways of preparing for Java exams.

Furthermore, JAVA 101's ratio of approximately half lecture time and half hands-on application time through coding projects provides the optimal environment for learning. Lecturing is important for introducing concepts to students for the first time, while coding projects offer students the opportunity to practice and reinforce their newly acquired knowledge. Many computer science courses are poorly run in this regard, as they either waste students' time by simply placing them in front of a computer and letting them "guide themselves" to understanding very complex topics or are primarily comprised of long lectures that do not give students the chance to apply what they've learned. On the other hand, JAVA 101 provides the ideal balance between these two essential methods of learning - and gives students true confidence and competence in computer science.