The challenge is to create an educational or academic application for the Raspberry Pi single board computer/microcontroller platform in my content area of eighth grade computer science.
The purpose of the Web Design Unit is to serve as an introduction to the design, creation, and maintenance of web pages and websites. In the unit, students will learn how to critically evaluate website quality, create and maintain feature rich, quality web pages and learn about web design standards. Students will create, link together and share information with others through student developed web pages and servers. Web pages and web servers are the components of web design and development that allows this creation, interaction, linking and sharing of data as information to take place. The basics of HTML and CSS are introduced as methods for describing features of web pages that students can use to design and develop their web pages based on their culture, personal interests and unique experiences. The HTML and CSS lessons are scaffolded in order to provide all students an entry point into web design and development, but it is likely that as students explore and develop their web pages they will encounter features they wish to add to their web pages but do not yet know how to implement. In this instance, students will be encouraged to formulate their own learning and work ahead to figure these features out so they may add and apply them in their web pages before formally presented and taught in class.
Students will…
This unit will allow students to further develop and refine additional programming skills utilizing prior knowledge, skills, logic and experience that have been obtained in previous languages like Scratch and App Inventor. The students will be able to view the digital manifestations of their web pages and files in the context of viewing their web pages on and through various web browsers.
The students will work independently and in small groups to learn, develop and practice their web design skills and web server knowledge, and learn the different HTML commands to program a web page to perform and complete various tasks.
In this unit the students will use the Code.org Web Lab coding interface which will allow the students to create and view their code at the same time so they can focus more on the thought process, debugging and logic of creating a web page to format information in a clear and meaningful way. Additionally, the students will learn the complex syntax and semantics of HTML and CSS languages.
Every great lesson starts with addressing the standards that that lesson or unit is going to cover.
| Lesson | Lesson TItle | Duration |
|---|---|---|
| Lesson 1 | HTML Basics – Creating Your First Web Page | FourClass Period |
| Lesson 2 | HTML Visuals and Graphics - Images and Links | FourClass Period |
| Lesson 3 | Apache Web Server – Sharing Your Web Pages | Three Class Period |
| Lesson 4 | CSS – Adding Style to your web pages | Four Class Period |
| Lesson 5 | HTML & CSS – Page Layout | Five Class Period |
| Lesson 6 | HTML Tables | Three Class Periods |
| Lesson 7 | Adding Multimedia and Forms | Three Class Period |
| Lesson 8 | Web Server Security | Two Class Period |
| Lesson 8 | Micro:Bit Robot – Line Following | One Class Period |
| One Class Period in 90 minutes |
| Item | Item Number | Vendor | Item Cost | Quantity | Cost |
|---|---|---|---|---|---|
| Raspberry Pi 3 B+
Complete Starter Kit – 32 GB Edition | Pi3-STR32-C4-BLK | ABOX | $79.97 | 20 | $1599.40 |
| HDMI to VGA Monitor Converter | AV-107-BK-US | Tendak | $14.99 | 20 | $299.80 |
| Computer Monitor | --- | --- | --- | 20 | n/a |
| Mouse | --- | --- | --- | 20 | n/a |
| Keyboard | --- | --- | --- | 20 | n/a |
| * Items that will be supplied by my school. | Total Cost | $1,899 |
(Raspberry Pi Foundation, 2017)
sudo adduser <their username>sudo usermod -aG sudo <username>sudo usermod -aG www-data <username>id <username> command.
First, to begin the installation of the Apache2 package, update the available packages by typing the following command into the Terminal:
sudo apt-get update
Then, install the apache2 package with this following command:
sudo apt-get install apache2 -y
By default, Apache puts a test HTML file in the web folder. This default web page is served when you browse to http://localhost/ on the Pi itself, or http://192.168.1.10 (whatever the Pi's IP address is) from another computer on the network. To find the Pi's IP address, type hostname -I at the command line (or read more about finding your IP address).
You can also test the status of the web server by typing in the command:
sudo systemctl status apache2
Browse to the default web page either on the Pi or from another computer on the network and you should see the following:

If you see the above message it means you have Apache working!
This default web page is just an HTML file on the filesystem. It is located at /var/www/html/index.html.
Navigate to this directory in a terminal window and have a look at what's inside:
cd /var/www/html
ls -al
This will show you:
total 12
drwxr-xr-x 2 root root 4096 Jan 8 01:29 .
drwxr-xr-x 12 root root 4096 Jan 8 01:28 ..
-rw-r--r-- 1 root root 177 Jan 8 01:29 index.html
This shows that by default there is one file in /var/www/html/ called index.htmland it is owned by the root user (as is the enclosing folder). In order to edit the file, you need to change its ownership to your own username. Change the owner of the file (the default pi user is assumed here) using sudo chown pi: index.html.
You can now edit the files and then refreshing the browser you will see the web page change.
If you know HTML you can put your own HTML files and other assets in this directory and serve them as a website on your local network.
Now the students can upload their HTML files and other page assets, images, and media to this web directory and then serve them out to peers and teachers as a website on the local school’s network. (Raspberry Pi Foundation, n.d.)
The Raspberry Pi as a Student/Classroom Apache web serber allowed me to fill a hole in my web design unit by allowing my students to publish web pages to a live web server. My favorite part about this challenge was watching my students excitement as other students looked and commented on their web sites and pages. Again, students started owning their learning by going out and researching ideas and elements they wanted on their web pages this in turn started conversations bewtween the students on who they got this or that piece of code or element to work on thier web page.
References
Cana Kit Corporation. (2016). Raspberry Pi premium clear case [Graphic Image].
CanaKit. N.p., n.d. Retrieved February 24, 2019, from
https://www.canakit.com/raspberry-pi-clear-case.html
Cana Kit Corporation. (2016). Raspberry Pi Model B [Graphic Image]. CanaKit. N.p., n.d.
Retrieved February 24, 2019, from https://www.canakit.com/raspberry-pi-3-model-
b.html
Computer Science Teachers Association (2017). CSTA K–12 Computer
Science
Standards, Revised 2017. Retrieved January 14, 2019,
from http://www.csteachers.org/standards.
Nebraska Department of Education. (n.d.). 2018-2019 CTE course standards and
programs of study. Middle-Level Courses: Introduction to Computer Science,
270411 [PDF file]. Retrieved January 22, 2019, from
http://cestandards.education.ne.gov/Courses/270411_Middle%20School%20
Computer%20Science.pdf Raspberry Pi Foundation. (n.d.) Setting up an Apache
Web Server on a Raspberry Pi
Raspberry Pi Documentation. N.p., n.d. Retrieved February 25, 2019, from
https://www.raspberrypi.org/documentation/remote-access/web
server/apache.md.
Upton, Eben. (2014) New product launch! Introducing Raspberry Pi Model B+ [Blog].
N.p., n.d. Retrieved February 25, 2019, from
https://www.raspberrypi.org/blog/introducing-raspberry-pi-model-b-plus/