Justin MacArthur
Advanced coding mentor, let me help you to master programming in all of it's aspects.




Show all photos
Justin MacArthur
Diploma degree
/ 55 min
About your coding tutor - Justin
Hi, I’m Justin. I’ve been coding professionally since 2005 and teaching since 2020. I specialize in helping students build programming as a practical, transferable skill, not just memorize syntax. My experience spans C/C++, C#, Java, Python, PHP, JavaScript, and TypeScript, with projects in web development, mobile apps, video games, and custom system software. I’ve taught learners at every level, from beginners writing their first lines of code to experienced developers sharpening specific skills. My lessons are tailored to your goals, pace, and learning style, so you can build confidence while solving real problems instead of getting stuck in theory alone. I can help with computer science fundamentals, debugging, project planning, object-oriented programming, algorithms, data structures, games, websites, and understanding how different technologies fit together. I like to make lessons practical, patient, and encouraging, with enough challenge to help you grow without feeling overwhelmed. Whether you’re preparing for a class, building a portfolio project, improving at work, or starting your computer science journey from scratch, I’d be happy to help you strengthen your skills and discover the coder you’re meant to become.
Coding tutor specialities
Homework help
Debugging
Exam prep
Paired coding
Code Review
Assignment help
Code Optimization
AI modules
Summary
Podcast
Quiz
Learnings
Flashcard
Spotlight
Zero Risk Guaranteed
15-days refund
Free tutor swap
No cancel fee
1-yr validity
24/7 support
Learner types for coding classes
Coding for intermediate
Coding for beginners
Coding for adults
Coding for advanced
Improved problem-solving skills
92% of students report faster problem-solving after lessons.
Project-based learning for real-world skills
90% of students complete relevant coding projects.
Focused on real-world coding applications
Build real projects, from apps to websites.
Justin - Coding tutor also teaches
C
C++
CSS
HTML
Java
JavaScript

Coding concepts taught by Justin
The Student reported errors related to package names and fully qualified class name requirements in a coding assignment. The Tutor guided the Student through refactoring the `build.gradle` file and folder structures to resolve these, explaining the implications for package naming and dynamic loading. A new problem concerning resource bundle loading after the changes was identified, which the Tutor will investigate further, advising the Student to temporarily use the older code if necessary due to an impending deadline.
Fully Qualified Class Names (FQCN) & Package Structure
Gradle `build.gradle` Configuration for Java Projects
Dynamic Plugin Loading & Java Reflection
Resource Bundle Management for Localization (i18n)
The Student and Tutor worked on Java programming concepts, specifically implementing and testing "date" and "find" plugins for a text editor application. They covered plugin architecture, date formatting, text search with highlighting, internationalization (translations) for plugin elements, and an emoji script feature. The Tutor also guided the Student on building and running the project using Gradle, and briefly discussed the future requirement for plugin-host API communication.
Non-Plugin Hotkey Scripting: Emoji Insertion
Localization (i18n) for Plugins
Developing Find Functionality Plugin
Implementing Date Insertion Plugin
Plugin Architecture & Gradle Build System
The Student and Tutor debugged and developed a plugin system in Java, focusing on loading JAR files and integrating a date insertion plugin with a text editor. They confirmed the plugin system's functionality and outlined future development tasks, also clarifying assignment requirements regarding external code referencing.
JAR File Plugin Entry Point
Best Practices for Code Attribution
The Date Plugin Implementation
Editor API Interaction for Plugins
Dynamic Plugin Loading
The Tutor and Student focused on designing and implementing a plugin system in Java. They defined the core `Plugin` interface, developed a `PluginManager` to dynamically load plugins from JAR files, and began work on a `DatePlugin`. The session ended with debugging the plugin loading process, with plans to finalize the date plugin and begin a find plugin for the next session.
Plugin Interface & Lifecycle Methods
Plugin Manager for Dynamic Loading
Runtime Type Inference (RTI) for Extensibility
Plugin Packaging and Deployment
Implementing a Date Plugin (Initial Workflow)
Student and Tutor worked on modifying a Java application to use resource bundles for internationalization, debugging the implementation and confirming its functionality for various UI elements. They also discussed requirements for file encoding selection (UTF-8/16/32) and ensuring locale-sensitive date handling and Unicode compatibility for plugins. The Tutor will complete the encoding implementation and send the updated code.
File Encoding Selection for I/O Operations
Advanced Internationalization: Unicode & Localized Dates
ANTLR-based DSL for Hotkey Management
ResourceBundle Integration for Localization
The Student and Tutor worked on two core programming tasks: implementing internationalization for UI elements in a Java application and defining an Antler grammar for a hotkey DSL. The Tutor demonstrated a solution for i18n and guided the Student through structuring the Antler grammar. The Tutor will send the complete code, including a fix for Antler parsing issues, and the Student can book a follow-up lesson.
Internationalization (I18n) Implementation in Java
Defining Domain Specific Languages (DSLs) with Antler
Integrating Antler with the Gradle Build System
Approach & tools used by coding tutor
Jupyter Notebook
Visual Studio Code
Android Studio
Git & GitHub

Programming tutors on Wiingy are vetted for quality
Every tutor is interviewed and selected for subject expertise and teaching skill.
