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
Project help
Homework help
Job readiness
Paired coding
Assignment help
Exam prep
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
High School students
College 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 reviewed the concept of multi-threading in Java, focusing on challenges like race conditions and deadlocks. They practiced identifying and solving these issues using locks and mutexes, and analyzed examples of thread-safe and non-thread-safe code, with plans to continue with coding exercises in the next session.
Multithreading Basics
Race Conditions
Mutexes and Critical Sections
Deadlock: The Unsolvable Wait
The Tutor and Student explored software architecture, covering its core components like data layers and architectural patterns such as MVC and MVVM. They analyzed anti-patterns like stovepipe systems and vendor lock-in, discussing their technical problems. The session concluded with an examination of architectural mistakes in various application examples, providing context for the student's worksheet.
Software Architecture Layers
MVC and MVVM Architectural Patterns
Architectural Anti-Patterns: Stovepipe Systems and Vendor Lock-in
Architectural Mistakes in Application Design
The Student and Tutor reviewed the basics of Object-Oriented Programming (OOP) in Java, focusing on the concept of encapsulation. They discussed classes, fields, constructors, getters, setters, and method overriding through a game character example. The Student was assigned to create a `Weapon` class and integrate it into the `Actor` class, with the tutor providing the necessary files.
Method Overriding (`toString()` Example)
Accessors (Getters) and Mutators (Setters)
Constructors: Initializing Objects
Encapsulation: The First Pillar of OOP
Procedural vs. Object-Oriented Programming (OOP)
The Student and Tutor discussed advanced Java concepts, particularly multi-threading, thread safety, and race conditions, analyzing these issues within provided code examples. The session also identified areas where the Student needed foundational review, including object-oriented programming pillars, exception handling, and file handling. They agreed on a plan to cover the four pillars of OOP in the next session and to meet twice a week to prepare for an upcoming mid-semester test.
Race Conditions
Thread Safety
Mutex (Mutual Exclusion)
`synchronized` Keyword in Java
Understanding Threads
Teaching tools used by tutor
Visual Studio Code
Android Studio
Jupyter Notebook
Git & GitHub

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