FreeBSD Developer Summit: Teaching Working Group
Friday Aug 4 2017 10:00 to 12:00 in FW26
Overview
This session is for people interested in teaching operating systems with FreeBSD. We'll discuss current efforts (i.e. teachbsd.org), curriculum work, sharing materials, creating workshops for conferences, etc. We'll have a number of professors and teachers attending, which also provides a chance to start collaborations between universities and people with shared interests.
Topics
Audiences
- undergraduates
- graduates
- pre-university (young)
Objectives/motivations
- device driver
- FPGA
TODO/ideas
- post-edit the videos of gnn's undergraduate teachbsd course
- materials of "using FreeBSD as software developing platform" (?)
Make RPi0 W work. It's currently stuck at the U-Boot prompt, see PR 220041. The RPI Zero is a cheap teaching platform for universities in countries who can't afford the current teaching platform (Beaglebone Black).
- Debugging course to teach students the tools, methods, and approaches for students to help them work with big/complex code bases and solve problems
- Sysadmin-centric course (systems management, automation)
- EdX/Coursera online class (would reach a much wider audience)
- FreeBSD-based summer school (in Cambridge?); We need to evaluate costs and the right marketing for it.
- Evaluate LLVM as teaching tool as it is part of the base system (no need to build it first, which takes a long time). We also need debug build of packages (not only debug symbols, assertions enabled)
IDEs for talking to FreeBSD
IDEs are becoming more and more the main interface for programmers to interact with the OS or do development on.
Teaching not only software, but also how the hardware is involved is important to know of students if they want to get into engineering.
Hardware Targets
[RPI/3](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)
- hardware/software platforms
[TerASIC SoCkit](http://sockit.terasic.com)
[TerASIC DE10-Nano](http://de10-nano.terasic.com)
http://www.lemaker.org/product-guitar-specification.html
Materials that are available
- OS:
System & network administration w/ FreeBSD:
Network Engineering & Security Analysis (2010)
- [Unix Administration 2](http://www.studybsd.com/comp10020/) - [Unix Security](http://www.studybsd.com/comp10032/) - A modern version might look like this:
Week 1
- VM Configuration and Setup
- Installing FreeBSD
- Network Configuration
- Installing Applications
Week 2
- Basic Configuration
- User Management
- Syslog and Logging
- Observability (top, gstat, vmstat, etc)
- Management (sysrc, sysctl)
Week 3
- Controlling Processes
- Service Management
- Web Servers
- Basic Configuration (SSH, etc)
Week 4
- Package Management
- Ports and Building Software
- Upgrading
- Building FreeBSD from Source
Week 5
- Automation and Provisioning
- Puppet, Ansible, and Salt
Week 6
- Advanced Networking (VLANs, etc)
- Firewalls
- Routing
- Dyamic Routing
Week 7 - Midterm
Week 8
- Disk Management
- Partitioning
- File Systems
- Intro to ZFS
Week 9
- ZFS
Week 10
- NFS
- Samba
- NIS
- LDAP
Week 11
- DNS
Week 12
- Jails
- VIMAGE
- Security
- Resource Limiting and Accounting (RCTL)
Week 13
- Performance
- Tracing and Debugging
Week 14 - Exam
Who is Doing What?
- Robert Watson L41 con't
- Rpi 0 completion
- teaching@ mailing list to be created (gnn@)
- Teaching VMs (creation)
- Allan Jude Tutorial Videos for ZFS
- George Neville-Neil: Updating all undergrad and pracitioner course material to PPT
Benedict Reuschling teaching an undergraduate "Unix for developers" course in english, slides and materials available.