Welcome to the Course Programming 11
Instructor: T Linburg
Email contact info: telinburg@sd43.bc.ca
Gleneagle Blog site - core comp.
In this class we will be learning a range of programming languages, make computer games and create your own programs using the skills you learn in the class. In addition, we will be honing our technical problem solving skills and delving into various fields of computer and data science. The intention of this course is to provide a well rounded introduction to programming and the various topics that surround this. We will work mainly on our own but there will be many opportunities for both collaboration and connection with peers. Great programmers are as comfortable working and managing a team as they are as sole practitioners. It is key that you learn while having fun at the same time!
Coding 'Hackathon - 2025 Info here!
To Register for this event click here!
In Computer Programming 11 we cover the following:
Web Development - HTML / CSS / JavaScript 'snippets' and application
Computational Thinking / coding problem solving strategies / large project management skills (how to deal with 'setbacks') and roadblocks?
Java - Intoduction to 'classic programming' - collection of 'mini apps'
Python - how to write projects and create video games using Python coding structures and a GUi
Drop Box - Programming 11 - Block 1 (spreadsheet only)
Drop Box - Programming 11 - Block 2 (spreadsheet only)
Create a one Drive share link - create an 'on line' spreadsheet for sharing course assignments
Create and Share links in ONE drive - A 'how to' guide
Example - T Linburg - (using Google Sheets - but you could use your Microsoft version of Excel)
T Linburg - grade and assessment link spreadsheet (adjust the share permissions to allow Mr. Linburg to edit)
Instructions:
Download an excel version
Rename the file "Last Name / First Name" - Course - Block
Drop this spreadsheet into the hand in box and then add in One Drive Share links as you complete course assignments.
It is YOUR responsibility to keep this spreadsheet updated as you complete assignments
How to access your course assignment "assessment / marks / feedback - through the My Ed BC Portal.
1. Open your computer and open an internet explorer (Google Chrome, FireFox, Microsoft Edge, Opera etc)
2. Type into the Uniform Resource Locator the website address: https://myeducation.gov.bc.ca/aspen/logon.do
3. On the page, log into your myed bc account using the account and password the school proved you. If you have forgotten your password, go to the school office to obtain a password recovery.
4. When you log onto your myed bc page, you will be able to locate your report card via a PDF file named Learning Update on the bottom right of your page.
5. Click on the top most file to get your latest report card. (If your computer is slow, it might take up to 10 seconds to download the file, so don’t panic and close the window)
6. Go to your downloads folder, (Ctrl + J on chrome) and click on the PDF file you just downloaded to view your report card.
Module # 7 - Introduction to Python - An 'Interpreted' Language
Due: Last day of the course
We will be following a familiar pathway to learning Python, However, you will be happy to note that we only be completing SOME initial practice exercises as you already are familiar with many general programming concepts. Are unit will consist of initial practice, then some game making and then some related project work. Good luck and have fun!
Python IDLE utility links
Please use this link for downloads (should that be necessary)
Multi - threading explained (can speed up program run time)
(Here is a decent set of install instructions )
(*) Note: Python IDLE 3.9 is already installed in the lab.
Part I - Introduction to Python - An interpretive language
Introduction (read / reflect / respond)
What are the key differences between a compiled language (Java) and an 'interpreted' language (Python) ?
Read this article Differences between compiler and interpreter / Another good link! / Python "The good, the bad the ugly"
How does a Python IDLE work? Here is a comprehensive introduction / why is Python still so popular? / second link
Python IDLE install site - You might need to install a legacy version of Python (version 2) to run some of the game instructions. We'll see as we progress through the unit.
Please make a table or chart that clearly explains the following:
What makes Python (an interpretive language) different than a compiled language like Java? Explain the key differences in bullet form
Why is Python still so popular despite being so slow during runtime? Explain?
Part II - Practice Module
As with any new language, we will need to do some practice to learn the conventions of the Python language. However, we'll be doing less than with JAVA as you already have a solid background on programming fundamentals and typical coding structures.
Coding practice (Python)
Learn Python 3 the Hard way (textbook PDF - different author same title) (If you have practiced Python previously then choose a DIFFERENT 14 exercises to complete.
Download PDF textbook from the above one drive link.
For your reference - W3 Schools Python
Write your Python code using the Python IDLE 3.9 located in the program menu ( open Python 3.9 folder and look for the IDLE)
Please complete the following exercises: (or choose your own collection as long as it adds up to 14 in total!)
Exercises 1 - 7 (covers many familiar activities) - (NO study drills)
Exercises 10 - 17 Python essentials continued...(study drills optional) Note: exercise 13 MUST have THREE arguments and no more
If you're having trouble with exercise 13 from the lessons - here is a great discussion of unpacking variables!
(Hint:) - in the Python Shell - select RUN from the top menu bar and then select 'run...customize" (or Shift F5) and then name the three variables (note: NOT four) any name you wish... so for example type in: first second third (then run) and then it will execute and ask you to describe the fourth variable!
Or you can use Window's powershell the accomplish the same thing but you will need to use a few powershell keystrokes to get there...eg "cd" (change directory) to get to the location of the file you wish to execute...) see blue screenshot at the bottom of this unit for an example! :)
You will start to see many similarities between Python and JAVA. However, Python is known for being an easier and more intuitive coding language. Due to time constraints we are only going to complete a smaller collection of practice exercises but you are encouraged to use this textbook as a reference guide.
If you get really stuck! Here is a practice set!
Part III - Games and So Much More!
Game 1 - Rock, paper scissors...(make at least four modifications to the game's behaviour and design)
In this first project, you will work with Python scripts in a very structured format to make a simple game. Once you have typed in the game code (don't copy and paste please) you will then be tasked to make structural improvements to the quality of the game play. What improvements to its design is up to you, however, you are expected to add in a developer comment into the top of the game code explicitly explaining HOW you changed and improved this classic game. Good luck and happy gaming!
Instruction set(s) - you choose which one to follow:
You will need to import modules for this game and others. Using prebuilt libraries allows you to build out programming capacity with only some basic skills. Read this link that outlines "importing" in Python
Some to modify the above game: add in more game objects such as a hammer or a butterfly.../ best 'two out of three / change how you 'win'...
PY Charm - Download and install link (sould be installed already)
How to get Py Charm to work on Py Game (short video)
Once installed - please 'link up the libraries ' Install instructions for py game
IF THE ABOVE INSTRUCTION SET(S) DON'T WORK THEN TRY THE 'STEP BY STEP' AT THE BOTTOM OF THIS SECTION!
Game 2
Racing Car game (Extended: When completed can you change the game sprits and the method to win)
make a car racing game (turtle library download and install - video installation guide / Here is a basic list of Terminal shell command prompts
Game 3
Classic game of 'snake' in Python (only do if you can get the "Platform Game to run!)
Classic game of 'snake' in Python / Here is a set of instructions that has a greater 'diversity' of snake game styles
Part IV - Choice Project to complete (choose THREE in total from one or both of the links below)
There are 81 in total. The following projects are essentially laid out for you but they offer specific ways to change or enhance the work.
Python Project link Database # 1
OR
Mad Libs / Guess the Number Game (computer) / Guess the Number Game (user) / Hangman / Countdown Timer / Password Generator / QR code encoder / decoder / Tic-Tac-Toe / Tic-Tac-Toe AI / Binary Search / Minesweeper / Sudoku Solver / Photo manipulation in Python / Markov Chain Text Composer / Pong * / Connect Four * / Tetris / Online Multiplayer Game / Web Scraping Program / Bulk file renamer / Weather Program / Code a Discord Bot with Python - Host for Free in the Cloud / Space invaders game
(*) Note: the *'d project activities are quite time consuming and on the difficult side...so be cautioned before you begin!
Game Intro. and installs... Use the built in Arcade libraries inside Python 3.12.3 to create a collection of arcade games
In order to be able to develop games in Python 3 you will need to conduct a few installs. Some of these might have already been done for you but it would probably be best for you to conduct these installs anyway. (You might need my admin password - if not already installed)
PyCharm (by Jet Brains): Python Development platform
An excellent primer to working with Python Arcade (reference only)
Install Arcade libraries INSIDE PyCharm and a Virtual Environment to run graphic based Python games please follow the following link.
Install the Arcade and game related libraries inside of the Python IDLE (please do this or check if it has been done)
Suplemental instruction set:
Installing PyCharm, a popular Python IDE, and Pygame, a set of Python modules for writing games, involves a few steps. Here's a general guide:
1. **Install Python**: Before installing PyCharm and Pygame, ensure that you have Python installed on your system. You can download and install Python from the official Python website: https://www.python.org/downloads/ Also make sure that that python is added to the PATH and that pip is properly installed.
2. **Install PyCharm**:
- Go to the JetBrains website: https://www.jetbrains.com/pycharm/download/
- Download the version of PyCharm (Community or Professional) that is compatible with your operating system.
- Follow the installation instructions provided by JetBrains for your operating system.
3. **Create a New Project in PyCharm**:
- Open PyCharm.
- Create a new project by selecting "File" > "New Project".
- Choose the location and interpreter (the Python installation) for your project.
4. **Install Pygame**:
- Once you have your project set up in PyCharm, you need to install Pygame. You can do this using pip, Python's package manager.
- Open PyCharm's terminal (Four lines on top left > View > Tool Windows > Terminal). Or press Alt + F12
- Type the following command and press Enter to install Pygame:
pip install pygame
5. **Verify Pygame Installation**:
- After installation, you can verify that Pygame is correctly installed by importing it into a Python file and running a simple test:
```python
import pygame
- If there are no errors, Pygame is installed successfully.
6. **Start Developing**:
- Now you're ready to start developing games with Pygame in PyCharm! You can create Python scripts, import Pygame modules, and build your games within your PyCharm project.
That's it! You've installed PyCharm and Pygame, and you're all set to develop games using Python. If you encounter any issues during the installation process, feel free to ask for further assistance!
Introduction to Game Development
An excellent discussion of game development procedures in Python AND the power of adding in calls to object oriented features
A few arcade style Python game examples (for reference ONLY)
Module # 6 - Java Introduction continued...Building your Coding Superpowers!
Software download links - visual Studio code / coding pack / Install JDK (from Oracle) / NetBeans version 25
Share your Java App - Class presentation (May 26th / 27th / 28th)
Block One - Java App Project file link
Block Two - Java App Project file link
Share your App - Requirements
Describe the app and why you decided to make this
Run the App - use the audience for input when required
Walk us through the entire code structure - ie If ...else statements / print output etc...
Today's presentations:
Sunmo / Kevin /
Part I "Learning by 'making' and doing..." NOTE: DO NOT COPY AND PASTE EXERCISES
Please submit the edited drills only (with the study drill info on it) - each should be on its own separate file
Please complete these exercises and complete ONE study drill for the *'d exercises
# 11 Variables Modification Shortcuts
# 12 Boolean Expressions
# 13 Comparing strings (*)
# 14 Compound Boolean Expressions (*)
# 15 Making decisions with If Statements (*) A GREAT summary of the various type of IF statements
# 16 More If Statements
# 17 Otherwise (If Statements with Else) (*)
# 18 If Statements with Strings (*)
# 19 Mutual Exclusion with Chains of If and Else
# 20 More Chains of 'If and Else'
# 21 Nested 'If Statements'
# 22 Making Decisions with a Big Switch (*) (Here is a sample study drill to assist you - reference only)
# 24 Choosing numbers randomly (*)
# 28 - Using loops for error checking - this important exercise prevents your programs from crashing
Part II - A second app of your own incorporating some of these new skills including both 'If and If else" statements and an error loop - This App project will be presented to the class! (Proficient)
Here is a sample - using 'if' statements for series of questions / some other examples of uses if if then else statements (perhaps this might fit somewhere into your app development?
Criteria
This project is intended to be a 'summative' and should highlight many of the skills you've learned throughout the unit. Specifically, you are tasked with creating a useful or entertaining app (as defined by an end user group). What exactly is "useful" is really up to you. You could create a short story with if or if else decision trees (Story telling - entertainment) / you could create a health app with a series of questions (Health app l) / you could create a game with a series of riddles or construct an ascii treasure map (think gasoline receipt exercise two) for a person to solve (entertainment) ...the list is endless.
Here are a couple of sample projects - for illustration purposes only DO NOT COPY THESE - be original:
Try to incorporate a loop to prevent crashing. All about loops - read on!
Part IIIA - Individual Project Pathways - 'Re-engineered' enhancements (extended)
Please select TWO base projects that will be the source of your reconstruction efforts.
The 'base' project has the coding structure provided to you. (50 to choose from!)
Criteria
Please choose two 'BASE' projects with the code assembled. Get the "BASE' project to run in the IDE with a folder and a main class. Once you have the original project working you are to go to work on changing the BEHAVIOUR as to how this project works or executes. For example, the calcuator could be 'repurposed' to calculate other things or a game could have different categories and express a different outcome. Your challenge here is to 'Re-engineer' / reinvent / reimagine a basic Java Application.
Part IIIB - (Very Advanced) Build your Own Game of Chess
We are now coming to the of this unit. Below are a list of complex Java Projects. See if you can successfully use these 'source files' and figure out how to use the IDE to get two of these projects to successfully build. If you managed to do this then congrats you fully understand how to access Java source code files and know which ones to use to get the program to execute! If you accomplish this (pat yourself on the back).
Swing - tutorial - structure and overview
Congrats! if you can build this - once done - try a few enhancements to earn your 'gold star'. :)
Resources
Module # 5 - Introduction to Java - Java in-depth intro...
Due: May 7th, 2025
Part I - Key definitions in JAVA - What is Java?
Please take a look at the video link below and report out on some of the key terms in Java programming. Many of these concepts generalize to all programming languages. For example, encapsulation (data security) is an essential feature of any app, no matter which language it might be written in.
Key Java Terms mentioned in the ("Java - How it works") video (note: there may be details on here that may be too advanced for some, so focus mainly completing and locating the definitions) but the video is, in my view, excellent at elaborating on Java concepts! Here is a nice summary that I thought explained much of this well! :)
You may use any platform of your choice: a Prezi -/ PowerPoint MS Word OR even Visme - you choose the platform you like the most. Feel free to add in images or other enhancements to make your presentation more effective.
What is Java? Introduction video
'Stream of consciousness' Activity
READ about each of these terms then test yourself! - the links above or review one of your own. Then in one sitting, see if you can write out a clear definition of each from memory (no copy and paste and no open links) - How good is your memory? Can you create a 'working definition' based on reading recall from the the link(s)? Congrats, we are impressed if you can do them all from memory. Ultimately this is the point, having information that you can know and recall on demand. In other words, 'operationalized' definitions are FAR more useful than textbook definitions of terms.
Part A - Computer Science definition 'self test'
Assembly language - Key Terms mentioned in the video / links
Machine code
Java Compiler
Abstraction
Encapsulation
What is OOP’s (Object oriented programming)
Bytecode
Java Virtual Machine
Object files
Inheritance
Class files
RAM
Execution engine
Polymorphism
O.S. Calls
Strings
Part B - How did it go? How many could you write out from memory in one sitting without visual aids?
Part II - How to set up a Project / Main class / File - for Java programming work - IMPORTANT Sotware practice exercise - please be sure you can do this!
(Do not Submit - intro only)
Please create your first program that will output 'Hello World' . Follow the tutorial below to learn how to set up folders and a main class!
Introduction
Create a basic text based Java App - Hello World (remember how to set up classes etc).
Hello world (more up to date instructions) for Netbeans Apache 2.4.63
Hello World - Instruction Set for Visual Studio / Second Instruction set (starts with installation of the JDK and the extension pack)
An excellent introduction to Java - 'learn to code in 15 minutes' - outlines many concepts in our Java unit....'coding with John'....(although we're not coding in Eclipse)
Part III - Writing Java programs (Download textbook from the Link below!) - Note: exercises start on page 17!
Now that you have completed this, you will turn to creating a portfolio of introductory text based executable programs using the same input format as the first demo (Hello world).
PDF attachment "Learn Java the Hard Way.pdf" (Our unit TEXTBOOK - download a copy from the share link)
A) Please complete the first TEN programs from this textbook. Please write the programs using the Net-beans IDE (as you did in Part I with the 'Hello World' activity).
B) Please do ALL the study drills for the (*'d) exercises at the end of each lesson.
Intro to Java exercises ( from "Learn Java the Hardway" ) - PDF textbook - see bottom attachment section to download it. We will be using this resource for the unit.
NOTE: Please DO NOT COPY AND PASTE ANY EXERCISES
Please submit the edited drills only (with the study drill info on it) - each should be on its own separate file.
(*) - symbol - means do the study drill(s) for this exercise only
# 1 An Important message
# 2 More Printing
# 3 Printing Choices (*)
# 4 Escape Sequences and Comments (*) - ONLY the first study drill NOT the second!
# 5 Saving Information in Variables (*)
# 6 Mathematical Operations (*)
# 7 Getting Input from a Human (*)
# 8 Storing the Human's Responses (*)
# 9 Calculations with User Input (*)
#10 Variables Only (*)
Part IV - Create your FIRST Java application
Make your own ORIGINAL java app based on at least FIVE of the previous exercises, the more quirky and original the better.
Funny jokes ? a BMI calculator? Creative writing? the possibilities are endless, even with this basic set of skills. Good luck and have fun!
Resources
A complete list of all Java 'operators' - helpful list /
Part 4 B - Hosting your Website project for free!
Yes you can get your project hosted live on the web. Please go to GIT HUB - make an account and set up a new 'public repository' . See below for the detailed instructions and steps. Thank you Emilia for you research with this! :)
Go to https://github.com
Sign up and verify your email.
Click the + icon in the top right → New repository
Name your repository (e.g., my-website)
Optionally check "Add a README"
Click Create repository
You can do this in two ways:
➤ Option A: Upload files directly on GitHub
In your new repository, click "Add file" → "Upload files"
Upload your index.html (and other assets like CSS/JS/images)
Click Commit changes
Go to your repository on GitHub
Click Settings → then Pages (in the left sidebar)
Under "Source", choose:
Branch: main
Folder: / (root)
Click Save
GitHub will now build your site. It may take 1-2 minutes.
After setup, you’ll see the live URL at the top of the Pages settings.
Typically, it’s:
https://your-username.github.io/my-website/
Make sure your main HTML file is called index.html.
For custom domains, you can configure a CNAME file.
Module # 4 - Create a Modern Web Site Major Development Project - Due: April 15th (Tuesday)
You will now have the opportunity to create and write an entire web site from the ground up. We move from skill practice to skill implementation. Happy coding and have fun! :) (project development time - approx. 3 weeks.
Remember that being an IT developer requires not only good coding ability but also great time management skills and a sense of curiosity. After all, you will spend most of your time on what DOES NOT work rather than what DOES work.
Please read this link FIRST before you begin. It offers some useful tips on how to manage a large project while also focusing on what matters most. Good luck and happy coding...
Part I - Building your Web Site
Module # 3 - Web Design - aesthetic features / end user features Share your insights with web design in small groups-
Thurday Feb 27th 2025
Please meet with your following classmates and in succession please share your design talk. It would be best if you have created a 'share drive link' to your talk so that you can stay at just ONE workstation! Please be expansive in your design talk! No Presentation will result in a '0'
Once you have listened to the other presentations you will complete this response sheet. You will also fill one out for yourself ... 'self assessment'.
Your peer group feedback will form half of your mark for this assignment! Good luck and have fun!
Block ONE - Web Design Group presentations -
9:30 start
Emilia / Aaliyah / Shining
Alexander / Sunmo / Kevin / Arsham
Sina / Nathan / Parker
Ryan / Marson / Kimiko
Block TWO - Web Design Group Presentations
Athena / Claire / Kore
Jamie / Nick / Connor /
Giancario / Tom / Eric
Mahan / Aaron / Frank
Exploring the best in Web Site Design
Now that we have developed some understanding of web site structure and the underlying HTML and CSS coding that creates web content, we will now turn our attention to another key aspect; design. What makes web site design stand out? How does design and site content interact in order to improve the end user experience?
What makes web site design memorable and engaging to your audience (read / respond section)
PowerPoint - "show and tell"
You will now be using our good friend PowerPoint to showcase the top 5 websites that you can find. Please consider your choices based on both a technical and design perspective. (*)Note: DO NOT USE ANY OF THE SITES LISTED BELOW AS YOUR 'TOP 5'. Please search on-line for your own inspiration!
PLEASE FOCUS ON DESIGN QUALITY NOT JUST ITS UTILITY. In other words, you tube and google are very useful but they don't indcate cutting edge design.
For each of the five finalists...
Please right click on the mouse and select "view source code" to look at how the web site was constructed. Based on your basic knowledge, offer one key insight into the coding structure (page structure, specific code function, key site feature - if possible use the "snag it tool" to screenshot the relevant section of code.
On each of the 5 slides include the following:
A heading
the URL of the web site (be sure it connects)
several clearly written bullets explaining why this site is so great (please be specific and clear and refer to the design articles if possible) - vague descriptions like..."the site is colourful" is not a helpful description.
ONE aspect of how this site is coded. For example, there is a parallax scrolling feature added to the site as inline style tag
Here are a few fascinating sites that do indeed stretch the imagination. However, these are intended for illustrative purposes only. In many cases, these sites often raise the question...is more better?
Sites for Reference ONLY - do NOT use any of these in YOUR presentation! :)
FeedMusic web site / The Bear and his Scar / On the grid / Lordz Make Me Pulse (story telling) / Mr. Doob / The boat story / Google Quick draw / Edsey Art / Change Gout / Noni / Gimez / Edita's casting / Four Seasons Hydra / Braverinwilt / Puree Maison
Related Resources
Websites with dynamic colour schemes / CSS Zen Garden
Great Example of Parallax scrolling features / Your scroll wheel can take you on quite an adventure !
Module # 2 Introduction to HTML and CSS coding structures (coding practice structures) Due: Tuesday Feb 18th
Part One - Structured HTML and CSS practice with Code Academy (# 3 )
In order to give us all a common foundational structure with HTML and CSS, we will be completing a series of practice modules using
Sign up for an account and then begin to work on the following:
introductory modules of HTML - complete all the "free" sections
introductory chapters of CSS (Cascade Style sheets) 1 - 4 ONLY, the rest is NOT required.
When you have completed a section please "Print Screen" and then CTRL V in MS word (or use the snipping tool). At the end of the modules, submit a WORD document with the screen shots as proof that you have completed all the sections. Please include your individual account info.
Part Two - W3 for schools familiarizing yourself with a 'definitive' web design resource (do not submit - for information only)
Please do the following TWO exercises from this resource (W3schools - an essential resource you that will be VERY helpful when we code our web sites!)
Extra Resources and Help Guides
Module # 1 Introduction to Computer Science and hardware and networks Due: Friday Jan 31st
(# 1 item on the spreadsheet)
Assignment # 1 - Introduction to Computer Science
To get the URL to display correctly on your spreadsheet follow this Link:
Pictochart share a presentation
How does a computer actually work; as programmers we should know? Make an Infographic (read / synthesize / report)
Please read this introduction which is a comprehensive look at how computers work!
Sign up for an account here:
Infographic Maker site (account sign up required) - be sure to set your permissions to 'public view' :)
I would strongly suggest....reading articles, reflecting and then writing your brief remarks from your mind and then fact checking after.
(This will help you to connect with the information and share it in a way that you understand it)
Instructions:
Please summarize the following links in an infographic format. Note that we are trying to provide a mere "snapshot" of how a computer works from both the hardware and software side of things.
Discuss these four topics (starting links - find additional yourself)- No direct copying - you must cite all links you referenced in a links page at the end of your assignment
What is hardware and what is software? How does a software program work? execute and initialize)
Binary code system (how are characters translated into numerical code and how the binary system works) How Binary and Math relate (extra explanation for the Math types :) ) another link that discusses digital to binary - Binary is based on 'on and off' - which is base two - Two great videos that explain binary computing - binary # 1 , binary # 2
The different levels and types of programming languages / another fascinating look at programming languages and structures
How does a CPU work ? How does a computer store memory? What is RAM and how does it work?
Our goal is always to take the complex and make it simple and easily understood
Clear, crisp and accurate!
Criteria
Provide us with a clear summary of the concepts mentioned above. You are strongly suggested to express your own ideas on the topics (even if they are not as well written as you'd like) as copy and paste = no learning. As well, please include a few diagrams or images that would enhance your presentation. Please include at least FIVE RELEVANT graphics or diagrams that help to explain your written work!
Resource section
How a computer works / Binary Code
Video Links
How a CPU is created - incredible! How Microchips are put together (technical 'deep dive')
How a transistor works - the foundation of modern tech
Assignment # 2 Introduction to Internet and the World Wide Web Due: Tuesday February 4th
Instructions (Entry # 2 spreadsheet)
Please write a response to the following question?
How are the World Wide Web and the internet related and how does information from your web browser or your phone travel from one place to another? What else must be in place for the Internet to work from end to end - Please describe the step by step process (describe the hardware and steps involved)?)
The history of the web / How data moves across the internet (info graphic) / How do data packets work? /
An excellent "deep dive" into how the internet works (infographic included - excellent resource!)
Watch this video on the history of the Internet - BBC clip (4 min 44 seconds)
look at what drives the internet today (5 min 27 sec) - a Google data centre The backbone of the modern internet! - Wow!
How the internet works today fiber optics (43 min) - the incredible networked world
A "log" of the first Internet message ever - it was actually written as "lo"...before the system crashed!
Now We have 'Starlink' Internet Network adding connectivity to rural locations. This is the next 'internet connectivity' revolution!
How Starlink works! (video) / Backgrounder to the Starlink Network