Justin MacArthur

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

4.7(583)

FREE TRIAL

Profile photo of Justin, Coding tutor at Wiingy
Coding learning materials by Justin
Justinenjoying a hobby outside teaching
Live performance with Coding by Justin

Show all photos

tutor-image
tutor-image

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 icon

Homework help

Debugging icon

Debugging

Exam prep icon

Exam prep

Paired coding icon

Paired coding

Code Review icon

Code Review

Assignment help icon

Assignment help

Code Optimization icon

Code Optimization

CoTutorCoTutor

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 icon

Coding for intermediate

Coding for beginners icon

Coding for beginners

Coding for adults icon

Coding for adults

Coding for advanced icon

Coding for advanced

icon

Improved problem-solving skills

92% of students report faster problem-solving after lessons.

icon

Project-based learning for real-world skills

90% of students complete relevant coding projects.

icon

Focused on real-world coding applications

Build real projects, from apps to websites.

Justin - Coding tutor also teaches

C

C

C++

C++

CSS

CSS

HTML

HTML

Java

Java

JavaScript

JavaScript

Icons

Coding concepts taught by Justin

Student learned 11 days ago

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)

Show more

Student learned 13 days ago

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

Show more

Student learned 14 days ago

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

Show more

Student learned 17 days ago

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)

Show more

Student learned 19 days ago

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

Show more

Student learned 21 days ago

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

Show more

Approach & tools used by coding tutor

Jupyter Notebook image

Jupyter Notebook

Visual Studio Code image

Visual Studio Code

Android Studio image

Android Studio

Git & GitHub image

Git & GitHub

tutorFooter

Programming tutors on Wiingy are vetted for quality

Every tutor is interviewed and selected for subject expertise and teaching skill.