bomonike

ap-compsci.png

This article presents a path for preparing high school students to begin careers in the cyber-enhanced workplace of the 21st century.

This course is for those curious about how things work and enjoy taking a deep dive into technology.

Highlights:

  1. Before touching a computer, learners earn a “drivers license” about safe computing (A)

  2. Earn college credit while in high school by passing AP Computer Science Principles in April

  3. Prepare learners to take entry-level professional certifications. Exam questions are reviewed in each module.

    Professional certifications enable faster/cheaper completion of bachelor’s degrees such as Western Governors Universiity online, where students of this class take CompTIA Security+, Cloud+, Project+, PenTest+ not in the scope of this introductory class.

  4. Create quiz questions and learn to take tests confidently.

  5. Practice Collaboration using tools professional use.

Gen Z slang “glow-up” = a major improvement in one’s self, usually an improvement in appearance, confidence, and style.

Objectives (Syllabus)

By the end of this course, the learner would be able to (by following step-by-step instructions executing automated scripts):

      ### A. Feel welcome and optimistic

Data about you is an asset of value:

  1. Define Threat model: what do you value?

    B. Practice safe and efficient computing practices

    This is Code.org’s APCSP Unit 2 “The Internet” expanded

    Avoid over-sharing

  2. Use fake answers to security questions: relatives, address, birthday, socia; security number
  3. Compartmentalization: different pseudonym identities and a browser profile for each use (School, Browsing, Shopping, YouTube, Snapchat, Dating)
  4. Use alternative VoIP (Google Voice, hushed.com, MySudo.com, etc.)
  5. For alternate network, account verification, Android, get a phone & plan for MVNO (top-rated $20/m Consumer Cellular on AT&T’s network, $15/m ultramobile.com and $25/m Visible use Verizon’s network, $15/mo MintMobile uses T-Mobile’s network).
  6. Use Paypal or one-time credit card numbers (privacy.com).
  7. Use a spreadsheet to track where your give out your credit cards to.
  8. Setup a credit freeze to block opening of new credit lines.

    Evaluate and select editors:

  9. Community Edition vs. Enterprise Editor licenses
  10. Evaluate and select a text editor/IDE: vim, VSCode, PyCharm

    Bash automates Linux

  11. Use a Terminal program to run CLI commands and Bash scripts.
  12. Install Brew on macOS or Apt package managers to optionally install alternative Terminal and other utilities.
  13. Configure automatic updates on CLI packages.
  14. Use ChatGPT GenAI LLM to suggest CLI commands by installing Python utility llm-cli-helper.

    Use SSH with GitHub

  15. Obtain a github account using an email.
  16. Create an SSH key pair to keep your repositories private.

    On laptops, isolate each Python program:

  17. Understand the different (convoluated) ways to install Python (pyenv, Juypter, pip, Conda, Miniconda).
  18. Install virtualenv and Miniconda (which comes with its own Python interpreter).
  19. Add Python to the $PATH where the operating system looks for programs.
  20. Clone a code repo from GitHub and navigate into the git-created folder.

  21. Make venv folder and activate.
  22. Generate a SBOM and examine imported modules dependencies with reported CVEs.
  23. Download dependencies pip install -r requirements.txt
  24. Run program through a code linter utility.

  25. Copy code, prompt ChatGPT “what does this code do?” and paste code.
  26. Within Visual Studio Code, set break points and run the program one line at a time.
  27. Reformat code using formatting utility.
  28. Prompt ChatGPT to “improve this code”.

    Keep updated to the latest versions:

  29. Configure you OS to automatically update.
  30. Make a checklist to run through all that you do to verify whether everything still works.

    C Securely handle secrets

    Don't reuse a password on several accounts: ITF 6.5

  31. Use haveibeenpwned.com to check if credentials and data behind an email has been stolen.
  32. Install, configure, use local password manager KeepassXC to generate passwords.

    Use really strong passwords:

  33. Prefer hardware devices (Yubikey, Nitrokey) over biometrics (finger, face recognition).
  34. PRE-READ: Generate pseudo-random numbers (coin, dice, 8-ball) JavaScript - Khan CSP 2.1
  35. Create secure password: using base-6 dice and lookup diceware list or base-20 numbers to a fandom list.
  36. Install, configure, use cloud-based Twilio’s Authy app for 2FA (Two-factor authentication) with TOTP (Temporary Token).
  37. TRIVIA: Use scientific calculator to define entropy of password length, complexity, IPv4 & IPv6

    Use encryption: ITF 6.6

  38. Install and configure Signal app for sharing secrects using end-to-end encrypted private messaging. Ask friends to do the same for uniting iPhone & Android.
  39. Install and configure Akeyless web service to store secrets retrieved by programs.
  40. Install and configure privacy email client Startmail with aliases.
  41. Install GPG to use receiver’s public gpg key to encrypt files locally for email so receiver can decrypt with private key.

    D. Protect your data

    Backup and recover data:

  42. Install, configure, schedule use of encrypted backups.
  43. Verify restore from backups.

    Clear out what you don't use:

  44. Shred deleted files. Burn papers.
  45. Clean system and free disk space (using BleachBit).

    Stop data theft:

  46. Request take-down from (long) list of data brokers ($20/yr deleteme).
  47. Configure OS to use safer DNS 9.9.9.9 (instead of tracker default or Google’s 8.8.8.8 which saves your activity)
  48. Opt out of analytics and “customizations” on all devices, include TVs, Apple+, Roku.
  49. Use private map apps (openstreetmap.org) instead of Google Maps.

    Internationalization (i18n) & Localization:

  50. Maps: bookmarks: apple, google, Flightsim, world heritage sites
  51. Locales (languages), UTC Time zones https://wilsonmar.github.io/calendar
    • Dateline & Daylight saving time (India, Russia, China)
  52. Identify Longitude and Latitude coordinates on the globe. Calculate your Lat/Long.
  53. EXERCISE: Analytics: Create miles & meters vs. latency scatterplot
  54. ASCII vs. unicode Notation systems - ITF 1.1
    • Unicode chars (echo u2014 for em dash, u1f643 for upside-down smiley face. Currency: Euros, Pounds)
    • On macOS: click the globe key, click on » at the lower-right.
  55. Countries: codes +1, world map, adversarial, freedoms

    Configure settings for privacy and safety:

  56. Turn off Blutooth and other services when not in use.
  57. Configure privacy settings on iPhone Safari, Android Google Chrome. Clear Temp Data. Use startpage.com for private search.
  58. Install and configure Firefox browser or Brave browser.
  59. Install VPN (mullvad, ProtonVPN) when using unlocked networks.

    Keep a lookout:

  60. Identify logs and indicators of compromise (host files, auto-start processes).
  61. Build an airgapped (stand-alone) Raspberry Pi to examine & scrub USB drives using CIRClean utility.

    Block intruders:

  62. Evaluate risk of man-in-the-middle attacks using websites yopass.se or passlink.
  63. Use VirusTotal.com to check whether host name and IP address have been reported as malicious.
  64. On your router, set custom password instead of default (to not participate in DDoS)

    Practice critical thinking about content:

  65. Identify attempts to co-opt emotional reactions.
  66. Identify fear mongering for clicks.
  67. Identify the pattern of posts by posters.
  68. Identify fake news misinformation by researching the legitimacy of sources (WSJ, GroundNews, FactCheck.org, Snopes.com, and PolitiFact.com).

  69. Use Google Classroom.

    E. Craft profiles, articles, portfolio

    Your face and body are a secret

  70. Recognize the impact misuse of reverse image search (clearview.ai).
  71. Set Instagram account to private so it does not use your photos for training their AI.
  72. Upload an obfuscated profile photo to gravatar.com so other websites can (using MD5 hash) associate emails with a profile image.

    Generate portraits using Python Jupyter:

  73. Modify Python Jupyter code within Google’s cloud CodeLab to create obfuscated privacy-maintaining portrait using Machine Learning style transfer.
    1. Handle secrets in Juypter sample
    2. Jupyter Graphing vs Cabana vs Superset
    3. Python numpy for calculations
    4. matplotlib and Seaborn modules for graphing
    5. Use ChatGPT in Codebin to evaluate CSS display to generate VIDEO tinyhost and webintoapp to Google Android store.

    Obfuscate your likeness:

  74. Define a naming covention to save drives, folders, file.
  75. Use an AI-generated person’s portrait with your demographic when you can.
  76. Take photos in different levels of formality.
  77. Perturb photos of you using open-source fawkes to disrupt use by mass facial recognition.
  78. Post obfuscated photo on Gravatar.com image for other websites to associate with each of your emails.
  79. [Use AI to generate images, sound, video] (freemium)
  1. Use CLI utility magic-wormhold to send and receive files peer-to-peer.
  2. PROJECT: Create offline web apps.

    G. Read and contribute to projects on GitHub using git
    - 2) GitHub Foundations certification

  3. Search through GitHub.com using several filters.
  4. Contribute to an open-source repository on GitHub by forking, git clone,
  5. Format documentation in Markedown format

    H. Code Python apps
    - 4) Python Fundamentals certification

    I. Navigate within cloud environments (Hertzer, AWS, Azure, Google)

  6. Obtain free accounts to use clouds.
  7. Setup user account permissions to avoid using too-powerful root credentials.
  8. Install CLI programs to enable shell scripts to automate use of clouds.
  9. Automate Google Calendar

    J. Use low-code systems to develop a mobile app - Outsystems?

  10. Try EarSketch to program music.

    K. Configure and administer a computer from scratch
    - 3) $178 CompTIA Tech+ certification

    1. Use CLI commands to create a USB drive from a downloaded ISO image to boot up a machine.
    2. Use CLI commands to run bash scripts.
    3. Use CLI utility magic-wormhold to send and receive files peer-to-peer
    4. Enable users to login more securely using SSH certificates rather than passwords.

    5. Install PrivateBin server for encryption before sending to zero-knowledge server.
    6. Encrypt secret text and send to another for decryption (end-to-end encryption) using zeor-knowledge

How we learn

Google Classroom is used with Google Meet (instead of Zoom or Microsoft Teams). VIDEO

Use an “inverted classroom” approach, where learners view videos and identify questions about a topic before live class activities about the same topic.

To foster leadership, collaboration, and debugging skills, learners are expected to help each other.

Project Based Learning (PBL) means an authentic, “real-world” Performance Tasks (PTs) to solve a problem related to each topic.

To develop a sequence, we print a card for each step (not labeled for sequence), then debate about why one step should go before another step.

We collaborate by diving tasks among learners.

We seek to learn more from deduction than being told.

We use active learning - practical hands-on projects

We reference checklists from others who have mastered the topic.

For help with memorization recall such as glossary definitions, we use paper flash cards and Quizlet.com: use Google Sheets. VIDEO: VIDEO: Answers are hidden using a white font. The background color is changed for flagging additional review.

VIDEO: To prompt GPT to write flashcard text

POLLs

Learners create hands-on practical projects - with live presentation video recording and descriptions profiles

  1. Create accounts on several cloud services (GitHub, Cloudinary, AWS, Azure, Google).
  2. Create a static github.io website using Jekyll using Ruby or 11ty using Node.
  3. Register a domain name.

  4. PROJECT: Create secure password: using base-6 dice and lookup diceware list or base-20 numbers to a fandom list. Explain password best practices ITF 6.5.

Computer Science Education Week in early December.

We analyze each technology based on the “Five Big Ideas” covered/tested in the AP CSP curriculum and exam:

Computational Thinking practices PDF:

Simulations: Physics simulation kit provides:

AP CSP Resources

Dale, N., and J. Lewis. Computer Science Illuminated. Boston: Jones and Bartlett Publishers.

     A. Practice safe & efficient computing practices [Systems] [Impact]

  1. How we learn

    Predict, Prepare, Adapt to Trends

  2. 15-year Generations: Boomer: TV, X: TV, Millenials: PCs, Z: Internet, Alpha: smartphones & AI
  3. Industrial ages: 1st: farming, 2nd: railroads & factories, 3rd: computers & internet, 4th: AI & robots
  4. BRAINSTORM: “What are our concerns?” Risk identification: as a teenager, school, citizen, town, country, planet - CC 1.2.2
    • examples: properity, ransom, pestilance, war, cyber-bullying, screen addiction, and inappropriate content
  5. POLLS: Risk management: priorities, tolerance - CC 1.2.1
    • Impact
    • Probability
  6. Jobs & salaries

    Value of data and information - ITF 1.4

  7. POLL on PRIORITIZATION: What do you value?
    • Photos & videos (on iPhone or Android)
    • Contacts
    • Calendar (Dec 10 for PT, May 15 for exam)
    • Emails (hygiene)
    • Docs & Files (on Google Drive, Exam questions)
    • Apps
    • ?

    For a business:

    • Proprietory IP (Intellectual Property) - Trademarks, Copyrights, Patents, Trade Secrets - ITF 1.4.2
  8. Provide appropriate attribution - CSP1 (VIDEO: Creative Commons)

  9. Ransomware (Advanced Persistent Threats by state actors)

  10. Incident Response - CC 2.3
    • EXERCISE lost phone: Find My; Who to call: Phone #s, acct #. Stop loss.
  11. Opertions/Business continuity - ITF 6.7 & CC 2.1
    • Use old phone? Nearest phone stores (SIMless)

    Enabling Easy/Quick Recovery:

  12. Backup to restore (3-2-1 rule)
  13. Disaster Recovery - CC 2.1
    • EXERCISE: Steps to setup new smartphone (apps, settings)
  14. Social Engineering Vishing (credential harvesting) - CC 5.4
    • Vishing is the fraudulent practice of making phone calls or leaving voice messages purporting to be from reputable companies in order to induce individuals to reveal personal information, such as bank details and credit card numbers.
  15. Critical thinking (misinformation & manipulation):
    • How valid is the sender?
    • How biased is its source? News - KA 1
    • How valid (true) is the content? (Survey says by who?)
    • What is that trying to make me feel or do? Clickbait to serve up advertising & propaganda?
    • Is the rationale logically related to the requested action?
  16. Rules to secure communication with children: protect identity, parental consent
  17. Privacy policy - CC 5.3

    Prevention Controls

  18. Governance: Policies, Procedures, Standards, Regulations and laws - CC 1.5
  19. Professional code of conduct from ISC2 - CC 1.4
  20. Reputation: Revilers not welcome

  21. Physical security controls (e.g., badge systems, gate entry, environmental design) - CC 1.3.3
  22. Physical Monitoring (e.g., security guards, closed-circuit television (CCTV), alarm systems, cameras, logs) - CC 1.3.3

  23. Authorized versus unauthorized personnel - CC 1.3.3
  24. Confidentiality, Integrity, availability (CIA) concerns - ITF 6.1 & CC 1.1
    • Federated authentication: Apple, Microsoft, Google, Facebook, Twitter, Clever
  25. Principle of least privilege - CC 3.2.1
  26. Segregation of duties - CC 3.2.2
    1. Discretionary access control (DAC) - CC 3.2.3
    2. Mandatory access control (MAC) - CC 3.2.4
    3. Role-based access control (RBAC) - CC 3.2.5

    "You computer ports are like your mouth. Avoid putting anything in there you do not trust."

  27. Data handling policies - CC 5.3 USB, labeling - CC 5.1 using IoT device:

    • HANDS-ON: Disable AutoRun & AutoPlay on Windows computer to prevent automatic execution of programs on the USB stick when it is inserted into the computer.
    • HANDS-ON: autorun files on USB drives (Random USB Stuxnet case)
    • HANDS-ON: Build an airgapped Raspberry Pi for CIRClean on USB to examine & scrub USB drives
  28. Data handling policies - CC 5.3 proper destruction, retention, classification - CC 5.1

  29. Acceptable Use Policy (AUP) - CC 5.3
  30. Bring your own device (BYOD) policy - CC 5.3
  31. Change management policy (e.g., documentation, approval, rollback) - CC 5.3

  32. Technical controls - CC 1.3.2
  33. Administrative controls - CC 1.3.1

  34. Digital Divide: PC x86 laptops vs macOS RaspberryPi ARM vs Chromebooks (Linux on Chromebook) - KA
    • Secure config FaceTime & iMessage on iPhones

    Troubleshooting

  35. Troubleshooting methodology [sequencing, random tries] - ITF 1.6.1
  36. Input/Output GUI devices - ITF 2.1
  37. Linked devices: Networking tech: 2G, 3G, 4G, LTE, 5G, 6G, Starlink, etc.
  38. Networking: airgap, wifi, internet, cellular, radios - ITF 2.3
  39. Units of measure for storage, throughput, processing - ITF 1.5

  40. Secure networking: Mobile hotspots & VPNs & Mullvad DNS over HTTPS,
  41. HANDS-ON: Use VirusTotal.com to check issues whether host name and IP address is malicious.
  42. HANDS-ON: Request take-down from data brokers.
  43. Remove apps and delete accounts you don’t use anymore (justdeleteme.xyz)

  44. Logging tracking
  45. Indicators of Compromise
  46. Forensics to obtain evidence without tampering - FTK
    • SleuthKit.org command-line tools
    • AccessData
    • Autopsy.com software (for Windows FTK from Basis Technologies)
  47. Setup Microsoft Passkey Authenticator

  48. Use cases and projects VIDEO
  49. [Use Gen AI to generate code

    Web Browsers

  50. Web Browsers: default Microsoft Edge, Google Chrome, Firefox/Arkenfox, Opera, Brave, Tor/Mullvad https://privacytests.org
  51. Web Browsers: profiles, cache, search engine, bookmarks, downloading - ITF 3.5
  52. Web browsers: HTTPS TLS 1.3 vs HTTP certs - ITF 3.5
  53. Web browsers: cache, extensions, private, popups - ITF 3.5

  54. Fake URLs with unicode chars to click on malicious download sites
  55. Host name to IP address: DNS 9.9.9.9 - ITF 2.7

  56. Content: “Clickbait” Manipulation to share: emotions (shame, fear, mad, sad, scared, outrage)
  57. Phising to install keylogger, Trojans provide backdoor access and remote control capabilities, while viruses primarily focus on spreading and causing damage to files and systems.

  58. Phising of email, phone. Block, Delete, Report. DoNoCall lists.
  59. Contacts: Fields (email, phone, websites), tags, invite, sort

  60. PII spoofing and 2FA, Passkeys, logout, restart
  61. Temp/alt info: Address, Phone, email, credit card, social security
  62. HANDS-ON: Create carricatures using AI
  63. HANDS-ON: Cloudinary.com to hold image files

  64. Don’t Panic: Incident Management - CC 2.3

  65. HANDS-ON: Select browser add-ons
  66. HANDS-ON: Create browser add-on using JavaScript

  67. Network threats (e.g., distributed denial-of-service (DDoS), virus, worm, Trojan, man-in-the-middle (MITM), side-channel) - CC 4.2
  68. Identification (e.g., intrusion detection system (IDS), host-based intrusion detection system (HIDS), network intrusion detection system (NIDS)) - CC 4.2
  69. Prevention (e.g., antivirus, scans, firewalls, intrusion prevention system (IPS)) - CC 4.2

    Passwords

  70. Password policy - CC 5.3
    • EXERCISE: Calculate time to crack
    • Encryption: [Post-Quantum encryption algorithm] - CC 5.1
    • HANDS-ON TOOL: JohnTheRipper password (brute-force) crackers using dictionary attack
  71. Hash collisions MD5 & SSH
  72. Methods to secure devices - ITF 6.2
  73. Behavoioral security concepts - ITF 6.3
  74. Authentication, authorization, accounting - ITF 6.4 & CC 1.1

  75. HANDS-ON: Calculate How much time it takes to crack a password at cyber.org
  76. HANDS-ON: Create secure password: using base-6 dice and lookup diceware list or base-20 numbers to a fandom list. Explain password best practices ITF 6.5
  77. HANDS-ON: Password reset via email.

  78. AKeyless cloud service: variables, hierarchy
  79. Authy app: backup keys
  80. SSH for GitHub

  81. Hardware: components, powers of 2, Volts = Amperge x Resistance Ohms
  82. Keyboards Carpel-Tunnel prevention,
  83. Operating systems: Families, Bootup, sleep, periodic shut down, auto Updates

    Terminal CLI

  84. Local vs cloud tiers ITF 3.4
  85. Terminal: root, CLI commands, folders, files, parameters
  86. Keyboard aliases
  87. chmod permissions for Users and Groups

  88. Package managers: apps vs command packages, downloading

  89. Protocols: [Wireshark utility] HTTP, HTTPS with SSL certs, CAs,
  90. Man-in-the-middle attacks security

    VIDEO: Brave New Words by Salman Khan

    B. Securely handle secrets

  91. [Generate strongest passphrase using Dice and word lists]

  92. Ask questions of [Use Perplexity.ai] {3B-AP-08}
  93. [Connect a weather station to the internet] on openweather.com {3B-DA-06} {3B-DA-07} - measure validity of predictions based on barometric pressure
  94. Surveys, bias
  95. Correlation is not Causation

  96. Intelligent Agents - being outsmarted by superintelligence
  97. When AI runs out of human-generated data to consume

    LAB: Fun with Linux:

  98. Operating systems types - ITF 3.1

  99. CLI: Pipe (cowsay -f tux I am Tux!), (fortune cowsay -f tux ), (fortune lolcat )
  100. CLI: Kill command after installing & using oneko, cmatrix ($ to change color)
  101. CLI: Background process (aafire &)
  102. CLI: rig addresses from files
  103. CLI: wget asciiquarium, (tar -zxf .asciiquarium.tar.gz)
  104. CLI: cd, ls, permission denied, chmod +x asciiquarium)
  105. CLI: install Term::Animation

  106. File systems directories
  107. CLI: Make, delete folders & files, symlinks
  108. CLI: locate, find, grep, which
  109. CLI: grep
  110. CLI: jq for json and xml

  111. AI Search: Inappropriate/Toxic Topics: Search in ChatGPT & Perpexity.ai

  112. Data Storage: NAS, Durability “bit rot”, RAID-5 - ITF 2.5
  113. Disk encryption
  114. USB chips

  115. [Backup and restore] as incident response workflow

  116. Detect evidence of intrusion, log archival
  117. network segmentation mTLS for zero trust

  118. CERTIFICATION: $50 ISC2 Certified in Cybersecurity from ISC2

    • CC 1. Security Principles
    • CC 2. Business Continuity (BC), Disaster Recovery (DR) & Incident Response Concepts
    • CC 3. Access Controls Concepts
    • CC 4. Network Security
    • CC 5. Security Operations

    C. Plan and track work collaboratively

  119. Attribution (giving credit): [Wikipedia] Creative Commons
  120. Bias, Incomplete & Invalid data
  121. Objectives vs. Tasks vs. Activities: Eisenhower
  122. Calendars
  123. [Calculate sunrise & sunset of sun] SunCalc.org for solar panels Sun Surveyor and Sun Seeker {3B-DA-05}
  124. Messaging Apps: Facebook, Slack, Discord, Telegram, LinkedIn Messages, Twitter/X, Mastodon
  125. Impersonations, change handles.

  126. Kanban board and flow in Trello & prokanban.org (https://kanbanguides.org/english/)

  127. CERTIFICATION: $200 ProKanban.org Kanban open assessment

  128. [Print 3D object from STL file] created using OnShape 3D CAD Boot.dev course

    D. Read and contribute to projects on GitHub using git

    Curriculum from Microsoft

  129. Introduction to Git (31 min) - Install & Config Git utilities
  130. Introduction to GitHub (1 hr 32 min) - [Identify Awesome repos]
  131. Introduction to GitHub’s products (23 min)
  132. [Create Public/Private Key SSH certificates]

  133. Introduction to GitHub Copilot (17 min)
  134. Code with GitHub Codespaces (27 min)
  135. Manage your work with GitHub Projects (36 min) - [manage files and folders]

  136. Maintain a secure repository by using GitHub best practices (35 min)
  137. Find commiter email addresses and evaulate their LinkedIn

  138. [Edit text using keyboard shortcuts] in Vim and VSCode - freeware vs licensed
  139. HANDS-ON: Configure git to sign commits using SSH stored in KeepassXC
  140. Manage repository changes by using pull requests on GitHub (49 min)
  141. Search and organize repository history by using GitHub (38 min)
  142. Using GitHub Copilot with Python for students (22 min)

  143. HANDS-ON: Visualize git commits by installing .NET to run a C# app

  144. Communicate effectively on GitHub [using Markdown (1 hr 6 min)
  145. HANDS-ON: Create a static github.io website using Jekyll using Ruby or 11ty using Node
  146. HANDS-ON: Register a domain name

  147. Initialize a new repo
  148. [Populate a .gitignore based on technologies used]
  149. PPAs (Personal Package Archives) in Debian/Ubuntu Canonical
  150. Contribute to an open-source project on GitHub (27 min)
  151. Manage an InnerSource program by using GitHub (50 min)
  152. [Resolve/prevent merge conflicts in same file & lines]

  153. Benefits of the GitHub Community

  154. [Use AI: “Explain this code”] https://codehs.com/ai

  155. Introduction to GitHub administration (27 min)
  156. Authenticate and authorize user identities on GitHub (33 min) - add a contributor

  157. Project Management
  158. Privacy, Security, and Administration

  159. CERTIFICATION: $49 GitHub Foundations (https://examregistration.github.com/certification/GHF)

    E. Craft profiles, static website, portfolio projects

    "Look not to what can be done today but what will be possible in 5 years."

    Create content

  160. Attribution like papers on https://arxiv.org/
  161. Image video & Compression (lossless & lossy): gif, png, jpeg, mp3, mp4
  162. Image: Adobe
  163. Audio: Elevenlabs
  164. Video: OpenAI Sora

  165. Programming languages: TIOBE Programming Language Index based on search engine
  166. [Install compilers for Java, C, C++, C#, Go, SQL & Ruby, PHP, Python, PowerShell]

  167. Career Job Titles - paths to trades and professions CyberSecurity career picker
  168. Intro
    • School Help desk - service award
    • Club officer
    • Project for honors
    • TA
    • Company internship
    • Apply for colleges, trades & scholarships
  169. “10X” coder myth and implications - digital footprint
    • Answers questions, Mentors others within a community (collaborative social network)
    • Create YouTube videos for subscriber recognition as “influencer”
    • Write blogs on LinkedIn, Substack, Medium, dev.to, etc.
    • Write books (for publicity by publishers)
    • Create courses with quizes, projects in github
    • Speak live at industry conferences (traveled)
    • Interiew on video podcasts (Danny Jones, Lex Friedman, Jordan Harbinger, Jordan Peterson)
    • Master ceremonies at events
  170. [LinkedIn profile] to display achievements and recommendations
  171. Projects: (Make the complex simply complicated)
    • https://www.linkedin.com/in/madisonhinman/details/projects/
  172. Examplars and Checklist of best profiles

  173. Diagrams, flowcharts in PowerPoint = LibreOffice = Google Draw, Miro

  174. [“Someone behind you” OpenCV image recognition] (VIDEO
  175. [custom bit.ly URL shortener]

  176. Website SSL (https://www.youtube.com/channel/UCTLmcK9w1bZOpQbRCEg6vEw/videos) VIDEO

  177. Review Upwork & other gig sites

    F. Code Python apps

    APCSP requires submission of code to full programs to meet the “Create Performance Tasks” rubic for 30% of the exam score.

  178. [Create QR code using website & Python]

  179. Software installation, Licensing ITF 3.6a
  180. Python versioning install options: pyenv setup
  181. import libraries: pip vs virtualenv vs. venv vs. Conda VIDEO
  182. Packages to avoid: six, pandas (doesn’t scale)
  183. Packages: pydantic for variables
  184. GUI programming using Qt library (Sample for scheduling)

  185. Get a package into PyPi registry
  186. Transitive Dependency Security: SBOM
  187. Lookup CVEs for apps you use

    Python testing:

  188. Structure Python code to use Pytest
  189. printf-string tricks
  190. Debug Python using github.com/gruns/icecream
  191. Tools to calculate test coverage

  192. TEAM Code review
  193. Automatic code reformatting (using Black)
  194. PEP8
  195. OWASP: Known-bad sample code

  196. PROJECT: Screen Scraper in Python using Playright, Selenium, Beautiful soup, etc.

  197. Programming language categories ITF 4.1, KA 3: Programming

    Core Pythong coding:

  198. Data types (boolean, char, string, integers, float) - ITF 1.2
  199. Data Types, Evaluations, and Basic I/O Operations (20% - 6 exam items)
  200. Flow Control – loops and conditional blocks (20% - 6 exam items)
  201. Data Collections – Lists, Tuples, and Dictionaries (23% - 7 exam items)

  202. Functions (20% - 6 exam items) Functions
  203. Identifiers, Containers, Objects ITF 4.3

  204. CERTIFICATION: $59 PCAP-31-02 “Certified Entry-Level Python Programmer Certification”

    Object-Oriented Programming

  205. The Tic-Tac-Toe two-player game played on a nine-square grid. one of the concepts. Sample code.
  206. Expand program scope to add Spock and Lizard.

    Next-level Python programming

  207. Efficiency of Methods: Khan: Big-O Notation: Asymptotic calculations]

    Leetcode.com (scam) challenges: optimizations and tricks:

  208. Arrays (data structures) and matrices using numpy functions for linear algebra, fourier transform, and other scientific uses
  209. Algorithms - start from and save to disk
    • Pig latin in flowchart, pseudocode, JavaScript
    • RosettaCode presents solutions to the same task in many different languages, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another.
  210. Search: Breath-first
  211. Two pointers
  212. Sliding Window
  213. Binary Search
  214. Sorting: Quick Sort, Insertion Sort, Merge Sort
  215. Linked List
  216. Trees
  217. KA Simulations

  218. PROJECT: Create a mobile app using a “low-code” development platform (Outsystems) calling several GenAI APIs.

  219. KA 5

  220. Database ITF 5.1, DB structures ITF 5.2, Interface ITF 5.3

    G. Navigate within cloud environments (AWS, Azure, Google)</a>

    The scope here is to be able to sign up and get permissions to navigate the menu. Creating resources is covered in more advanced classes.

  221. Internet service types: ITF 2.4
  222. From traditional on-prem. to clouds
  223. Computer Clouds: Azure, AWS, GCP, Oracle, Hitzner, etc.
  224. Downsides of cloud

  225. NodeJs vs Python vs Rust vs Java vs Go [TIOBE rankings]
  226. Khan: Algorithms:
  227. “AI/ML for Oceans” https://code.org/oceans
  228. ChatGPT
  229. Amazon AWS and Microsoft Azure cloud service to access workstations and data (freemium)
  230. REST API programming (Postman and other tools)
  231. Countries and cities of the world - compare latency averages and anomalies over time

    NOTE: As of 2024 there is no certification for AI.

    H. Use low-code systems to develop apps

  232. Draw a flow chart about branching - ITF 4.2
  233. GUI Design: DEMO: Figma/Tailwind
  234. GUI coding in Python using Tcl

  235. [Modify a e-commerce shop template] (Gumroad, Shopify, etc.)
  236. “full speed into a brick wall”
  237. Odoo app templates
  238. Outsystems app creator

  239. Workflow CI/CD automation (GitHub Actions, Jenkins/Cloudbees cloud)

  240. [Use AI to Solve word problems]

    J. Configure and administer a computer from scratch

    The scope here is to gain understanding of the lifecycle and automation to setup and troubleshooting

  241. Home Lab components (CPU, Memory, etc.) - ITF 2.3
  242. 8-bit to 16, 32, 64, 128 - ITF 2.3
  243. File Systems: format USB chips and drives
  244. [Install a USB chip to setup a Zima board from scratch]
  245. Configuration files: between json & yaml & xml & toml
  246. dotfiles from others
  247. Logs: [convert epoch date]

  248. Open Media Vault
  249. Internet of Things (IoT) to quantify and control physical objects (Foot pedals)
  250. Send analog talk between from a radio between repeaters connected to the internet

  251. IoT devices - ITF 2.6

  252. Install & configure wireless network ITF 2.8
  253. [Use Wireshark to analyze wire-level packets]

  254. system hardening - CC 5.2.1
  255. Configuration management (e.g., baselines, updates, patches) - CC 5.2.2

  256. Server Backup & Restore
  257. Server Incident Management

  258. CERTIFICATION: $84 CompTIA Tech+ (formerly IT Foundations+) (https://www.comptia.org/certifications/a)
  259. CERTIFICATION: CompTIA A+ (https://www.comptia.org/certifications/a)
    • $253 220-1102 - operating systems, security, software, operational procedures.
    • $253 220-1101 - mobile devices, networking technology, hardware, virtualization, cloud computing.
  260. CERTIFICATION: Linux LPIC-1 101 $200

CompTIA Tech+ certification

PDF:

Soon, AI would capture ever bit human-generated writings ever created. In 2024, human experts have been bested in every game invented (chess, go, etc.) and are able to pass exams to score in the 90th percentile of lawyers and doctors. “Complex reasoning” is at the cusp.

Selection Sequencing Iteration

Early Alternatives

To gain a higher chance for admission into top universities,
to have more freedom to take classes,
to take more advanced classes sooner,
to graduate sooner,
to build a more impressive resume for jobs,
students, while still in high school, can earn college credits:

  1. Take classes on-line at community colleges which accept high school students.

  2. Attend a nearby community college on-site within “duel enrollment” programs so credits earned apply to both high school and university graduation requirements.

  3. Score high enough on credit-by-examination:
    • College Board’s CLEP (College-Level Examination Program®) have $93 year-round exams for anyone (with parent approval at age 13 or below). Usually taken in undergrad years. They have a Information Systems exam, accepted on score 50-65 or higher. PROTIP: The College Board Access Code is 970000 for “US Territories Homeschool” students, 000003 (in the U.S. or U.S. territories) or 000004 (in international locations) for those no longer in school or do not have a high school code. 877-274-6474

    • IB
    • Cambridge AICE in the UK.

    BTW: Those in the US military can study and take (at Prometric testing centers) each exam once for free DSST (DANTES Subject Standardized Tests) accreditated by the American Council on Education (ACE). Tests include: TECHNICAL WRITING, COMPUTING & INFORMATION TECHNOLOGY, MANAGEMENT INFORMATION SYSTEMS, FUNDAMENTALS OF CYBERSECURITY.

  4. Score high enough on AP (Advance Placement) exams by the College Board. See next section:

AP (Advanced Placement) for Computer Science

VIDEO: Why you should take AP Computer Science in High School

The College Board conducts exams in 38 academic subjects. Each year, some exams are retired and others are added.

Within the STEM (Science, Technology, Engineering, and Math) category, for 2023/24 the College Board offered two different Computer Science AP exams:

The College Board’s exam names have a suffix “A” to designate the equivalent of a first-semester college course in a subject area. A two-semester series has a suffix of “AB” or “BC”.

There was a time when there was a “AP Computer Science AB” which covered all the topics of AP Computer Science A plus more formal and in-depth study of algorithms, data structures, and data abstractions. That exam was discontinued after the 2008–2009 year.

The two exams can be taken in any order. There are no limit on retakes.

Computer Science A (CSA)

AP Computer Science was taught using Pascal for the 1984–1998 exams, C++ for 1999–2003, and object-oriented Java since 2004 as AP Computer Science A.

https://help.codehs.com/en/articles/1121548-using-the-codehs-sandbox

Units listed in the pdf about the 3-hour CSA exam:

  1. Primitive (Data) Types
  2. Using Objects (Methods and Control Structures)
  3. Boolean Expressions and if Statements
  4. Iteration
  5. Classes
  6. Array
  7. ArrayList
  8. 2D Array
  9. Inheritance
  10. Recursion (Computational Thinking)

PROTIP: Almost all the above concepts need to be addressed with all programming languages, but with different implementations.

One concern about CSA is that the programming lack the context of building a complete system, which programmers need to do.

CSP Concepts

There exists other programming languages (Assembly, C, C#, F#, Go, JavaScript, Lua, PHP, Rust, Swift, TypeScript, Zig, etc.).

Recently, many teachers of the AP CSP exam select the Python programming langauge, which is popular among Data Scientists working with AI (Artificial Intelligence) and Machine Learning that’s all the rage since 2023.

Five Big Ideas (not covered in sequence below):

Items below are based on the national CSTA (Computer Science Teacher Associate) Standards at https://csteachers.org/k12standards/interactive saved as this CSV file at https://github.com/bomonike/bomonike.github.io/blob/master/data/csta-2024.csv after refactoring for sortable codes in “_Grade” (“00” for “K-2”), then sorting by _Concept, _SubConcept, _Grade (descending)

Big Idea 1: Creative Development

NOTE: This is in the AP CSP but not in CSTA.

Understand the significance of collaboration in program development and how to use an iterative approach in your work. When developing computing innovations, developers can use a formal, iterative design process or a less rigid process of experimentation, and will encounter phases of investigating and reflecting, designing, prototyping, and testing.

Big Idea 2: Data & Analysis (DA)

Delve into how computers handle data and how data can be utilized to generate fresh information and solve problems. Data are central to computing innovations because they communicate initial conditions to programs and represent new knowledge.

Collection Visualization & Transformation:

Inference & Models:

Storage:

Montana:

Big Idea 3: Algorithms and Programming

Gain proficiency in utilizing algorithms and abstractions to create programs that solve problems or express your creativity.

Algorithms:

Control:

Modularity:

Program Development:

Variables:

Montana:

Big Idea 4: Computer Systems (CS) and Networks & the Internet (NI)

NOTE: The CSTA standard separates Systems & Networks.

Explore the functioning of computer systems and networks, as well as how multiple computers can be employed to divide tasks and expedite processes.

Devices:

Hardware & Software:

Troubleshooting:

Cybersecurity:

Network Communication & Organization:

Big Idea 5: Impacts of Computing (IC)

Analyze the ramifications of computing on societies, economies, and cultures, and contemplate the legal and ethical responsibilities that programmers bear.

Culture:

Safety Law & Ethics:

Social Interactions:

Montana:


Units for CSA

Computational Thinking Practices:

Programming and Coding:

Data and Information:

Computer Systems and Networks:

Impacts of Computing:

https://www.edx.org/learn/java/purdue-university-ap-computer-science-a-java-programming archived by Phil Sands


Why Computer Science?

Studing of Computer Science is not mutually exclusive with studying other subjects.

Because virtually all professional now use computers, even within trades, skill with using computer hardware and software efficiently and securely enhances success in other disciplines.

These computational thinking practices are skills students should develop during the CSP course:

One school specified that for CSA, “Algebra 1 required. Algebra 2 and prior programming experience (i.e. Foundations of Programming) recommended.”

Students may have prior experience with Computer Science topics:

But the CSP exam doesn’t require much math and has one of the highest passing rates (68%) and is known to be one of the easiest exams. So it’s feasible to take CSP as a Sophomore.

This is why, within the highest-ranked high schools in the US, it’s not uncommon for ambitious Sophomores and even Freshmen (9th or 10th grade) to take a Computer Science course so they have more time to take AP exams in other topics in their Junior and Senior year-end. That enables students to fully participate in extracurricula activities for a well-rounded experience.

“Colleges are looking at the context of what’s available to that student and how they have challenged themselves accordingly,” –this article

Fees & Dates

The exam is proctored just once at the end of each academic year, in May or early June, depending on the school test site. Late tests take place during the third week of May.

Starting in February, students register for AP Exams through the school they attend. Each school’s AP coordinator collect from students in the US $98 USD per exam when they sign up. The College Board provides fee reductions (to $53) for eligible students with financial need. AP Seminar or AP Research exams are $146.

Schools have until November 15 to let College Board know which students are testing.

AP scores come out about two months after the exam, during the beginning of July.

The College Board’s phone is 212-632-1780 or 888-225-5427 (toll free in the United States and Canada).

As the name of the organization implies, the College Board has an academic rather than vocational focus.

However, the aim of this course is to enable students to be more job ready.

Montana

According to https://codehs.com/states/MT

“52 students in Montana took the Advanced Placement Computer Science exams in 2019 (16 AP CSA, 36 AP CSP); 38% of exams were taken by females.”

Students who are homeschooled or go to a school that doesn’t administer AP Exams can find a school on the College Board’s AP Course Ledger, which lists secondary schools that have passed the AP Course Audit.

montanadigitalacademy.org (MTDA) was created in 2009 by the Montana Legislature to provide an online program for Montana students in partnership with public schools across the state. It provides over 75 original credit courses, including AP and Dual Credit Initial Enrollment Deadline: 08/28/2024 that include:



According to College Board, Department of Education, Bureau of Labor Statistics:

Computer programmers and software developers in Montana have an average annual salary of $86,386, which is significantly higher than the average state salary at $43,860

Scores

One does not need to take a class before taking the exam. But almost all students do.

Results are reported on a scale from 1 to 5. Most colleges recognize a score of 3 as the basis for a student in lieu of taking the Fundamentals class. This enables the student to take more advanced classes earlier in college. AP exams can boost a student’s chances of being accepted at competitive colleges.

Historically, 12% of test takers received a mark of 5 on the CSP.

The mean score for all 2023 AP Exams was 2.96. More than 60% of all exams taken earned a score of 3 or higher. https://apstudents.collegeboard.org/about-ap-scores/score-distributions AP Score Distributions. AP Computer Science Principles, 63.1% received a score of 3 or higher.

Using College Board’s AP Credit Policy Search tool on May 1, 2024:

When applying for the more stringent colleges, applicants who don’t score high enough do not report the score in their application.

The exam will be 3 hours long and will test students on the full course content, including topics like primitive types, using objects, boolean expressions, and iteration.1


Recruitment materials

https://apcentral.collegeboard.org/courses/ap-computer-science-principles/recruitment-toolkit

Webinar: “Bring AP Computer Science Principles to Your School” by College Board directors

https://apcentral.collegeboard.org/courses/ap-computer-science-principles/bring-csp-to-your-school

Curriculum Audits

The College Board conducts an Audit of curriculum plans.

Timeline for CSP students

  1. Develop Digital Portfolio

  2. Create Digital Portfolio video

  3. Create Program code into your Digital Portfolio

    A list, A function, with a parameter. Within that function, a FOR statement that iterates through a LIST and through an If/Else statement.

    Mr. Rhodes’ Awesome list 2024 Create Task: Written Response Video: UPDATED 4-17-24

    “Final requirement for the Create Task is submitting 4 code segments. You will use these code segments to answer 4 written response questions the day of the exam. The first two code segments deal with your function. First, you need to paste your ENTIRE function. Second, you need to paste where the function is being called in your program. The final two code segments deal with your list. The first one is your list being created. Second is where that list is receiving or processing information. BIG NOTE HERE. These code segments cannot contain ANY comments!”

    The maximum grade for the AP Create Task is a 6.

  4. In a 9-hour closs, create in your Digital Portfolio your PPR (Personalized Project Reference)

    No comments are allowed in the code.

  5. On day of exam, answer 70 multi-choice questions in 2 hours for 70% of the grade. It has 6 rubric rows:

    • 57 single-select multiple-choise
    • 5 single-select with reading passage about a computer innovation
    • 8 multi-select multi-choice: select 2 answers

  6. On day of exam, after multiple choice questions, students have one hour to answer four questions about their PPR: VIDEO 1 & 2 https://www.youtube.com/watch?v=okShNDfIYj0 WR 1. Program Design, Function, and Purpose
    WR 2(a). Algorithm Development
    WR 2(b). Errors and Testing
    WR 2(c). Data and Procedural Abstraction


WR 1. Program Design, Function, and Purpose

Identify an expected user of the program and describes one way the program’s design meets the needs of that identified user.

This question is asking you to Identify a specific user of your app AND describing one way the program’s design meets their specific needs. DO NOT describe what the program does.

AP Example GOOD Answer: The user of my game would be children who are trying to learn their colors in another language. The program design is great for children because each color button is filled with the corresponding color for the word. This will make it easy for students who don’t know how to read to still use the app to hear the colors in languages.

WR 2(a). Algorithm Development

Identify the number of times the loop will execute. This can be constant or generalization of times AND Describe a condition that would cause an infinite loop in your code, if your code cannot, you have to explain how you would modify your code to become an infinite loop.

This question is asking you to determine the number of times the body of the iteration statement will execute.You must also identify a condition that could impede the termination of the iteration statement, potentially resulting in an infinite loop.

AP Example GOOD Answer: The loop iterates until time = 0; The variable time is being updated in another part of the program. An infinite loop would occur if in this loop time was increased by enough to offset the decrease that is happening in another part of the program or reset to a large enough value to offset the decrease that is happening. See example #1

WR 2(b). Errors and Testing

Describe a change to the procedure that will result in a run-time error AND explains why the change will result in a run- time error.

This question is asking you to describe a way to cause a runtime error in your code. If you cannot cause one, you need to describe a way your code can be modified to cause a runtime error. Runtime errors occur during program execution due to unexpected conditions, while compiler errors occur during the compilation phase due to syntax or reference issues in the code.

AP Example GOOD Answer: A runtime error would occur if instead of printing i, we printed i / (stop - i). Once i is equal to stop, a divide by 0 run-time error will occur. See example #3

WR 2(c). Data and Procedural Abstraction

To count the number of times a certain value appears in your list using the isEqual(value1, value2) procedure Steps written in pseudocode, not actual code. Must return a count.

This question is asking for a step-by-step explanation of the algorithm, detailing how to traverse through the list, compare each element with the target value using the isEqual procedure, and increment a count variable for each occurrence of the target value. The explanation should be thorough enough that someone else could understand it well enough to write the code based on your instructions. This includes describing the initialization of variables, the iteration process, the use of the isEqual procedure, the counting mechanism, and returning a count.

AP Example GOOD Answer: Set a counter variable count to 0. Iterate over the elements of the list named myList. For each element, call isEqual to compare the element from myList to the given value. If isEquals returns true add 1 to count. After iterating over every list value, print the value of count.

AP CSP Tutorials

Dr Codie drcodie.com https://www.Alps.Academy/apcspexam 30-day challenge

YouTube: Codology


Units for CSA

Computational Thinking Practices:

Programming and Coding:

Computer Systems and Networks:

Data and Information:

Impact of Computing:

https://www.edx.org/learn/java/purdue-university-ap-computer-science-a-java-programming archived by Phil Sands


Curriculum Materials

The College Board recognizes several organizations providing curriculum materials, LMS (Learning Management System), auto-graders, and teacher professional development.

https://www.csforall.org/projects_and_programs/curriculum_directory/ lists curriculum.

Stand-outs are:

Several AP instructors (and this instructor does) enrich the materials with real-world tools entry-level contributors need to master. All these are free unless noted otherwise:



The average number of school days in a school year in the United States is 180 days (within a range from 170 to 185 days). So there are roughly 36 weeks in a school year (180 days ÷ 5 days per week).

Professional certifications

Some entry-level professional certifications can be earned (for a fee) as early as high school, which provide students to be more competitive when applying for jobs.

Skill with PowerPoint to create presentations would be useful as a prerequisite coming into the AP class.

Leadership development

The class is structured so that one student can be the “product manager” responsible for each specific technology listed above.

This provides an opportunity for students to develop leadership and teaching skills.

There are many “Product Manager” jobs for those who have not mastered all the technologies, but just one or a few:

This builds a community for the program to become self-sustaining, to proactively take advantage of changes in technologies as they emerge.

2024 AP daily

Login to view Free Resources to Prepare for AP Exams which include AP Daily videos

MCQ by Sandy Czajka in Illinois PDF VIDEO listed in CSV used by youtube-download.py

PBS

On YouTube: PBS Crash Course Computer Science Preview from 2017 provides illustrations and examples from a child’s point of view.

Khan Academy (KA)

https://KhanAcademy.org provides in-depth gamified tutorials online, for free, on the full range of subjects that include many of the AP STEM subjects. Courses related to computer science:

  1. Digital information
    1. Bits and bytes: Digital information
    2. Binary numbers: Digital information
    3. Limitations of storing numbers: Digital information
    4. Storing text in binary: Digital information
    5. Converting analog data to binary: Digital information
    6. Lossless data compression: Digital information
    7. Lossy data compression: Digital information
    8. Digital copyright and licenses
  2. The Internet
    1. Introducing the Internet: The Internet
    2. Connecting networks: The Internet
    3. Addressing the Internet: The Internet
    4. Routing with redundancy: The Internet
    5. Transporting packets: The Internet
    6. Web protocols: The Internet
    7. Scalable systems: The Internet
    8. The Internet protocol suite: The Internet
    9. Open protocol development: The Internet
    10. The digital divide
  3. Programming
    1. What is programming?: Programming
    2. Variables: Programming
    3. Math: Programming
    4. Strings: Programming
    5. Conditionals: Programming
    6. Logical equivalence: Programming
    7. Procedures: Programming
    8. Repetition: Programming
    9. Lists
  4. Algorithms
    1. Building algorithms: Algorithms
    2. Evaluating algorithms: Algorithms
    3. Solving hard problems
  5. Data analysis
    1. Data tools: Data analysis
    2. Big data: Data analysis
    3. Bias in machine learning
  6. Simulations (addressed especially by CMU)
    1. Exploring simulations: Simulations
    2. Simulating randomness: Simulations
    3. Creating simulations
  7. Online data security
    1. Introduction to online data security: Online data security
    2. PII (Personally identifiable information): Online data security
    3. User data tracking: Online data security
    4. Cyber attacks: Online data security
    5. Data encryption techniques: Online data security
    6. Secure Internet protocols: Online data security
    7. User authentication methods
  8. Computing innovations:
    1. Communication innovations at light speed: email, SMS, Social media
      • POLL: How often do you forward/share/retweet items? Echo chamber.
    2. Collaboration innovations: Group chat, Videoconferencing, Collaborative software
    3. Crowdsourcing innovations: collective knowledge, crowdfunding, citizen science, open innovation
    4. Monitoring innovations: sensors; sensor networks; smart buildings, transport, grids
  9. Exam preparation
    1. Prepare for the AP Computer Science Principles exam: Exam preparation
    2. Learn AP CSP exam pseudocode: Exam preparation
    3. Practice passage-based questions

ProjectSTEM

The ProjectStem offering is developed by the University of Texas at Auston who are funded by Amazon’s Future Engineer (AFE) program also sponsored by Amazon, Booz Alan Hamilton, Crowdstrike.

NOTE: The University of Austin also sponsors the https://cias.utsa.edu/k-12/

Syllabus PDF converted to Word .docx format using Adobe online.

There is a video for each of __ modules, all presented by one person, a teacher who uses language appropriate at the high school level.

So we supplement the curriculum with videos presented by industry professionals expert celebrities in specific subjects.

https://www.awseducate.com/registration/s/learner-faqs?language=en_US#courses-labs

IBM Lightboards

IBMer Jeff Crume video playlist on cybersecurity

CS50 Harvard

CS50certificate-1056x816.png ROADMAP: YouTube 2024: CS50’s Introduction to Computer Science: An introduction to the intellectual enterprises of computer science and the art of programming. 12 weeks at 6–18 hours per week. By popular Dr. David Malan presents challenges.

Intro Syllabus: (the intro to each video is 40 seconds long)

Week 0 - Scratch (visual programming)
Week 1 - C
Week 2 - Arrays
Week 3 - Algorithms
Week 4 - Memory
Week 5 - Data Structures
Week 6 - Python
Week 6.5 - Artificial Intelligence (misinformation)
Week 7 - SQL
Week 8 - HTML, CSS, JavaScript
Week 9 - Flask
Week 10 - Cybersecurity

Dr. Malan brings concepts to life with memorable theatrical explanations, which he has students rank:

cs50-evals-2934x1172.png

The class is recommended by this and this.

Archived Apr 30, 2020 are 36 weeks XSeries Program in CS50’s AP® Computer Science Principles

There are now several CS50 courses:

Install apps to view the class on Apple TV and Google TV. Mobile apps on iPhones are not yet available.

VIDEO: CS50 and the AP CSP Curriculum Framework (from 2016)

  1. Install the library for Python (not in Conda):

    pip install cs50
    

    https://github.com/cs50/python-cs50

  2. Mount a directory within a container Docker on Ubuntu 22.04.
    pip install cli50
    
  3. Setup VSCode for CS50: https://cs50.readthedocs.io/cs50.dev/

  4. CS50 Problem Sets:
    pip install check50
    

    (Coding in C is out of scope for Joliet HS, so the style50 utility is not needed.)

    Problem Set 6 (in Python):

    • cash - make change
    • credit - credit card
    • dna - sequencing
    • hello - What is your name?
    • mario - prints a pyramid of hashes - more and less
    • readability - Uses Coleman-Liau index to calculate the difficulty of a body of text by assigning it a grade.

    Problem Set 7 SQL (in Python):

    Problem Set 8: Web - Web Tracks:

    Sample Final projects:

    • https://github.com/Federico-abss/Lispy Final projects in 2020 by Federico Mannuci
  5. To automatically grade code on correctness:

    https://cs50.readthedocs.io/projects/check50/en/latest/

    pip install check50

  6. To setup for submit: https://cs50.readthedocs.io/submit50/
    pip install submit50
    
  7. To submit: https://cs50.readthedocs.io/submit50/#submitting-with-submit50

    submit50 slug
    

CS50 CyberSecurity

Video on preserving privacy from CS50 CyberSecurity (1-2 hours each) https://www.youtube.com/watch?v=kmJlnUfMd7I&list=PLhQjrBD2T383Cqo5I1oRrbC1EKRAKGKUE&index=1

Vendor info

https://www.outsystems.com/education-program/

https://www.csunplugged.org/en/ Computer Science without a computer CS Unplugged is a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.

Scholarships

Scholarship For Service (SFS) (at https://sfs.opm.gov) scholarships for up to 3 years of support for cybersecurity undergraduate and graduate (MS or PhD) education, in order to meet the needs of the cybersecurity mission for Federal, State, local, and tribal governments. The scholarships are funded through grants awarded by the National Science Foundation. In return for their scholarships, recipients must agree to work after graduation for the U.S. Government, in a position related to cybersecurity, for a period equal to the length of the scholarship.

https://dsu.edu/index.html South Dakota


References

https://www.nytimes.com/2023/11/30/learning/what-students-are-saying-about-school-cellphone-bans.html

Palo Alto’s Cyber Security Curriculum

https://www.wgu.edu/lp/it/lead/cybersecurity-scholarships.html $5,000 ($1,250 per six-month term) Cybersecurity scholarship

https://sfs.opm.gov/ CyberCorps®: Scholarship for Service recruit and train the next generation of information technology professionals, industrial control system security professionals, and security managers to meet the needs of the cybersecurity mission for Federal, State, local, and tribal governments. This program provides scholarships for up to 3 years of support for cybersecurity undergraduate and graduate (MS or PhD) education. The scholarships are funded through grants awarded by the National Science Foundation. In return for their scholarships, recipients must agree to work after graduation for the U.S. Government, in a position related to cybersecurity, for a period equal to the length of the scholarship.

Bamboo 3D printer $599-$849 for 16-color (4 units) P1P ideal: PLA, PETG translucent, TPU, PVA, PET, P1S has enclosed cage to use ABS, ASA Capable: PA, PC https://www.reddit.com/r/BambuLab/comments/14q1srr/unpopular_opinion_bambu_lab_should_not_be_your/

Use Micro:bit for TOTP chip like a ___ device used for authentication. The BBC micro:bit is a programmable device that allows students to get hands-on with coding and digital making. It has a 5x5 pixel screen, acclerometer. It is use for introduction to Python. Use Chrome for online emulator https://python.microbit.org/v/3

https://www.infosecinstitute.com/courses/comptia_authorized_a_plus_boot_camp_training/ 5-day A+ Boot Camp

https://caecommunity.org/initiative/k12-ring https://maui.hawaii.edu/wp-content/uploads/2023/01/Hawaii-ACTE-RING-Cybersecurity-Curriculum.pdf Overview: RING (“Regions Investing in the Next Generation”) launched in 2022 for students without access to a cyber program: rural, home school, under-resourced Files: Cybersecurity Guidelines, each having KUs (Knowledge Units):

  1. Ethics
  2. Establishing Trust
  3. Ubiquitious Connectivity
  4. Data Security
  5. System Security
  6. Adversarial Thinking
  7. Risk
  8. Implications
    • Python programming unit

US AFA CyberPatriot

National Center of Academic Excellence (CAE) in Cyber-Defense Two-Year (CAE2&) sponsored by the NSA and DHS recognizes collegiate institutions which have met their standards of excellence in Cyber Defense education.

Practice different ciphers: https://tools.cyber.org/dashboard

https://feedbackfruits.com/ai-chatgpt-resources-hub

Alignment with state universities

This course Computer Science degrees:

Elite universities for computer science in the US:

REMEMBER:

https://grow.google/educators/ Google CS4HS program (http://cs4hs.com)

http://introcspogil.org http://cspogil.org/Python https://github.com/ChrisMayfield/cspogil/tree/master/CS0 CS101 uses Python (but not about Python) https://github.com/ChrisMayfield/cspogil/tree/master/CS1 about Java is among roughly 200 activities have been written for CS, including roughly 30 activities for AP CS Principles and 30 activities for CS 1. The CS-POGIL website (http://cspogil.org) lists many of POGIL activities, sorted by author, course, etc. only a few of these activities have been formally reviewed by The POGIL Project.

https://skillshop.exceedlms.com/student/path/1176018 Google’s Generative AI for Educators (using ExceedLMS)

GitHub

https://www.twitch.tv/githubeducation

IB Networking topics

https://www.youtube.com/watch?v=b5GZcldk_cY