Request a Tutor Become a Tutor Bangkok, Thailand
Hello! My name is Justine. I have been teaching in Bangkok for three years as a computer teacher. I teach different programming languages like Java, Python, HTML, and Scratch Progr... Read more
I always give the students enough time to actually experience coding themselves. I believe that this hands-on experience will help them learn programming better.
Polytechnic University of the Philippines
Polytechnic University of the Philippines
No files uploaded yet
No files uploaded yet
No files uploaded yet
I actively keep myself updated because technology evolves very quickly, especially in Computer Science. As a Computer Science teacher and a Master’s in IT student, continuous learning is part of my professional responsibility. I regularly: • Take online courses on platforms like Coursera and Udemy • Read official documentation for programming languages and tools • Follow tech communities and forums such as Stack Overflow and GitHub • Watch developer conferences and tech talks on YouTube • Experiment with new tools through small personal projects I also integrate new technologies into my lessons whenever appropriate. For example, after teaching Python fundamentals, I expose students to real-world applications like automation, basic AI concepts, or data handling so they see how programming evolves beyond syntax. Being a Google Educator Level 2 certified professional, I also stay updated with Google Workspace tools and digital productivity systems, which helps me teach students practical, modern skills. For me, staying updated is not optional, it’s part of being an effective and relevant educator in today’s digital world.
Yes, absolutely. I always provide additional learning materials because I believe students improve fastest through guided practice. For every topic, I prepare: • Structured practice exercises (from basic to advanced level) • Real-world coding problems • Mini projects to apply concepts • Debugging exercises to build problem-solving skills • Review worksheets before assessments When teaching programming (such as Python), I create step-by-step coding challenges that gradually increase in difficulty. After students understand the concept, I give application-based tasks so they learn how to think logically, not just memorize syntax. I also provide: • Google Drive folders with organized notes and examples • Practice files and templates • Extra challenges for advanced learners • Remedial exercises for students who need more support My goal is not just to teach the lesson, but to build confidence and independent problem-solving skills.
I’ve helped students complete a wide range of practical, skill-based projects depending on their level. For beginners (Python fundamentals), I guide them through: • Calculator programs • Number guessing games • Simple quiz applications • Grade computation systems • Basic file handling projects For Java Programming students, I’ve supported projects such as: • Console-based student management systems • Library management systems • Banking system simulations • Object-Oriented Programming (OOP) projects using classes and inheritance • GUI-based applications using Java Swing • Simple CRUD applications with file handling I emphasize strong OOP foundations in Java — encapsulation, inheritance, polymorphism, and abstraction — so students understand proper software structure, not just syntax. For intermediate students, I also guide them in: • Data structures implementation (arrays, lists, stacks) • Algorithm practice (sorting and searching) • Debugging and code optimization exercises • Modular program design Since I also teach AI-related topics, I’ve guided students in: • Basic machine learning demonstrations (using simple datasets) • Chatbot simulations • Introductory Natural Language Processing activities Across all projects, I follow a structured development process: planning (flowcharts or pseudocode), coding, testing, debugging, and refinement. My goal is to help students build strong logic, clean coding habits, and confidence in solving real-world problems using both Python and Java.
I use a combination of professional development tools and structured learning resources to make coding practical and easy to understand. For Programming Practice: • VS Code (for Python development) • NetBeans IDE (for Java programming and OOP projects) • Replit (for quick browser-based exercises) • Jupyter Notebook (for Python and data-related lessons) For Learning & Documentation: • Official Python and Java documentation • GitHub (to expose students to real-world code) • Stack Overflow (to teach proper debugging techniques) For Classroom & Organization: • Google Classroom for assignments and feedback • Google Drive for organized learning materials • Google Sheets for tracking performance and coding metrics • Notion for structured lesson planning and workflow management My Teaching Method: • Flowcharts and pseudocode before writing code • Live coding demonstrations • Guided debugging sessions • Practice exercises and progressive coding challenges • Real-world mini projects As a Google Educator Level 2 certified professional with over six years of teaching experience, I focus on structured thinking, clean coding habits, and building strong problem-solving skills, not just teaching syntax.
Yes, I’ve worked on a variety of practical coding projects with students, depending on their level and learning goals. For Python (Beginner Level): • Calculator and grading system programs • Number guessing and quiz games • Basic file handling applications • Simple expense tracker • Menu-driven console programs For Python (Intermediate Level): • Student information management systems • Inventory tracking systems • Basic data analysis projects using CSV files • Automation scripts (file renaming, simple data processing) • Mini capstone projects combining functions, loops, and file handling For Java Programming: • Console-based student or library management systems • Banking system simulations using Object-Oriented Programming • CRUD applications with file handling • GUI-based applications using NetBeans (Java Swing) • OOP-focused projects demonstrating encapsulation, inheritance, and polymorphism I also guide students through structured development steps: Planning (flowcharts or pseudocode) Writing clean, organized code Testing and debugging Improving efficiency and readability My goal in every project is to help students move beyond “just making it work” and toward understanding logic, structure, and real-world application of programming concepts.
Yes, I can teach advanced coding topics, including algorithm design and data structures. With over six years of experience teaching Computer Science and pursuing a Master’s in IT, I focus not only on programming syntax but on computational thinking and structured problem-solving. In Data Structures, I teach: • Arrays and ArrayLists • Linked Lists • Stacks and Queues • Trees (basic concepts) • Searching and Sorting techniques • Basic Hashing concepts In Algorithm Design, I guide students through: • Problem decomposition • Writing efficient pseudocode • Time and space complexity (Big-O basics) • Sorting algorithms (Bubble, Selection, Insertion, Merge basics) • Linear and Binary Search • Step-by-step debugging and optimization I adapt the depth depending on the student’s level — whether they are preparing for university coursework, coding interviews, or improving academic performance. My approach is structured: Concept explanation with visuals Dry runs and walkthroughs Implementation in Python or Java Practice problems with increasing difficulty I focus on helping students truly understand why an algorithm works, not just how to implement it.
When a student struggles with time management, I focus on structure, clarity, and small wins. First, I identify the root cause, whether it’s difficulty understanding the concept, procrastination, lack of planning, or being overwhelmed by large tasks. Then I apply these strategies: 1. Break Projects into Smaller Milestones Instead of one large deadline, I divide the assignment into clear, manageable steps (e.g., planning → basic structure → core logic → testing). This reduces overwhelm and improves focus. 2. Use Time Blocks I teach students to work in focused 25–40 minute sessions with specific goals (e.g., “Finish the input validation section”). Clear targets improve productivity. 3. Provide Templates or Starter Code For struggling students, I sometimes provide structured starting frameworks so they don’t waste time figuring out where to begin. 4. Weekly Progress Check-ins I monitor their progress and adjust pacing if needed. Accountability helps students stay consistent. 5. Teach Planning Before Coding I emphasize pseudocode and flowcharts first. Many time management issues come from jumping straight into coding without a plan. My goal is not just to help them finish the assignment, but to teach them how to manage their workload independently. Over time, students become more confident, organized, and efficient in completing their coding tasks.
I provide structured, constructive, and actionable feedback on every coding assignment. My feedback focuses on four key areas: 1. Logic & Correctness • Does the program solve the problem correctly? • Are edge cases handled properly? • Is the output accurate? 2. Code Structure & Organization • Proper use of functions or methods • Clear variable naming • Logical flow of the program • Appropriate use of OOP principles (for Java) 3. Efficiency & Improvement • Can the code be simplified? • Are there unnecessary loops or repeated logic? • Basic optimization suggestions when appropriate 4. Clean Coding Habits • Indentation and formatting • Comments where necessary • Readability and maintainability How Often? I provide feedback on every submitted assignment. For ongoing projects, I give feedback at each milestone (planning, coding, testing). If needed, I also conduct live debugging sessions where we review the code together. This helps students understand mistakes immediately and improve faster. My goal is always growth-focused feedback, not just pointing out errors, but explaining how to improve and why it matters.
Educational Qualification