Self taught Greek software engineer here, professionally working on software. I know you want to focus on the front-end but I disagree. A student needs to see how and why things are connected. This is what I suggest:
### Section 1
#Theory
How do the computers communicate (aka how does the internet works). Explain how your ethernet port connects to a server's ethernet port.
- Basic TCP/IP (OSI Model, Internet Routing, IP)
- Internet Infrastructure (routers, server component, virtual machines, cloud)
- Basic HTTP ( request-response, GET, POST, headers, cookies etc)
#Workshop
-Based on Wireshark sniffing. Also tools like traceroute.
### Section 2
#Theory
Programming Languages and Infrastructure.
- Based on the request-response cycle explain the basic components of a server (HTTP, programming language, database)
- why we need a programming language.
- Differentiate back-end from front-end and explain its usage (Server, DOM)
#Workshop
- Setup a development stack using Ansible or Puppet (to save time or do a LAMP stack installation)
- Use requests.py or guzzle to send and receive some http (check it with wireshark)
### Section 3
Back-end and frameworks
# Theory
- Why we need back-end frameworks
- What are the most important components of a back-end framework
- Pick a simple framework and explain its architecture
- Show some examples
- Briefly talk about security
# Workshop
- Flask-SQL Alchemy or Silex-Doctrine based project. No js used, no Node.JS imho.
### Section 4
Basic front-end and frameworks (no asynchronous staff, no SPA frameworks)
# Theory
- Why javascript
- Explain what the DOM is and why we care
- HTML VS DOM
- CSS
# Workshop
- Basic styling HTML+CSS
- Manipulate the DOM using developer tolls
- Jquery changing the DOM (based on the Flask project)
### Section 5
REST and Asynchonous and beyond
# Theory
- What is REST and why we need it
- Why frameworks like angular.js exist