FreeBSD Developer Summit OS Course Working Group
Or... Teaching an operating system course with FreeBSD.
May 1th (Thursday), room will be announced when it is known.
Overview
The purpose of this May 2012 developer summit working group session is to discuss teaching undergraduate- and graduate-level operating system courses using FreeBSD. Several members of the academic community already teach such courses -- others would like to create them, and more generally encourage the teaching of OS courses using FreeBSD. Further, we have industrial consumers of FreeBSD who would love to see more graduating students with a background in operating systems, especially FreeBSD. Finally, we have current students involved in teaching and research, Google Summer of Code, etc. We hope to bring these groups together to identify goals, requirements, methodology, and resources to work towards a common teaching platform that might allow coursework that might be shared across universities. We are also interested in alternative outlets for this material -- for example, a YouTube lecture series on operating systems and teaching exercises useful outside of a traditional university context.
If you would like to participate, contact the chairperson below and CC devsummit@. You will be then added to this page. Please include a list of things you want to talk about or the areas you are interested in. This helps in planning the session and to bring people together with common interests.
Goals
- Discuss goals of teaching operating systems at the undergraduate/graduate level
- Identify universities already teaching FreeBSD-based operating systems courses
- Identify existing FreeBSD-based teaching material (books, slides, exercises, platforms)
- Consider potential paths to improving shared, community-provided teaching material
- Brainstorm teaching exercises and their technical dependencies
- Discuss how we could make FreeBSD a better operating system for teaching about/on/with
- Consider other less standard outlets for OS courses, including !YouTube/iTunes/etc
Attendees
Name |
Affiliation |
Topics of interest |
Other notes |
University of Cambridge |
Developing a new masters-level OS course at the University of Cambridge Computer Laboratory |
As an undergrad, took CMU's OS course, and it clearly influenced what I do today! |
|
|
|
|
|
FreeBSD Project, University of Applied Sciences, Darmstadt, Germany |
teaching, creating/sharing course materials, adapting courses like this one to *BSD |
|
|
|
|
May join session late |
|
McAfee |
|
|
|
Ermal Luçi |
pfSense |
|
|
Warner Losh |
FusionIO |
|
|
iX |
aggregating which FreeBSD courses are available, courseware creation, video courses |
|
Results
Notes from the session are here: http://openetherpad.org/M5qWdddSkw
Brainstorming projects/modules section of notes:
schedulers:
* graphing
* benchmarking
* round robin scheduler
* I/O priority boost experiment
* detecting/fixing priority inversion (why theory matters)
filesystems:
* GEOM: I/O tracing, replay, add dtrace probes, RAID module, integrity checking module on a memory disk, write aggregation module, I/O scheduler, module for content storage (e.g. dedup-ish)
* stackable filesystems: add access control, encryption
* fuse: simple inode based fs + optimization project, distributed fs?
* specialized filesystems: e.g. does one thing well
security:
* MAC framework: implement a policy
* Capsicum-ize an app
* security auditing
* write IDS
* write exploits
networking:
* netgraph: write error correction
* tap/tun: write a simple VPN or simple encapsulation layer
* write a firewall
* implement a simple network protocol
* write a device driver
* tweak packet loss properties
* network tracing
Action Items:
* find existing materials (doc people, master students can help in prepping material): Kirk, Ken, Backman,
* create a repo e.g. freebsd.org/teaching that credits content creators
* VM generation tools (multiple VMs using templates), nested VM support
* develop teaching plans, homework assignments, reading lists, how to structure the course (e.g. template for 1 week course, semester course, etc.)
* generate ebook and CD from selected modules (ideal for e-learning)
* gather contacts, arrange guest lectures (in person and by video)
* record sample lectures on !Youtube channel
* make modules easily translatable
* identify universities to partner in initiative e.g. Darmstadt (bcr)
* recognize younger generation's learning style, show course's relevance to industry
* teaser talk for EuroBSDCon (get students interest)