devsummit:201205:oscourse

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devsummit:201205:oscourse [2012/05/10 16:58] – DruLavignedevsummit:201205:oscourse [2021/04/25 07:13] (current) – Move to DevSummit namespace. JethroNederhof
Line 6: Line 6:
 ===== Overview ===== ===== 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|YouTube]] lecture series on operating systems and teaching exercises useful outside of a traditional university context.+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. 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.
Line 18: Line 18:
   * Brainstorm teaching exercises and their technical dependencies   * Brainstorm teaching exercises and their technical dependencies
   * Discuss how we could make %%FreeBSD%% a better operating system for teaching about/on/with   * 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|YouTube]]/iTunes/etc+  * Consider other less standard outlets for OS courses, including %%YouTube%%/iTunes/etc
  
 ===== Attendees ===== ===== Attendees =====
Line 27: Line 27:
 | [[/BenedictReuschling|BenedictReuschling]] | %%FreeBSD%% Project, University of Applied Sciences, Darmstadt, Germany | teaching, creating/sharing course materials, adapting courses [[http://cs.anu.edu.au/student/comp8440/index.php|like this one]] to *BSD |  | | [[/BenedictReuschling|BenedictReuschling]] | %%FreeBSD%% Project, University of Applied Sciences, Darmstadt, Germany | teaching, creating/sharing course materials, adapting courses [[http://cs.anu.edu.au/student/comp8440/index.php|like this one]] to *BSD |  |
 | [[/BjoernZeeb|BjoernZeeb]] |  |  | May join session late | | [[/BjoernZeeb|BjoernZeeb]] |  |  | May join session late |
-| [[/MikeKarels|MikeKarels]] | [[/McAfee|McAfee]] |  |  |+| [[/MikeKarels|MikeKarels]] | %%McAfee%% |  |  |
 | Ermal Luçi | pfSense |  |  | | Ermal Luçi | pfSense |  |  |
 | Warner Losh | %%FusionIO%% |  |  | | Warner Losh | %%FusionIO%% |  |  |
Line 34: Line 34:
 ===== Results ===== ===== Results =====
  
-Notes from the session:+Notes from the session are here: http://openetherpad.org/M5qWdddSkw
  
-* hard to find employees who understand operating system internals +Brainstorming projects/modules section of notes:
-* consider Foundation sponsoring mentoring of students outside of %%GSoC%% e.g. non-US summer terms +
-* Use DTrace to  analyze operating system (%%FreeBSD%%, Mac OS X) and teach basic concepts that way +
-* Problem: C is not taught anymore or not as much as it used to be +
-* create a repository of tools, modules, materials which can be customized, makes it more appealing to base a OS +
-* course on %%FreeBSD%% needs to be very modular: academics want to pick and choose / customise+
  
-industry engagement+**schedulers:**
  
-companies might co-sponsor final year projects+* graphing
  
-the Foundation might act as a rendezous service between projects and students+* benchmarking
  
-what do you need to teach an OS course?+* round robin scheduler
  
-notes / slides+* I/O priority boost experiment
  
-concurrency+* detecting/fixing priority inversion  (why theory matters)
  
-lock internals?+**filesystems:**
  
-GCD kind of stuff?+* 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)
  
-filesystems+* stackable filesystems: add access control, encryption
  
-how things have changed (e.g. the road to ZFS)+* fuse: simple inode based fs + optimization project, distributed fs?
  
-networking+* specialized filesystems: e.g. does one thing well
  
-device driver+**security:**
  
-platform for practical exercises+* MAC framework: implement a policy
  
-Raspberry Pi v. VM+* Capsicum-ize an app
  
-cross-build, debugging...+* security auditing
  
-cross-compiling reasonable: %%FreeBSD%% can self-host, toys can be cross-compiled+* write IDS
  
-Toy v. real OS+* write exploits
  
-Kirk: Universities prefer toys these days+**networking:**
  
-goals+* netgraph: write error correction
  
-people to understand operating systems+* tap/tun: write a simple VPN or simple encapsulation layer
  
-people to be familiar with %%FreeBSD%%+* write a firewall
  
-make %%FreeBSD%% a platform for teaching+* implement a simple network protocol
  
-is it to have a practical sense of the theory?+* write a device driver
  
-is it to demonstrate an ability to do a deep project (and get hired)?+* tweak packet loss properties
  
-identify frameworks for exercises+* network tracing
  
-project structure:+**Action Items:**
  
-analysis / instrumentation+* find existing materials (doc people, master students can help in prepping material): Kirk, Ken, Backman,
  
-modification+* create a repo e.g. freebsd.org/teaching that credits content creators
  
-evaluation+* VM generation tools (multiple VMs using templates), nested VM support
  
-VMs v real hardware+* develop teaching plans, homework assignments, reading lists, how to structure the course (e.g. template for 1 week course, semester course, etc.)
  
-Brainstorming for projects/modules:+* generate ebook and CD from selected modules (ideal for e-learning)
  
-schedulers:+* gather contacts, arrange guest lectures (in person and by video)
  
-graphing+* record sample lectures on !Youtube channel
  
-benchmarking+* make modules easily translatable
  
-round robin scheduler+* identify universities to partner in initiative e.g. Darmstadt (bcr)
  
-I/O priority boost experiment+* recognize younger generation's learning style, show course's relevance to industry
  
-detecting/fixing priority inversion  (why theory matters) +* teaser talk for %%EuroBSDCon%% (get students interest)
- +
-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 +
- +
-device driver (storage), KLD, create a system call +
- +
-concurrency +
- +
-dtrace, add probes, profiling +
- +
-optimizing power use +
- +
-simulated device +
- +
-interrupt handling (is the course in C or C and assembly?) +
- +
-threads, parallelization +
- +
-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)+
  
  • devsummit/201205/oscourse.1336669120.txt.gz
  • Last modified: 2012/05/10 16:58
  • by DruLavigne