
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:
-
Before touching a computer, learners earn a “drivers license” about safe computing (A)
-
Earn college credit while in high school by passing AP Computer Science Principles in April
-
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.
-
Create quiz questions and learn to take tests confidently.
-
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:
-
Define Threat model: what do you value?
This is Code.org’s APCSP Unit 2 “The Internet” expanded
Avoid over-sharing
- Use fake answers to security questions: relatives, address, birthday, socia; security number
- Compartmentalization: different pseudonym identities and a browser profile for each use (School, Browsing, Shopping, YouTube, Snapchat, Dating)
- Use alternative VoIP (Google Voice, hushed.com, MySudo.com, etc.)
- 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).
- Use Paypal or one-time credit card numbers (privacy.com).
- Use a spreadsheet to track where your give out your credit cards to.
-
Setup a credit freeze to block opening of new credit lines.
Evaluate and select editors:
- Community Edition vs. Enterprise Editor licenses
-
Evaluate and select a text editor/IDE: vim, VSCode, PyCharm
Bash automates Linux
- Use a Terminal program to run CLI commands and Bash scripts.
- Install Brew on macOS or Apt package managers to optionally install alternative Terminal and other utilities.
- Configure automatic updates on CLI packages.
-
Use ChatGPT GenAI LLM to suggest CLI commands by installing Python utility llm-cli-helper.
Use SSH with GitHub
- Obtain a github account using an email.
-
Create an SSH key pair to keep your repositories private.
On laptops, isolate each Python program:
- Understand the different (convoluated) ways to install Python (pyenv, Juypter, pip, Conda, Miniconda).
- Install virtualenv and Miniconda (which comes with its own Python interpreter).
- Add Python to the $PATH where the operating system looks for programs.
-
Clone a code repo from GitHub and navigate into the git-created folder.
- Make venv folder and activate.
- Generate a SBOM and examine imported modules dependencies with reported CVEs.
- Download dependencies pip install -r requirements.txt
-
Run program through a code linter utility.
- Copy code, prompt ChatGPT “what does this code do?” and paste code.
- Within Visual Studio Code, set break points and run the program one line at a time.
- Reformat code using formatting utility.
-
Prompt ChatGPT to “improve this code”.
Keep updated to the latest versions:
- Configure you OS to automatically update.
-
Make a checklist to run through all that you do to verify whether everything still works.
Don't reuse a password on several accounts: ITF 6.5
- Use haveibeenpwned.com to check if credentials and data behind an email has been stolen.
-
Install, configure, use local password manager KeepassXC to generate passwords.
Use really strong passwords:
- Prefer hardware devices (Yubikey, Nitrokey) over biometrics (finger, face recognition).
- PRE-READ: Generate pseudo-random numbers (coin, dice, 8-ball) JavaScript - Khan CSP 2.1
- Create secure password: using base-6 dice and lookup diceware list or base-20 numbers to a fandom list.
- Install, configure, use cloud-based Twilio’s Authy app for 2FA (Two-factor authentication) with TOTP (Temporary Token).
-
TRIVIA: Use scientific calculator to define entropy of password length, complexity, IPv4 & IPv6
Use encryption: ITF 6.6
- 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.
- Install and configure Akeyless web service to store secrets retrieved by programs.
- Install and configure privacy email client Startmail with aliases.
-
Install GPG to use receiver’s public gpg key to encrypt files locally for email so receiver can decrypt with private key.
Backup and recover data:
- Install, configure, schedule use of encrypted backups.
-
Verify restore from backups.
Clear out what you don't use:
- Shred deleted files. Burn papers.
-
Clean system and free disk space (using BleachBit).
Stop data theft:
- Request take-down from (long) list of data brokers ($20/yr deleteme).
- 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)
- Opt out of analytics and “customizations” on all devices, include TVs, Apple+, Roku.
-
Use private map apps (openstreetmap.org) instead of Google Maps.
Internationalization (i18n) & Localization:
- Maps: bookmarks: apple, google, Flightsim, world heritage sites
- Locales (languages), UTC Time zones https://wilsonmar.github.io/calendar
- Dateline & Daylight saving time (India, Russia, China)
- Identify Longitude and Latitude coordinates on the globe. Calculate your Lat/Long.
- EXERCISE: Analytics: Create miles & meters vs. latency scatterplot
- 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.
-
Countries: codes +1, world map, adversarial, freedoms
Configure settings for privacy and safety:
- Turn off Blutooth and other services when not in use.
- Configure privacy settings on iPhone Safari, Android Google Chrome. Clear Temp Data. Use startpage.com for private search.
- Install and configure Firefox browser or Brave browser.
-
Install VPN (mullvad, ProtonVPN) when using unlocked networks.
Keep a lookout:
- Identify logs and indicators of compromise (host files, auto-start processes).
-
Build an airgapped (stand-alone) Raspberry Pi to examine & scrub USB drives using CIRClean utility.
Block intruders:
- Evaluate risk of man-in-the-middle attacks using websites yopass.se or passlink.
- Use VirusTotal.com to check whether host name and IP address have been reported as malicious.
-
On your router, set custom password instead of default (to not participate in DDoS)
Practice critical thinking about content:
- Identify attempts to co-opt emotional reactions.
- Identify fear mongering for clicks.
- Identify the pattern of posts by posters.
-
Identify fake news misinformation by researching the legitimacy of sources (WSJ, GroundNews, FactCheck.org, Snopes.com, and PolitiFact.com).
-
Use Google Classroom.
Your face and body are a secret
- Recognize the impact misuse of reverse image search (clearview.ai).
- Set Instagram account to private so it does not use your photos for training their AI.
-
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:
- Modify Python Jupyter code within Google’s cloud CodeLab to create obfuscated privacy-maintaining portrait using Machine Learning style transfer.
- Handle secrets in Juypter sample
- Jupyter Graphing vs Cabana vs Superset
- Python numpy for calculations
- matplotlib and Seaborn modules for graphing
- Use ChatGPT in Codebin to evaluate CSS display to generate VIDEO tinyhost and webintoapp to Google Android store.
Obfuscate your likeness:
- Define a naming covention to save drives, folders, file.
- Use an AI-generated person’s portrait with your demographic when you can.
- Take photos in different levels of formality.
- Perturb photos of you using open-source fawkes to disrupt use by mass facial recognition.
- Post obfuscated photo on Gravatar.com image for other websites to associate with each of your emails.
- [Use AI to generate images, sound, video] (freemium)
- Use CLI utility magic-wormhold to send and receive files peer-to-peer.
-
PROJECT: Create offline web apps.
- Search through GitHub.com using several filters.
- Contribute to an open-source repository on GitHub by forking, git clone,
-
Format documentation in Markedown format
- Obtain free accounts to use clouds.
- Setup user account permissions to avoid using too-powerful root credentials.
- Install CLI programs to enable shell scripts to automate use of clouds.
-
Automate Google Calendar
-
Try EarSketch to program music.
- Use CLI commands to create a USB drive from a downloaded ISO image to boot up a machine.
- Use CLI commands to run bash scripts.
- Use CLI utility magic-wormhold to send and receive files peer-to-peer
-
Enable users to login more securely using SSH certificates rather than passwords.
- Install PrivateBin server for encryption before sending to zero-knowledge server.
- Encrypt secret text and send to another for decryption (end-to-end encryption) using zeor-knowledge
- 5) College Board AP Computer Science Principles (March)
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
- Create accounts on several cloud services (GitHub, Cloudinary, AWS, Azure, Google).
- Create a static github.io website using Jekyll using Ruby or 11ty using Node.
-
Register a domain name.
- 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:
- 10-13% Big Idea 1: Creative Development [BI-CD] (collaboration, software development process)
- 17-22% Big Idea 2: Data & Analysis [BI-Data] (binary, compression, spreadsheets, etc.)
- 30-35% Big Idea 3: Algorithms and Programming [BI-Algo] (procedural programming, binary search)
- 11-15% Big Idea 4: Computer Systems and Networks [BI-CSN] (systems, networking)
- 21-26% Big Idea 5: Impact of Computing [BI-Impact] (digital divide, bias, crowdsourcing, copyright, information security)
Computational Thinking practices PDF:
- Practice 1 - Computational Solution Design: Design and evaluate computational solutions for a purpose.
- Practice 2 - Algorithms and Program Development: Develop and implement algorithms.
- Practice 3 - Abstraction in Program Development: Develop programs that incorporate abstractions.
- Practice 4 - Code Analysis: Evaluate and test algorithms and programs.
- Practice 5 - Computing Innovations: Investigate computing innovations.
- Practice 6 - Responsible Computing: Contribute to an inclusive, safe, collaborative, and ethical computing culture.
Simulations: Physics simulation kit provides:
- Standing Waves (standing.html)
- Interference Patterns (interference.html)
- Hooke’s Law (hookes_law.html)
- Doppler Effect (doppler.html)
- Strings (strings.html)
- Psychedelic Doppler Effect (psychedelic.html)
AP CSP Resources
Dale, N., and J. Lewis. Computer Science Illuminated. Boston: Jones and Bartlett Publishers.
A. Practice safe & efficient computing practices [Systems] [Impact]
-
How we learn
Predict, Prepare, Adapt to Trends
- 15-year Generations: Boomer: TV, X: TV, Millenials: PCs, Z: Internet, Alpha: smartphones & AI
- Industrial ages: 1st: farming, 2nd: railroads & factories, 3rd: computers & internet, 4th: AI & robots
- 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
- POLLS: Risk management: priorities, tolerance - CC 1.2.1
-
Jobs & salaries
Value of data and information - ITF 1.4
- 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
-
Provide appropriate attribution - CSP1 (VIDEO: Creative Commons)
-
Ransomware (Advanced Persistent Threats by state actors)
- Incident Response - CC 2.3
- EXERCISE lost phone: Find My; Who to call: Phone #s, acct #. Stop loss.
- Opertions/Business continuity - ITF 6.7 & CC 2.1
- Use old phone? Nearest phone stores (SIMless)
Enabling Easy/Quick Recovery:
- Backup to restore (3-2-1 rule)
- Disaster Recovery - CC 2.1
- EXERCISE: Steps to setup new smartphone (apps, settings)
- 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.
- 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?
- Rules to secure communication with children: protect identity, parental consent
-
Privacy policy - CC 5.3
Prevention Controls
- Governance: Policies, Procedures, Standards, Regulations and laws - CC 1.5
- Professional code of conduct from ISC2 - CC 1.4
-
Reputation: Revilers not welcome
- Physical security controls (e.g., badge systems, gate entry, environmental design) - CC 1.3.3
-
Physical Monitoring (e.g., security guards, closed-circuit television (CCTV), alarm systems, cameras, logs) - CC 1.3.3
- Authorized versus unauthorized personnel - CC 1.3.3
- Confidentiality, Integrity, availability (CIA) concerns - ITF 6.1 & CC 1.1
- Federated authentication: Apple, Microsoft, Google, Facebook, Twitter, Clever
- Principle of least privilege - CC 3.2.1
- Segregation of duties - CC 3.2.2
- Discretionary access control (DAC) - CC 3.2.3
- Mandatory access control (MAC) - CC 3.2.4
- 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."
-
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
-
Data handling policies - CC 5.3 proper destruction, retention, classification - CC 5.1
- Acceptable Use Policy (AUP) - CC 5.3
- Bring your own device (BYOD) policy - CC 5.3
-
Change management policy (e.g., documentation, approval, rollback) - CC 5.3
- Technical controls - CC 1.3.2
-
Administrative controls - CC 1.3.1
- Digital Divide: PC x86 laptops vs macOS RaspberryPi ARM vs Chromebooks (Linux on Chromebook) - KA
- Secure config FaceTime & iMessage on iPhones
Troubleshooting
- Troubleshooting methodology [sequencing, random tries] - ITF 1.6.1
- Input/Output GUI devices - ITF 2.1
- Linked devices: Networking tech: 2G, 3G, 4G, LTE, 5G, 6G, Starlink, etc.
- Networking: airgap, wifi, internet, cellular, radios - ITF 2.3
-
Units of measure for storage, throughput, processing - ITF 1.5
- Secure networking: Mobile hotspots & VPNs & Mullvad DNS over HTTPS,
- HANDS-ON: Use VirusTotal.com to check issues whether host name and IP address is malicious.
- HANDS-ON: Request take-down from data brokers.
-
Remove apps and delete accounts you don’t use anymore (justdeleteme.xyz)
- Logging tracking
- Indicators of Compromise
- Forensics to obtain evidence without tampering - FTK
- SleuthKit.org command-line tools
- AccessData
- Autopsy.com software (for Windows FTK from Basis Technologies)
-
Setup Microsoft Passkey Authenticator
- Use cases and projects VIDEO
-
[Use Gen AI to generate code
Web Browsers
- Web Browsers: default Microsoft Edge, Google Chrome, Firefox/Arkenfox, Opera, Brave, Tor/Mullvad https://privacytests.org
- Web Browsers: profiles, cache, search engine, bookmarks, downloading - ITF 3.5
- Web browsers: HTTPS TLS 1.3 vs HTTP certs - ITF 3.5
-
Web browsers: cache, extensions, private, popups - ITF 3.5
- Fake URLs with unicode chars to click on malicious download sites
-
Host name to IP address: DNS 9.9.9.9 - ITF 2.7
- Content: “Clickbait” Manipulation to share: emotions (shame, fear, mad, sad, scared, outrage)
-
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.
- Phising of email, phone. Block, Delete, Report. DoNoCall lists.
-
Contacts: Fields (email, phone, websites), tags, invite, sort
- PII spoofing and 2FA, Passkeys, logout, restart
- Temp/alt info: Address, Phone, email, credit card, social security
- HANDS-ON: Create carricatures using AI
-
HANDS-ON: Cloudinary.com to hold image files
-
Don’t Panic: Incident Management - CC 2.3
- HANDS-ON: Select browser add-ons
-
HANDS-ON: Create browser add-on using JavaScript
- Network threats (e.g., distributed denial-of-service (DDoS), virus, worm, Trojan, man-in-the-middle (MITM), side-channel) - CC 4.2
- Identification (e.g., intrusion detection system (IDS), host-based intrusion detection system (HIDS), network intrusion detection system (NIDS)) - CC 4.2
-
Prevention (e.g., antivirus, scans, firewalls, intrusion prevention system (IPS)) - CC 4.2
Passwords
- 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
- Hash collisions MD5 & SSH
- Methods to secure devices - ITF 6.2
- Behavoioral security concepts - ITF 6.3
-
Authentication, authorization, accounting - ITF 6.4 & CC 1.1
- HANDS-ON: Calculate How much time it takes to crack a password at cyber.org
- 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
-
HANDS-ON: Password reset via email.
- AKeyless cloud service: variables, hierarchy
- Authy app: backup keys
-
SSH for GitHub
- Hardware: components, powers of 2, Volts = Amperge x Resistance Ohms
- Keyboards Carpel-Tunnel prevention,
-
Operating systems: Families, Bootup, sleep, periodic shut down, auto Updates
Terminal CLI
- Local vs cloud tiers ITF 3.4
- Terminal: root, CLI commands, folders, files, parameters
- Keyboard aliases
-
chmod permissions for Users and Groups
-
Package managers: apps vs command packages, downloading
- Protocols: [Wireshark utility] HTTP, HTTPS with SSL certs, CAs,
-
Man-in-the-middle attacks security
VIDEO: Brave New Words by Salman Khan
B. Securely handle secrets
-
[Generate strongest passphrase using Dice and word lists]
- Ask questions of [Use Perplexity.ai] {3B-AP-08}
- [Connect a weather station to the internet] on openweather.com {3B-DA-06} {3B-DA-07} - measure validity of predictions based on barometric pressure
- Surveys, bias
-
Correlation is not Causation
- Intelligent Agents - being outsmarted by superintelligence
-
When AI runs out of human-generated data to consume
LAB: Fun with Linux:
-
Operating systems types - ITF 3.1
-
CLI: Pipe (cowsay -f tux I am Tux!), (fortune |
cowsay -f tux ), (fortune |
lolcat ) |
- CLI: Kill command after installing & using oneko, cmatrix ($ to change color)
- CLI: Background process (aafire &)
- CLI: rig addresses from files
- CLI: wget asciiquarium, (tar -zxf .asciiquarium.tar.gz)
- CLI: cd, ls, permission denied, chmod +x asciiquarium)
-
CLI: install Term::Animation
- File systems directories
- CLI: Make, delete folders & files, symlinks
- CLI: locate, find, grep, which
- CLI: grep
-
CLI: jq for json and xml
-
AI Search: Inappropriate/Toxic Topics: Search in ChatGPT & Perpexity.ai
- Data Storage: NAS, Durability “bit rot”, RAID-5 - ITF 2.5
- Disk encryption
-
USB chips
-
[Backup and restore] as incident response workflow
- Detect evidence of intrusion, log archival
-
network segmentation mTLS for zero trust
-
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
- Attribution (giving credit): [Wikipedia] Creative Commons
- Bias, Incomplete & Invalid data
- Objectives vs. Tasks vs. Activities: Eisenhower
- Calendars
- [Calculate sunrise & sunset of sun] SunCalc.org for solar panels Sun Surveyor and Sun Seeker {3B-DA-05}
- Messaging Apps: Facebook, Slack, Discord, Telegram, LinkedIn Messages, Twitter/X, Mastodon
-
Impersonations, change handles.
-
Kanban board and flow in Trello & prokanban.org (https://kanbanguides.org/english/)
-
CERTIFICATION: $200 ProKanban.org Kanban open assessment
-
[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
- Introduction to Git (31 min) - Install & Config Git utilities
- Introduction to GitHub (1 hr 32 min) - [Identify Awesome repos]
- Introduction to GitHub’s products (23 min)
-
[Create Public/Private Key SSH certificates]
- Introduction to GitHub Copilot (17 min)
- Code with GitHub Codespaces (27 min)
-
Manage your work with GitHub Projects (36 min) - [manage files and folders]
- Maintain a secure repository by using GitHub best practices (35 min)
-
Find commiter email addresses and evaulate their LinkedIn
- [Edit text using keyboard shortcuts] in Vim and VSCode - freeware vs licensed
- HANDS-ON: Configure git to sign commits using SSH stored in KeepassXC
- Manage repository changes by using pull requests on GitHub (49 min)
- Search and organize repository history by using GitHub (38 min)
-
Using GitHub Copilot with Python for students (22 min)
-
HANDS-ON: Visualize git commits by installing .NET to run a C# app
- Communicate effectively on GitHub [using Markdown (1 hr 6 min)
- HANDS-ON: Create a static github.io website using Jekyll using Ruby or 11ty using Node
-
HANDS-ON: Register a domain name
- Initialize a new repo
- [Populate a .gitignore based on technologies used]
- PPAs (Personal Package Archives) in Debian/Ubuntu Canonical
- Contribute to an open-source project on GitHub (27 min)
- Manage an InnerSource program by using GitHub (50 min)
-
[Resolve/prevent merge conflicts in same file & lines]
-
Benefits of the GitHub Community
-
[Use AI: “Explain this code”] https://codehs.com/ai
- Introduction to GitHub administration (27 min)
-
Authenticate and authorize user identities on GitHub (33 min) - add a contributor
- Project Management
-
Privacy, Security, and Administration
-
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
- Attribution like papers on https://arxiv.org/
- Image video & Compression (lossless & lossy): gif, png, jpeg, mp3, mp4
- Image: Adobe
- Audio: Elevenlabs
-
Video: OpenAI Sora
- Programming languages: TIOBE Programming Language Index based on search engine
-
[Install compilers for Java, C, C++, C#, Go, SQL & Ruby, PHP, Python, PowerShell]
- Career Job Titles - paths to trades and professions CyberSecurity career picker
- Intro
- School Help desk - service award
- Club officer
- Project for honors
- TA
- Company internship
- Apply for colleges, trades & scholarships
- “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
- [LinkedIn profile] to display achievements and recommendations
- Projects: (Make the complex simply complicated)
- https://www.linkedin.com/in/madisonhinman/details/projects/
-
Examplars and Checklist of best profiles
-
Diagrams, flowcharts in PowerPoint = LibreOffice = Google Draw, Miro
- [“Someone behind you” OpenCV image recognition] (VIDEO
-
[custom bit.ly URL shortener]
-
Website SSL (https://www.youtube.com/channel/UCTLmcK9w1bZOpQbRCEg6vEw/videos)
VIDEO
-
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.
-
[Create QR code using website & Python]
- Software installation, Licensing ITF 3.6a
- Python versioning install options: pyenv setup
- import libraries: pip vs virtualenv vs. venv vs. Conda VIDEO
- Packages to avoid: six, pandas (doesn’t scale)
- Packages: pydantic for variables
-
GUI programming using Qt library (Sample for scheduling)
- Get a package into PyPi registry
- Transitive Dependency Security: SBOM
-
Lookup CVEs for apps you use
Python testing:
- Structure Python code to use Pytest
- printf-string tricks
- Debug Python using github.com/gruns/icecream
-
Tools to calculate test coverage
- TEAM Code review
- Automatic code reformatting (using Black)
- PEP8
-
OWASP: Known-bad sample code
-
PROJECT: Screen Scraper in Python using Playright, Selenium, Beautiful soup, etc.
-
Programming language categories ITF 4.1, KA 3: Programming
Core Pythong coding:
- Data types (boolean, char, string, integers, float) - ITF 1.2
- Data Types, Evaluations, and Basic I/O Operations (20% - 6 exam items)
- Flow Control – loops and conditional blocks (20% - 6 exam items)
-
Data Collections – Lists, Tuples, and Dictionaries (23% - 7 exam items)
- Functions (20% - 6 exam items) Functions
-
Identifiers, Containers, Objects ITF 4.3
-
CERTIFICATION: $59 PCAP-31-02 “Certified Entry-Level Python Programmer Certification”
Object-Oriented Programming
- The Tic-Tac-Toe two-player game played on a nine-square grid. one of the concepts. Sample code.
-
Expand program scope to add Spock and Lizard.
Next-level Python programming
-
Efficiency of Methods: Khan: Big-O Notation: Asymptotic calculations]
Leetcode.com (scam) challenges: optimizations and tricks:
- Arrays (data structures) and matrices using numpy functions for linear algebra, fourier transform, and other scientific uses
- 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.
- Search: Breath-first
- Two pointers
- Sliding Window
- Binary Search
- Sorting: Quick Sort, Insertion Sort, Merge Sort
- Linked List
- Trees
-
KA Simulations
-
PROJECT: Create a mobile app using a “low-code” development platform (Outsystems) calling several GenAI APIs.
-
KA 5
-
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.
- Internet service types: ITF 2.4
- From traditional on-prem. to clouds
- Computer Clouds: Azure, AWS, GCP, Oracle, Hitzner, etc.
-
Downsides of cloud
- NodeJs vs Python vs Rust vs Java vs Go [TIOBE rankings]
- Khan: Algorithms:
- “AI/ML for Oceans” https://code.org/oceans
- ChatGPT
- Amazon AWS and Microsoft Azure cloud service to access workstations and data (freemium)
- REST API programming (Postman and other tools)
-
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
- Draw a flow chart about branching - ITF 4.2
- GUI Design: DEMO: Figma/Tailwind
-
GUI coding in Python using Tcl
- [Modify a e-commerce shop template] (Gumroad, Shopify, etc.)
- “full speed into a brick wall”
- Odoo app templates
-
Outsystems app creator
-
Workflow CI/CD automation (GitHub Actions, Jenkins/Cloudbees cloud)
-
[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
- Home Lab components (CPU, Memory, etc.) - ITF 2.3
- 8-bit to 16, 32, 64, 128 - ITF 2.3
- File Systems: format USB chips and drives
- [Install a USB chip to setup a Zima board from scratch]
- Configuration files: between json & yaml & xml & toml
- dotfiles from others
-
Logs: [convert epoch date]
- Open Media Vault
- Internet of Things (IoT) to quantify and control physical objects (Foot pedals)
-
Send analog talk between from a radio between repeaters connected to the internet
-
IoT devices - ITF 2.6
- Install & configure wireless network ITF 2.8
-
[Use Wireshark to analyze wire-level packets]
- system hardening - CC 5.2.1
-
Configuration management (e.g., baselines, updates, patches) - CC 5.2.2
- Server Backup & Restore
-
Server Incident Management
- CERTIFICATION: $84 CompTIA Tech+ (formerly IT Foundations+) (https://www.comptia.org/certifications/a)
- 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.
- CERTIFICATION: Linux LPIC-1 101 $200
CompTIA Tech+ certification
PDF:
- Explain the basics of computing - Tech+ 1.1
- Identify national systems - Tech+ 1.2
- Compare and contrast common units of measure - Tech+ 1.3
- Explain the troubleshooting methodology - Tech+ 1.4
- Explain common computing devices and their purposes - Tech+ 2.1
- Explain the purpose of common internal computing components - Tech+ 2.2
- Compare and contrast storage types - Tech+ 2.3
- Given a scenario, install and configure common peripheral devices - Tech+ 2.4
- Compare and contrast common types of input/output device interfaces - Tech+ 2.5
- Compare and contrast virtualization and cloud technologies - Tech+ 2.6
- Compare and contrast common internet service types - Tech+ 2.7
- Identify basic networking concepts - Tech+ 2.8
- Explain the basic capabilities of a small wireless network - Tech+ 2.9
- Identify components of an OS - Tech+ 3.1
- Explain the purpose of operating systems - Tech+ 3.2
- Explain the purpose and proper use of software - Tech+ 3.3
- Given a scenario, configure and use web browser features - Tech+ 3.4
- Identify common uses of artificial intelligence (AI) - Tech+ 3.5
- Compare and contrast programming language categories - Tech+ 4.1
- Identify fundamental data types and their characteristics - Tech+ 4.2
- Explain the purpose and use of programming concepts - Tech+ 4.3
- Identify programming organizational techniques and logic concepts - Tech+ 4.4
- Explain the value of data and information - Tech+ 5.1
- Explain database concepts and the purpose of a database - Tech+ 5.2
- Compare and contrast various database structures - Tech+ 5.3
- Explain basic data backup concepts - Tech+ 5.4
- Explain fundamental security concepts and frameworks - Tech+ 6.1
- Explain methods to secure devices and security best practices - Tech+ 6.2
- Explain password best practices - Tech+ 6.3
- Identify common use cases for encryption - Tech+ 6.4
- Given a scenario, configure security settings for a small wireless network - Tech+ 6.5
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:
-
Take classes on-line at community colleges which accept high school students.
-
Attend a nearby community college on-site within “duel enrollment” programs so credits earned apply to both high school and university graduation requirements.
- 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.
- 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:
- Primitive (Data) Types
- Using Objects (Methods and Control Structures)
- Boolean Expressions and if Statements
- Iteration
- Classes
- Array
- ArrayList
- 2D Array
- Inheritance
- 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:
- 00+ Collect and present the same data in various visual formats. 1A-DA-06
- 03+ Organize and present collected data visually to highlight relationships and support a claim. 1B-DA-06
- 06+ Collect data using computational tools and transform the data to make it more useful and reliable. 2-DA-08
- 09+ Create interactive data visualizations using software tools to help others better understand real-world phenomena. 3A-DA-11
- 11+ Select data collection tools and techniques to generate data sets that support a claim or communicate information. 3B-DA-06
- 11+ Use data analysis tools and techniques to identify patterns in data representing complex systems. 3B-DA-05
Inference & Models:
- 00+ Identify and describe patterns in data visualizations, such as charts or graphs, to make predictions. 1A-DA-07
- 03+ Use data to highlight or propose cause-and-effect relationships, predict outcomes, or communicate an idea. 1B-DA-07
- 06+ Refine computational models based on the data they have generated. 2-DA-09
- 09+ Create computational models that represent the relationships among different elements of data collected from a phenomenon or process. 3A-DA-12
- 11+ Evaluate the ability of models and simulations to test and support the refinement of hypotheses. 3B-DA-07
Storage:
- 00+ Store, copy, search, retrieve, modify, and delete information using a computing device and define the information stored as data. 1A-DA-05
- 06+ Represent data using multiple encoding schemes. 2-DA-07
- 09+ Evaluate the tradeoffs in how data elements are organized and where data is stored. 3A-DA-10
- 09+ Translate between different bit representations of real-world phenomena, such as characters, numbers, and images. 3A-DA-09
Montana:
- 3B-DA-05 Use data analysis tools and techniques to identify patterns in data representing complex systems. For example, identify trends in a dataset representing social media interactions, movie reviews, or shopping patterns.
- 3B-DA-06 Select data collection tools and techniques to generate data sets that support a claim or communicate information.
- 3B-DA-07 Evaluate the ability of models and simulations to test and support the refinement of hypotheses.
Big Idea 3: Algorithms and Programming
Gain proficiency in utilizing algorithms and abstractions to create programs that solve problems or express your creativity.
Algorithms:
- 00+ Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks. 1A-AP-08
- 03+ Compare and refine multiple algorithms for the same task and determine which is the most appropriate. 1B-AP-08
- 06+ Use flowcharts and/or pseudocode to address complex problems as algorithms. 2-AP-10
- 09+ Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests. 3A-AP-13
- 11+ Describe how artificial intelligence drives many software and physical systems. 3B-AP-08
- 11+ Evaluate algorithms in terms of their efficiency, correctness, and clarity. 3B-AP-11
- 11+ Implement an artificial intelligence algorithm to play a game against a human opponent or solve a problem. 3B-AP-09
- 11+ Use and adapt classic algorithms to solve computational problems. 3B-AP-10
Control:
- 00+ Develop programs with sequences and simple loops, to express ideas or address a problem. 1A-AP-10
- 03+ Create programs that include sequences, events, loops, and conditionals. 1B-AP-10
- 06+ Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. 2-AP-12
- 09+ Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions. 3A-AP-16
- 09+ Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made. 3A-AP-15
- 11+ Illustrate the flow of execution of a recursive algorithm. 3B-AP-13
Modularity:
- 00+ Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions. 1A-AP-11
- 03+ Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. 1B-AP-11
- 03+ Modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features. 1B-AP-12
- 06+ Create procedures with parameters to organize code and make it easier to reuse. 2-AP-14
- 06+ Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. 2-AP-13
- 09+ Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs. 3A-AP-18
- 09+ Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects. 3A-AP-17
- 09+ Systematically design and develop programs for broad audiences by incorporating feedback from users. 3A-AP-19
- 11+ Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution. 3B-AP-15
- 11+ Construct solutions to problems using student-created components, such as procedures, modules and/or objects. 3B-AP-14
- 11+ Demonstrate code reuse by creating programming solutions using libraries and APIs. 3B-AP-16
Program Development:
- 00+ Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops. 1A-AP-14
- 00+ Develop plans that describe a program’s sequence of events, goals, and expected outcomes. 1A-AP-12
- 00+ Give attribution when using the ideas and creations of others while developing programs. 1A-AP-13
- 00+ Using correct terminology, describe steps taken and choices made during the iterative process of program development. 1A-AP-15
- 03+ Describe choices made during program development using code comments, presentations, and demonstrations. 1B-AP-17
- 03+ Observe intellectual property rights and give appropriate attribution when creating or remixing programs. 1B-AP-14
- 03+ Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development. 1B-AP-16
- 03+ Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. 1B-AP-15
- 03+ Use an iterative process to plan the development of a program by including others’ perspectives and considering user preferences. 1B-AP-13
- 06+ Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts. 2-AP-18
- 06+ Document programs in order to make them easier to follow, test, and debug. 2-AP-19
- 06+ Incorporate existing code, media, and libraries into original programs, and give attribution. 2-AP-16
- 06+ Seek and incorporate feedback from team members and users to refine a solution that meets user needs. 2-AP-15
- 06+ Systematically test and refine programs using a range of test cases. 2-AP-17
- 09+ Design and develop computational artifacts working in team roles using collaborative tools. 3A-AP-22
- 09+ Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs. 3A-AP-23
- 09+ Evaluate and refine computational artifacts to make them more usable and accessible. 3A-AP-21
- 09+ Evaluate licenses that limit or restrict use of computational artifacts when using resources such as libraries. 3A-AP-20
- 11+ Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems. 3B-AP-24
- 11+ Develop and use a series of test cases to verify that a program performs according to its design specifications. 3B-AP-21
- 11+ Develop programs for multiple computing platforms. 3B-AP-19
- 11+ Evaluate key qualities of a program through a process such as a code review. 3B-AP-23
- 11+ Explain security issues that might lead to compromised computer programs. 3B-AP-18
- 11+ Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). 3B-AP-22
- 11+ Plan and develop programs for broad audiences using a software life cycle process. 3B-AP-17
- 11+ Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project. 3B-AP-20
Variables:
- 00+ Model the way programs store and manipulate data by using numbers or other symbols to represent information. 1A-AP-09
- 03+ Create programs that use variables to store and modify data. 1B-AP-09
- 06+ Create clearly named variables that represent different data types and perform operations on their values. 2-AP-11
- 09+ Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables. 3A-AP-14
- 11+ Compare and contrast fundamental data structures and their uses. ç
Montana:
- 3B-AP-08 Describe how artificial intelligence drives many software and physical systems. Examples include digital ad delivery, self-driving cars, and credit card fraud detection.
- 3B-AP-09 Implement an artificial intelligence algorithm to play a game against a human opponent or solve a problem. Games do not have to be complex. Simple guessing games, Tic-Tac-Toe, or simple robot commands will be sufficient.
- 3B-AP-10 Use and adapt classic algorithms to solve computational problems. Examples could include sorting and searching.
- 3B-AP-11 Evaluate algorithms in terms of their efficiency, correctness, and clarity. Examples could include sorting and searching.
- 3B-AP-12 Compare and contrast fundamental data structures and their uses. Examples could include strings, lists, arrays, stacks, and queues.
- 3B-AP-13 Illustrate the flow of execution of a recursive algorithm.
- 3B-AP-14 Construct solutions to problems using student-created components, such as procedures, modules and/or objects. Object-oriented programming is optional at this level. Problems can be assigned or student-selected.
- 3B-AP-15 Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution. As students encounter complex, real-world problems that span multiple disciplines or social systems, they should decompose complex problems into manageable subproblems that could potentially be solved with programs or procedures that already exist. For example, students could create an app to solve a community problem by connecting to an online database through an application programming interface (API).
- 3B-AP-16 Demonstrate code reuse by creating programming solutions using libraries and APIs. Libraries and APIs can be student-created or common graphics libraries or maps APIs, for example.
- 3B-AP-17 Plan and develop programs for broad audiences using a software life cycle process. Processes could include agile, spiral, or waterfall.
- 3B-AP-18 Explain security issues that might lead to compromised computer programs. For example, common issues include lack of bounds checking, poor input validation, and circular references.
- 3B-AP-19 Develop programs for multiple computing platforms. Example platforms could include: computer desktop, web, or mobile.
- 3B-AP-20 Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project. Group software projects can be assigned or student-selected.
- 3B-AP-21 Develop and use a series of test cases to verify that a program performs according to its design specifications. At this level, students are expected to select their own test cases.
- 3B-AP-22 Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality). For instance, changes made to a method or function signature could break invocations of that method elsewhere in a system.
- 3B-AP-23 Evaluate key qualities of a program through a process such as a code review. Examples of qualities could include correctness, usability, readability, efficiency, portability and scalability.
- 3B-AP-24 Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems. Examples of features include blocks versus text, indentation versus curly braces, and high-level versus low-level.
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:
- 00+ Select and operate appropriate software to perform a variety of tasks, and recognize that users have different needs and preferences for the technology they use. 1A-CS-01
- 03+ Describe how internal and external parts of computing devices function to form a system. 1B-CS-01
- 06+ Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices. 2-CS-01
- 09+ Explain how abstractions hide the underlying implementation details of Computing Systems embedded in everyday objects. 3A-CS-01
Hardware & Software:
- 00+ Use appropriate terminology in identifying and describing the function of common physical components of Computing Systems (hardware). 1A-CS-02
- 03+ Model how computer hardware and software work together as a system to accomplish tasks. 1B-CS-02
- 06+ Design projects that combine hardware and software components to collect and exchange data. 2-CS-02
- 09+ Compare levels of abstraction and interactions between application software, system software, and hardware layers. 3A-CS-02
- 11+ Categorize the roles of operating system software. 3B-CS-01
Troubleshooting:
- 00+ Describe basic hardware and software problems using accurate terminology. 1A-CS-03
- 03+ Determine potential solutions to solve simple hardware and software problems using common Troubleshooting strategies. 1B-CS-03
- 06+ Systematically identify and fix problems with computing devices and their components. 2-CS-03
- 09+ Develop guidelines that convey systematic Troubleshooting strategies that others can use to identify and fix errors. 3A-CS-03
- 11+ Illustrate ways Computing Systems implement logic, input, and output through hardware components. 3B-CS-02
Cybersecurity:
Network Communication & Organization:
- 3B-CS-01 Categorize the roles of operating system software. Examples of roles could include memory management, data storage/retrieval, processes management, and access control.
- 3B-CS-02 Illustrate ways computing systems implement logic, input, and output through hardware components. Examples of components could include logic gates and IO pins.
- 3B-NI-03 Describe the issues that impact network functionality (e.g., bandwidth, load, delay, topology). Recommend use of free online network simulators to explore how these issues impact network functionality.
- 3B-NI-04 Compare ways software developers protect devices and information from unauthorized access. Examples of security concerns to consider: encryption and authentication strategies, secure coding, and safeguarding keys.
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:
- 00+ Compare how people live and work before and after the implementation or adoption of new computing technology. 1A-IC-16
- 03+ Brainstorm ways to improve the accessibility and usability of technology products for the diverse needs and wants of users. 1B-IC-19
- 03+ Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices. 1B-IC-18
- 06+ Compare tradeoffs associated with computing technologies that affect people’s everyday activities and career options. 2-IC-20
- 06+ Discuss issues of bias and accessibility in the design of existing technologies. 2-IC-21
- 09+ Demonstrate ways a given algorithm applies to problems across disciplines. 3A-IC-26
- 09+ Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices. 3A-IC-24
- 09+ Test and refine computational artifacts to reduce bias and equity deficits. 3A-IC-25
- 11+ Evaluate computational artifacts to maximize their beneficial effects and minimize harmful effects on society. 3B-IC-25
- 11+ Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society. 3B-IC-26
- 11+ Predict how computational innovations that have revolutionized aspects of our culture might evolve. 3B-IC-27
Safety Law & Ethics:
- 00+ Keep login information private, and log off of devices appropriately. 1A-IC-18
- 03+ Use public domain or creative commons media, and refrain from copying or using material created by others without permission. 1B-IC-21
- 06+ Describe tradeoffs between allowing information to be public and keeping information private and secure. 2-IC-23
- 09+ Evaluate the social and economic implications of privacy in the context of safety, law, or ethics. 3A-IC-30
- 09+ Explain the beneficial and harmful effects that intellectual property laws can have on innovation. 3A-IC-28
- 09+ Explain the privacy concerns related to the collection and generation of data through automated processes that may not be evident to users. 3A-IC-29
- 11+ Debate laws and regulations that impact the development and use of software. 3B-IC-28
Social Interactions:
- 00+ Work respectfully and responsibly with others online. 1A-IC-17
- 03+ Seek diverse perspectives for the purpose of improving computational artifacts. 1B-IC-20
- 06+ Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact. 2-IC-22
- 09+ Use tools and methods for collaboration on a project to increase connectivity of people in different cultures and career fields. 3A-IC-27
Montana:
- 3B-IC-25 Evaluate computational artifacts to maximize their beneficial effects and minimize harmful effects on society.
- 3B-IC-26 Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
- 3B-IC-27 Predict how computational innovations that have revolutionized aspects of our culture might evolve. Areas to consider might include education, healthcare, art/entertainment, and energy.
- 3B-IC-28 Debate laws and regulations that impact the development and use of software.
Units for CSA
Computational Thinking Practices:
- Breaking down problems into smaller parts
- Identifying patterns in data
- Developing algorithms and instructions to solve problems
Programming and Coding:
- Learning programming basics like variables, control structures, functions, and data structures in languages like Python or JavaScript
- Designing and evaluating computational solutions to problems
- Developing and implementing algorithms
- Analyzing and testing code
Data and Information:
- Representing information digitally using number systems, encoding, and compression
- Storing, manipulating, and visualizing large datasets
Computer Systems and Networks:
- Understanding the components and design of the internet and how it affects communication, security, and privacy
- Exploring different types of computer networks like client-server and peer-to-peer
Impacts of Computing:
- Investigating the societal and ethical implications of computing innovations
- Exploring topics like cybersecurity, privacy, and the effects of computing on various aspects of life
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:
- Computational Solution Design: Design and evaluate computational solutions for a purpose.
- Algorithms: procedures to solve problems and obtain answers
- Abstraction in Program Development: Develop programs that incorporate abstractions.
- Code Analysis: Evaluate and test programs.
- Computing Innovations: Investigate
- Responsible Computing: Contribute to an inclusive, safe, collaborative, and ethical computing culture.
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.
- CSP Create performance task submission deadline is Tuesday, April 30, 2024 at 11:59 p.m. local time.
- CSP testing is Wednesday, May 15, 2024 at 12:00 PM in the afternoon local time.
- CSA testing is Wednesday, May 8, 2024 at 12:00 PM in the afternoon local time, taken as a full-length paper-and-pencil exam that students can only take in school, not virtually.
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.
-
For 23-24, there were 6437 schools in all 50 US states, up from 6162 in 22-23 and 6037 in 21-22.
National Center for Educaton Statistics Search by NCES School ID https://nces.ed.gov/ccd/schoolsearch/school_detail.asp?Search=1&City=Joliet&State=30&Zip=59041&SchoolType=1&SchoolType=2&SchoolType=3&SchoolType=4&SpecificSchlTypes=all&IncGrade=-1&LoGrade=-1&HiGrade=-1&ID=301526000464
-
In Montana, for 23-24 there were 9 schools, up from 5 in 22-23, 6 in 21-22, and 4 in 20-21.
- AP® participation rate at Belgrade High School is 34%. (NorthWest Bozeman, 303 N Hoffman St, Belgrade, MT 59714 Gallatin Valley) Amy Guevara</a>, STEM Coordinator, 406-924-2122.
- Capital High School, Helena
- Glacier HIgh School, Kalispell
- Great Falls Central Catholic High School
- Helena High School
- Joliet High School (to be audited)
- Manhattan High School
- Polson High School (South of Flathead Lake)
- West Yellowstone School
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
-
Develop Digital Portfolio
-
Create Digital Portfolio video
-
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.
-
In a 9-hour closs, create in your Digital Portfolio your PPR (Personalized Project Reference)
No comments are allowed in the code.
-
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
-
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
- https://knowt.com/exams/AP/AP-Computer-Science-Principles
- https://knowt.com/exams/AP/AP-Computer-Science-A
Units for CSA
Computational Thinking Practices:
- Breaking down problems into smaller parts
- Identifying patterns in data
- Developing algorithms and instructions to solve problems
Programming and Coding:
- Learning programming basics like variables, control structures, functions, and data structures in languages like Python or JavaScript
- Designing and evaluating computational solutions to problems
- Developing and implementing algorithms
- Analyzing and testing code
Computer Systems and Networks:
- Understanding the components and design of the internet and how it affects communication, security, and privacy
- Exploring different types of computer networks like client-server and peer-to-peer
Data and Information:
- Representing information digitally using number systems, encoding, and compression
- Storing, manipulating, and visualizing large datasets
Impact of Computing:
- Investigating the societal and ethical implications of computing innovations
- Exploring topics like cybersecurity, privacy, and the effects of computing on various aspects of life
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:
-
https://code.org - the one I’m using
Offered free.
Their training for teachers is $1,500. That covers a week of virtual or on-site, plus sessions throughout the year.
-
https://codehs.com
Codehs has a free option but also offers their materials and community at $800/year per school, plus $1,000 for teacher professional development.
CodeHS AP courses are College Board Endorsed, meaning they have preapproved syllabi, lesson plans, and other instructional support.
Features include classroom management.
Provides an on-line IDE for 10+ programming languages.
Added
Foundations and Advanced courses on AP Cybersecurity.
-
NCyTE.net
-
Knowt.com provides over 1,000 questions in sample tests, cards:
- https://knowt.com/exams/AP/AP-Computer-Science-Principles
- https://knowt.com/exams/AP/AP-Computer-Science-A
- https://cyber.org/ empowers educators to teach Cyber info@cyber.org 318.841.9618
- Cyber Range
- https://www.accelevents.com/e/cyberorgedcon
- https://www.cisa.gov/topics/cybersecurity-best-practices/cybersecurity-education-career-development
-
Palo Alto Networks K-12 Fundamental Series Courses and Labs
- TeachersPayTeachers.com
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:
- Digital information
- Bits and bytes: Digital information
- Binary numbers: Digital information
- Limitations of storing numbers: Digital information
- Storing text in binary: Digital information
- Converting analog data to binary: Digital information
- Lossless data compression: Digital information
- Lossy data compression: Digital information
- Digital copyright and licenses
- The Internet
- Introducing the Internet: The Internet
- Connecting networks: The Internet
- Addressing the Internet: The Internet
- Routing with redundancy: The Internet
- Transporting packets: The Internet
- Web protocols: The Internet
- Scalable systems: The Internet
- The Internet protocol suite: The Internet
- Open protocol development: The Internet
- The digital divide
- Programming
- What is programming?: Programming
- Variables: Programming
- Math: Programming
- Strings: Programming
- Conditionals: Programming
- Logical equivalence: Programming
- Procedures: Programming
- Repetition: Programming
- Lists
- Algorithms
- Building algorithms: Algorithms
- Evaluating algorithms: Algorithms
- Solving hard problems
- Data analysis
- Data tools: Data analysis
- Big data: Data analysis
- Bias in machine learning
- Simulations (addressed especially by CMU)
- Exploring simulations: Simulations
- Simulating randomness: Simulations
- Creating simulations
- Online data security
- Introduction to online data security: Online data security
- PII (Personally identifiable information): Online data security
- User data tracking: Online data security
- Cyber attacks: Online data security
- Data encryption techniques: Online data security
- Secure Internet protocols: Online data security
- User authentication methods
- Computing innovations:
- Communication innovations at light speed: email, SMS, Social media
- POLL: How often do you forward/share/retweet items? Echo chamber.
- Collaboration innovations: Group chat, Videoconferencing, Collaborative software
- Crowdsourcing innovations: collective knowledge, crowdfunding, citizen science, open innovation
- Monitoring innovations: sensors; sensor networks; smart buildings, transport, grids
- Exam preparation
- Prepare for the AP Computer Science Principles exam: Exam preparation
- Learn AP CSP exam pseudocode: Exam preparation
- 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
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:

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)
-
Install the library for Python (not in Conda):
https://github.com/cs50/python-cs50
- Mount a directory within a container Docker on Ubuntu 22.04.
-
Setup VSCode for CS50: https://cs50.readthedocs.io/cs50.dev/
- CS50 Problem Sets:
(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
-
To automatically grade code on correctness:
https://cs50.readthedocs.io/projects/check50/en/latest/
pip install check50
- To setup for submit: https://cs50.readthedocs.io/submit50/
-
To submit: https://cs50.readthedocs.io/submit50/#submitting-with-submit50
CS50 CyberSecurity
Video on preserving privacy from CS50 CyberSecurity (1-2 hours each)
https://www.youtube.com/watch?v=kmJlnUfMd7I&list=PLhQjrBD2T383Cqo5I1oRrbC1EKRAKGKUE&index=1
- Intro
- 0 - Security Accounts
- 1 - Securing Data
- 2 - Security Systems
- 3 - Securing Software
- 4 - Preserving Privacy
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://stemfinity.com/pages/stem-partners
- https://www.afterschoolalliance.org/policyStateFacts.cfm?state=MT
-
https://4-h.org/programs/tech-changemakers/
-
https://www.linkedin.com/in/lucia-zuniga-0a0749227/
-
https://github.com/dylanaraps/pure-bash-bible
- https://codehs.com/plans_detail
- codehs.com/ai
- https://codehs.com/pro
- codehs.com/states
- codehs.com/standards/framework/AP_CSA/course/6165 from course curriculum/catalog “Learn More”
- https://codehs.com/course/msmixandmatch/overview
- https://codehs.com/info/curriculum/pathways/6-12
-
https://codehs.com/curriculum/pathways/k-12
-
NCyTE Cybersecurity Concept Lessons Python
-
DigitalPromise #CyberSecurity Pathways programs.
-
TechSmart
- https://michiganvirtual.org/consulting/
-
https://mtda.org/ai
-
https://www.edweek.org/technology/when-schools-want-to-ban-cellphones-but-parents-stand-in-the-way/2024/05
Heavy use of cellphones by adolescents has been linked to adverse mental health outcomes, from increasing risk of anxiety to suicidal ideation. Nearly half of children ages 10 to 17 who use social media wind up on porn sites, according to Rich. And in a recent survey of an estimated 1,300 girls ages 11 to 15 by nonprofit Common Sense Media, most respondents who reported using Snapchat or Instagram said they’d been contacted by a stranger via these social media platforms in ways that made them feel uncomfortable.
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):
- Ethics
- Establishing Trust
- Ubiquitious Connectivity
- Data Security
- System Security
- Adversarial Thinking
- Risk
- Implications
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:
- Montana.edu (Montana Tech in Butte) https://mtech.edu/academics/programs/computer-science/index.html
- Montana state at Bozeman
Elite universities for computer science in the US:
- Western Goverors University (where Amazon hires from more than all Ivy League colleges combined)
- Babson.edu, Wellesley (Boston) MA - #1 in entrepreneurial
- MIT in Boston, which has a lab
- Carnagie Mellon, Pennsylvania
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