Sophora Services LLC

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

Course Catalog

About the Instructor and Course Delivery

Instructor: John Kelly

Mr. Kelly is Deputy Chief of the Space Projects and Partnerships branch at NASA Armstrong Flight Research Center, Edwards Air Force Base, California, where he has 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).

Course Delivery:

  • Course materials and assignments will be made available through this (Sophora Services) website.
  • Student and parent(s)/guardian(s) will be given access to this website after course registration.
  • All courses will be delivered via Zoom.
  • A chat and course channel will be available through Zoom. Regular communications will be made via Zoom channels and/or email.


§ Dual Enrollment Courses

We are a Dual 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.

Description:

Prerequisites/Corequisites:

  • None.

Objectives:

  • The objective of this course is to introduce the student to the fundamentals of 3D drawing in SketchUp for Web. 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.

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:

  • $699 per student
  • This course is a semester long; typically 1d per week, 90 min

Description:

  • This course is an introduction to Python programming. In this course, the student will learn:
    • how to setup the Python environment.
    • variables and data types
    • lists, tuples, dictionaries, sets, and when and where to use them
    • classes
    • program control, ane more!
  • The capstone of the course will be to develop a Space Invaders-like game!

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 Python programming through examples. By the end of the course, the student will be able to create complex applications through object-oriented programming.

Required Texts and Resources:

  • Text: Python Crash Course, 3rd Ed., Eric Matthews. San Francisco: No Starch Press, 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:

  • $699 per student
  • This course is a semester long; typically 1d per week, 90 min

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 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.

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.



§ 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:

  • $699 per student
  • This course is a semester long; typically 1d per week, 90 min

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.



Contact the Instructor

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