So, this is web development in general, not specifically CS software engineering, or electrical engineering, right?<p>Some thoughts, mostly motivated by experience of both what I'd wish I'd known and also in mentoring at Rails Girls and similar community events:<p>~<p>Spend some time to explain <i>how</i> the modern web works. Go to "<a href="http://www.example.com"" rel="nofollow">http://www.example.com"</a> and talk about the series of requests that are made (socket, IP, DNS, HTTP server, these things). Pull up a debug console and show the traffic. Talk in broad strokes about page parsing, layout, whatever, but give a high-level idea of how all the pieces fit together. Do this first, so everything later kind of has a framework to fit into.<p>(This is similar to how you start with logic gates and build up to ALUs and eventually coomputers in good computer engineering/science curricula.)<p>~<p>Next, talk about stacks and gross areas of division, but keep it simple: this is the front-end (the browser), displaying a page and maybe running a script; this is the backend, the web server which decides what pages to send; this is the database, which stores data. It won't be helpful to go into more recent developments like single-page apps or Meteor or Websockets or whatever just yet.<p>~<p>Then, you can kind of split into two or three ways:<p>You can talk about server technologies, like PHP or Rails or Node or whatever, or just dumb file serving with Nginx or Apache or Sinatra or whatever the Python equivalent is these days.<p>You can talk about HTML/CSS, and talk about how we style HTML content and organize pages into divs. Show off a grid system, show floating, show the box model and padding and margins and all that stuff. Show basic form usage.<p>You can talk about client-side scripting, about attaching event listeners and using jQuery or vanilla JS to play with the DOM. Show off some simple code letting people mark stuff on a Google Map (API is well-documented and pretty easy to use and is tangible). Maybe let people play with something like Three.js or Kinetic.js.<p>~<p>Last, talk about things like using Github and SSH to log into a server. Talk about where to find help (man pages, Stack Overflow, lmgtfy, etc.) Basically, <i>solve IT problems last</i> if you can avoid it--learning how to sysadmin (even just for local development) is annoying and tedious, and will distract from the previous, more interesting and enjoyable topics.<p>~<p>Hope that helps.<p>EDIT:<p>Make sure that students are actually <i>doing</i> stuff for everything after the fundamentals lecture: write a static homepage, write a pong game, write a simple message board, etc.<p>Doing is learning here.