Justin MacArthur
Expert Computer Science Tutor Looking To Help You Navigate Your Computer Science Journey!




Show all photos
Justin MacArthur
Diploma degree
/ 55 min
Justin - Know your tutor
Hi, I’m Justin MacArthur! I’m an online tutor with over 6 years of experience helping middle school, high school, and college students build confidence and master new skills. I hold a diploma in Computer Science and specialize in making complex topics easy to understand. I am passionate about teaching: computer science, apps, game, system software, databases, programming languages, and web development. I'm also skilled with: project management, code review, debugging, code optimization, and career guidance. I know that everyone learns differently. I tailor every session to fit your unique learning style, and I have plenty of experience adapting my teaching methods to support students with special needs. Whether you need help untangling a messy line of code, prepping for a big test, or tackling a tough assignment, I'm here to help you boost your grades and actually enjoy what you're learning. If you want a tutor who will focus on your needs and ensuring you understand the nuances of computers and software. All the while sharing anecdotes and experiences from real world industry experience. I'm the tutor you've been looking for. Let’s work together to unlock your full potential!
Programming tutor specialities
Exam prep
Code Review
Upskilling
Paired coding
Assignment help
Homework 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 for programming class
Middle School students
College students
High School students
Expert in debugging code
Breaks down coding issues into manageable steps.
Paired coding for effective learning
90% of students benefit from collaborative lessons.
Interactive debugging sessions
Students debug and improve their own code in real-time.
Your programming tutor also teaches
Android
App Development
Computer Science
Databases
Game Development
Unreal Engine

Computer Science concepts taught by Justin
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
Implementing a Date Plugin (Initial Workflow)
Plugin Packaging and Deployment
Plugin Manager for Dynamic Loading
Runtime Type Inference (RTI) for Extensibility
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.
ResourceBundle Integration for Localization
File Encoding Selection for I/O Operations
ANTLR-based DSL for Hotkey Management
Advanced Internationalization: Unicode & Localized Dates
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
Student and Tutor worked on a Java programming assignment for a text editor. They implemented `openFile` and `saveFile` functionality using `JFileChooser`, then set up a Gradle project in VS Code and migrated the existing code. The Student plans to work on internationalization and domain-specific language (DSL) parsing for key mappings as homework and will reconvene for further guidance on Saturday.
Java File Operations with JFileChooser (Swing)
Setting Up a Gradle Project in VS Code
Introduction to Internationalization (i18n)
Implementing Domain Specific Languages (DSL) for Key Mappings
Planning for a Plugin Architecture
The Student and Tutor reviewed advanced Java concepts related to plugin systems and extensible design, including the use of APIs, reflection, JAR files, and annotations. The Tutor explained how these elements facilitate adding modular functionality to software. The Student was advised to focus on specific sections of their notes for an upcoming assignment and to practice by building a simple plugin system.
Extensible Design & Plugins
Scripting as an Extensibility Method
Annotations for Simplified Plugin Integration
Dynamic Plugin Loading with Reflection
Plugin Interfaces and Functionality
Modular Design: Core vs. External Plugins
The Student and Tutor reviewed current and past data analysis assignments, specifically focusing on the challenges of interpreting and presenting AI-generated insights from a sleep health analysis dataset. The Tutor provided practical advice on using AI tools more effectively to explain data derivations and identify potential areas for deeper analysis. The Student plans to restructure their presentation based on the discussion and send it to the Tutor for review.
Ethical AI Use in Academic Assignments
Simplifying Complex Statistical Analysis
Strategic Data Exploration and Presentation
Leveraging AI for Explanation and Derivation
Interpreting Core Findings from Health Data
Teaching tools used by tutor
Android Studio
Jupyter Notebook
Git & GitHub
Visual Studio Code

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