I am no teacher, but here are my thoughts. If I was teaching a class about network security/hacking, I would teach the course by first teaching/demonstrating a flaw (hack) and then teaching/demonstrating a fix (security). For example, teaching the kids about Buffer Overflows. You can lecture on the theory/idea behind the buffer overflow (stack smashing, layout of the stack, overwriting return addresses, NOP slides, maybe brief shellcode). You can back this lecture up with some lab work (simple C buffer overflow programs). This will let the students learn how people craft buffer overflows. Next you could lecture on preventing buffer overflows (safe C programming (strncpy instead of strcpy, non-executable stack). NOW, buffer overflows aren't necessarily NETWORK security (more programming security), but I believe this approach will be effective. You teach the student about the problem, then teach them about the solution. This will also challenge the student to see if the solution is absolute/applicable. For more NETWORK security, you could easily teach MitM ARP poisoning attacks. You can lecture on ARP requests/replies and how these are used/handled. You can also lecture on switch ARP tables and how switches work. You could then lecture on the theory behind ARP poisoning. A good lab project here, and this is very vague, would be to setup a small switched network to perform MitM attacks. You can have one test machine sending network packets with certain information in them (ftp password, telnet passwords, http password, basically anything cleartext) and grade the students on their ability to ARP poison and sniff the passwords. You can then lecture on a solution. Static ARP tables is one possible solution, but can be a pain in the @$$. Nevertheless, you see where I am going with this. You lecture on the theory of a hack/exploit, let the students demonstrate their understanding of your lecture in the lab, and then lecture the students on solutions. That is my opinion =\ Good Luck with the class, sounds like it will be fun