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
Debugging
Assignment help
Paired coding
Exam prep
Job readiness
Code Review
Homework help
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 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
Teaching tools used by tutor
Jupyter Notebook
Git & GitHub
Android Studio
Visual Studio Code

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