╔═══╗╔╗                        ╔═══╗      ╔╗              ╔═══╗           ╔╗
          ║╔═╗║║║                        ║╔═╗║      ║║              ║╔═╗║           ║║
          ║╚═╝║║╚═╗╔══╗╔══╗╔═╗ ╔╗╔╗╔╗    ║║ ╚╝╔══╗╔═╝║╔╗╔═╗ ╔══╗    ║║ ║║╔══╗╔══╗ ╔═╝║╔══╗╔╗╔╗╔╗ ╔╗
          ║╔══╝║╔╗║║╔╗║║╔╗║║╔╗╗╠╣╚╬╬╝    ║║ ╔╗║╔╗║║╔╗║╠╣║╔╗╗║╔╗║    ║╚═╝║║╔═╝╚ ╗║ ║╔╗║║╔╗║║╚╝║║║ ║║
          ║║   ║║║║║╚╝║║║═╣║║║║║║╔╬╬╗    ║╚═╝║║╚╝║║╚╝║║║║║║║║╚╝║    ║╔═╗║║╚═╗║╚╝╚╗║╚╝║║║═╣║║║║║╚═╝║
          ╚╝   ╚╝╚╝╚══╝╚══╝╚╝╚╝╚╝╚╝╚╝    ╚═══╝╚══╝╚══╝╚╝╚╝╚╝╚═╗║    ╚╝ ╚╝╚══╝╚═══╝╚══╝╚══╝╚╩╩╝╚═╗╔╝
                                                            ╔═╝║                              ╔═╝║
                                                            ╚══╝                              ╚══╝


   _____                            _               _____      _                        _____ _       _
  / ____|                          | |             / ____|    (_)                      / ____| |     | |
 | |     ___  _ __ ___  _ __  _   _| |_ ___ _ __  | (___   ___ _  ___ _ __   ___ ___  | |    | |_   _| |__
 | |    / _ \| '_ ` _ \| '_ \| | | | __/ _ \ '__|  \___ \ / __| |/ _ \ '_ \ / __/ _ \ | |    | | | | | '_ \
 | |___| (_) | | | | | | |_) | |_| | ||  __/ |     ____) | (__| |  __/ | | | (_|  __/ | |____| | |_| | |_) |
  \_____\___/|_| |_| |_| .__/ \__,_|\__\___|_|    |_____/ \___|_|\___|_| |_|\___\___|  \_____|_|\__,_|_.__/
                       | |
                       |_|

Phoenix Coding Academy Computer Science Club

http://bit.ly/pcaclub

Phoenix Coding Academy (PCA) had an after-hours Computer Science Club that met Wednesdays after class at 3pm in Masamery's room. Members will learn modern tools for engineering and university academics. The course is designed for self-driven learners who attend PCA, but anyone is welcome. Attendance can be remote and asynchronous. We'll probably propose this club again in August 2025.

Quick Links

Summary Goals

Goals

Strategy

As a participant, you will be any or all of these roles:

Any participant (author) will create the content in this school. Git Workflow is just one of the modern techniques for a community of creators (e.g. developers, teachers, authors) to work together to create a product in a well-managed manner. This course is the product, and so Git Workflow will be taught to all learners and used by all authors.

Always strive to be the teacher because no-one learns more than the teacher.

This class is a series of courses (at least one for each subject) that grow over time that the club members create. Each course can be completed in any order; or skipped altogether. A course will have one or more assignments. The goal of the first assignment will be do the minimal thing needed to allow you to go deeper into the subject. For example, for the "Python" course, you can expect the first assignment to show you how to get Python installed on your machine, or use a web host (e.g. repl.it or w3schools) to enter a single line of code that prints "Hello World". Such an assignment can be completed in 5 minutes, but then other assignments in that course can build on top of the first one. Tutorials will likely be a combination of free online references that successively get more advanced. Each stage of a course will have tests that measure your progress. You can take any test at any time. You can memorize the answers if you wish, but even that takes effort, and you will learn because each question presents the

As a participant, you will do one or more of the following:

Rather than delve deep into any one subject, you'll be encouraged to complete only the first one or two assignments of the first course and then move onto another subject. This will give you a quick broad sweep of many skills that can come together to later to build big complex systems. You'll figure out which courses interest you the most, and then you can create content for those courses to teach yourself more, and perhaps other learners as well.

Testing

You can actually learn a lot by taking tests, but only if the tests explain why an answer is correct or not; see reason. When you take a practice test, you are asked a series of questions. Each question has zero or more correct answers and one or more wrong answers. The answers are randomized and presented as check boxes. If all are correct, then check all the boxes. If none are correct, then check no boxes.

Example:

Which of the following are colors:
[ ] Orange
[ ] Dog
[ ] Car
[ ] Blue
[ ] House

As an author, you can easily model each question in a YAML file. The learner chooses:

The test engine randomizes all questions and picks the first N of them. For each question, the engine randomizes all the answers (right and wrong ones) and then presents all answers (maximum five) as checkboxes. This implies that 5 checkboxes have only 1 in 32 ways to be correct. Each question will have a scoring method, which might (for example) be +1 for each correct answer, -1 for each incorrect one.

In Learn mode, the learner answers a question, and then the answers and explanations are shown; correct answers in GREEN, incorrect ones in RED. In Test mode, the learner answers all questions first, a score is recorded, and then the learner has the option to review each question just like in Learn mode.