Sophora Services LLC

... because I need to talk with someone who knows what they're doing.

Course Catalog

About the Instructor

Instructor: John Kelly

John Kelly retired from NASA in November 2024 after a 36 year career. He was Deputy Chief of the Space Projects and Partnerships branch at NASA Armstrong Flight Research Center, Edwards Air Force Base, California, where he had worked since 1988, except for a short stint in commercial aerospace in 1996 and a detail assignment to Mojave Air and Space Port in 2013. Mr. Kelly has served in many discipline areas during his career, including, flight controls and flight systems engineering, software engineering, information technology management, and various roles in program and project management.

Mr. Kelly earned a B.S. Aeronautical Engineering from Embry-Riddle Aeronautical University, Prescott AZ (1992), and an MBA with IT emphasis from University of La Verne (2008). Mr. Kelly is an Associate Fellow of the American Institute of Aeronautics and Astronautics and is a registered Project Management Professional (PMP®, 2007). Mr. Kelly is a Certified Entry-Level Python Programmer (PCEP™; ID: pcfZ.ot3b.bau5)

Mr. Kelly has mentored FIRST Robotics teams since 2008 and is currently a mentor/coach of Testing is Optional (FTC 21579) at Quest for Education and Arts, Tucson AZ.



§ Dual Enrollment Courses

We are an Ambassador for Dual Advisors™, offering an accelerated path for scholars to earn college credits while concurrently completing requirements for high school, maximizing your high school years.

With our tailored approach, students can start and complete online, fully accredited college coursework on their own timeframe, while saving thousands of dollars in transferable college credits.

• 20+ Courses • Earn credit for HS and College simultaneously • Accredited. Adaptable. Affordable.

§ Introduction to SketchUp (Code: SKU)

Title: Introduction to SketchUp

Target audience: grades 6-12, adults

Price and Duration:

  • $169 per student
  • This course is 8hr, typically taught in 5 sessions, 90 min each or in two 4hr sessions.

Description:

Prerequisites/Corequisites:

  • None.

Objectives:

  • The objective of this course is to introduce the student to the fundamentals of 3D drawing in SketchUp Pro. At the completion of the course, the student will possess an understanding of the most important aspects of SketchUp which will allow the student to create beautiful 3D drawings ... of just about anything!

Required Texts and Resources:

  • Student must have an Internet-connected computer and web browser. A more complete list of system requirements for SketchUp for Web is listed here.



§ Practical Programming with Python (Code: PPP)

Title: Practical Programming with Python

Target audience: grades 8-12, adults

Price and Duration:

  • $549 per student
  • This course is a semester long (15 weeks); typically 1d per week, 75min

Description:

  • This course is a rigorous introduction to Python programming. In this course, the student will learn about:
    • how to setup the Python environment.
    • how to use Jupyter notebooks
    • variables and data types
    • lists, tuples, dictionaries, sets, and when and where to use them
    • functions, methods, and classes
    • program control, and more!
  • The capstone of the course will be to develop fully operational application using what the student has learned.

Prerequisites/Corequisites:

  • None. However, familiarity with Python or another programming language is useful.

Objectives:

  • The objective of this course is to introduce the student to the fundamentals of Python programming through examples. By the end of the course, the student will be able to create complex applications through object-oriented programming.
  • This course will prepare the student to sit for the PCEP™ – Certified Entry-Level Python Programmer exam through the Python Institute (see https://pythoninstitute.org/pcep)

Required Texts and Resources:

  • Text: Python Crash Course, 3rd Ed., Eric Matthews. San Francisco: No Starch Press, 2023.
  • Text: Python Essentials 1, OpenEDG Python Institute, 2023.
  • Student must have a computer (desktop, laptop, Chromebook) with an Internet connection.
  • Recommended: Anaconda Python distribution and PyCharm IDE installed on a personal computer.



§ Data Analysis using Python (Code: DAP)

Title: Data Analysis using Python with Pandas, numpy, and matplotllib

Target audience: grades 8-12, adults

Price and Duration:

  • $549 per student
  • This course is a semester long (15 weeks); typically 1d per week, 75min

Description:

  • This course is an introduction to data analysis using Python. In this course, the student will learn the steps of data analysis:
    • Data loading
    • Data cleaning and preparation
    • Data wrangling (joining, combining, reshaping)
    • Plotting and visualization
    • Data storage
  • The student will learn essential Python tools for data analysis, including:
    • essential Python data structures, functions, and files
    • numpy - working with arrays
    • pandas - working with tabular data in series and data frames
    • matplotlib - plotting data
    • and more

Prerequisites/Corequisites:

  • None. However, familiarity with Python or another programming language is useful.

Objectives:

  • The objective of this course is to introduce the student to methods of manipulating, processing, cleaning, and analyzing data in Python. The student will understand how to work with structured data from a variety of sources.

Required Texts and Resources:

  • Text: Python for Data Analysis, 3rd Ed. by Wes McKinney. Sebastopol, California: O'Reilly Media, 2022. Open Edition of the book is available here.
  • Student must have a computer (desktop, laptop, Chromebook) with an Internet connection. The student will primarily work in Jupyter Notebooks which can be accessed locally or through a web browser.
  • Recommended: Anaconda Python distribution and PyCharm IDE installed on a personal computer.



§ Graphical User Interfaces in Python (Code: GUP)

Title: Graphical User Interfaces in Python Using Qt Widgets

Target audience: grades 8-12, adults

Price and Duration:

  • $549 per student
  • This course is a semester long (15 weeks); typically 1d per week, 75min

Description:

  • This course is an introduction to graphical user interface (GUI) development for Python programs. This course is focused on the Qt6 Widgets framework and Qt PySide6. In this course, the student will learn various aspects of developing GUIs for MacOS, Windows, and Linux computers, including:
    • the application event loop
    • widgets and windows
    • signals and slots
    • layouts
    • actions, toolbars and menus
    • dialogs
    • events
    • ... more!

    Prerequisites/Corequisites:

    • Practical Programming with Python (PPP) course or demonstrated proficiency in Python.

    Objectives:

    • The objective of this course is to introduce the student to the fundamentals of graphical user interface development for Python. By the end of the course, the student will understand the fundamental aspects of Qt PySide6 and Widgets and will be able to create sophisticated Python programs with beautiful graphical user interfaces.

    Required Texts and Resources:

    • Text: Create GUI Applications with Python & Qt6 book here
    • Student must have a computer (desktop, laptop) with an Internet connection. The student will need to install Qt6 framework and Python v.3.9 or above.
    • Recommended: Anaconda Python distribution.



§ User Interface Development using Qt QML (Code: QML)

Title: User Interface Development for Python Using Qt QML

Target audience: grades 8-12, adults

Price and Duration:

  • $549 per student
  • This course is a semester long (15 weeks); typically 1d per week, 75min

Description:

  • This course is an introduction to graphical user interface (GUI) development for Python programs. This course is focused on the Qt6 framework and Qt Quick/QML. In this course, the student will learn various aspects of QML and Quick:
    • Qt Creator and Qt framework installation
    • QML syntax and hierarchical structure
    • Basic QML elements: rectangle, item, text, image
    • Properties and property binding
    • Positioning and layouts
    • program control through signals and slots
    • Qt Quick controls: buttons, lables, text field, text area, combo box, radio buttons, check boxes, ... more.
    • Screen layout: flickables, tabs, drawer
    • ... more!

    Prerequisites/Corequisites:

    • None. However, familiarity with Python or another programming language is useful.

    Objectives:

    • The objective of this course is to introduce the student the fundamentals of graphical user interface development for Python. By the end of the course, the student understand the fundamental aspects of Qt Quick/QML and will be able to create sophisticated user interfaces that work with Python programs.

    Required Texts and Resources:

    • Text: Qt6 QML for Beginners by Daniel Gakwaya. Self-published, 2023. book here
    • Student must have a computer (desktop, laptop) with an Internet connection. The student will need to install Qt6 framework and Python v.3.9 or above.
    • Recommended: Anaconda Python distribution.



Course Delivery and Payment Options

Course Delivery:

  • Sophora Services LLC courses ...
    • All courses will be delivered via Zoom.
    • Materials and assignments will be made available through Moodle on this (Sophora Services LLC) website or through Zoom or similar online service.
    • A chat and course channel will be available through Zoom. Regular communications will be made via Zoom channels and/or email.
  • Dual Advisor™ Courses will be delivered online via the Canvas LMS platform


Payment Options:

  • Payment may be made either via PayPal or through Arizona ESA or Utah Fits All Scholarship via Class Wallet. See Courses page for more information.
Stacks Image 85

Sophora Services LLC is an Arizona ESA Approved Vendor.

Stacks Image 119

For Utah families who who are eligible for the Utah Fits All Scholarship, Sophora Services LLC is a Qualified Vendor.



Contact the Instructor

You can reach the instructor by email at:
* john at sophoraservices dot com




Stacks Image 11

© 2025 Sophora Services LLC • Toll Free: 888-945-8229