Readme First: Overview
From SOFTICE
|
This page is an introduction to the objectives and deliverables of the SOFTICE project. For more in-depth information, please refer to our latest publications or feel free to contact us. Alessio 11:12, 30 April 2008 (EDT)
Problem Statement
The hands-on experience provided by an Operating Systems laboratory can significantly improve an undergraduate student’s understanding of real operating systems. Despite their inherent complexity, such systems can tremendously clarify lectures by exposing the implementation constraints that motivate and justify many of the studied OS concepts, algorithms and trade offs. Such a pedagogical approach can considerably further the student’s understanding by helping her actually “make sense” of facts instead of merely memorizing them thus introducing a more deductive and active learning dynamics. As of today, the availability of the Linux kernel source code, its increasing presence in server-side industries and the existence of extensive publications and pedagogical material have made it a tool of choice in achieving such an endeavor.
The above analysis is not only relevant for Operating Systems courses but for many other undergraduate CS or IT courses such as; networking, Linux system administration, Computer Security and many more.
What you will find on this wiki
The SOFTICE project, unlike similarly intended projects, proposes to deliver solutions to this issue through two types of contributions:
- Pedagogical resources for the above-mentioned courses and laboratories designed to exploit the availability of UML virtual machines and renew accordingly the pedagogical approaches. Our contributions focused so far on designing an innovative pedagogy for Operating Systems Laboratories and Networking Laboratories. We also started a prototype of Linux System Administration Laboratory intended as a proof of concepts of the versatility of our supporting cluster infrastructure.
- Our second contribution is to propose a scalable solution to host students' virtual machines. Our supporting infrastructure is capable to deliver access to these virtual machines to our students regardless of the OS they run on their workstation and over the internet. This makes it easy for instructors to adopt our laboratories without requiring their technical support team to install Linux in each classroom. Our supporting infrastructure is a Linux load balancing cluster which is made available to instructors in various ways, as detailed below.
How to start using the SOFTICE labs and/or infrastructure
You can use these pedagogical resources in two ways:
- Simply install the laboratories you want to use on a Linux server your students can access. This is as easy as downloading a simple shell script (e.g. softice-osc-install or softice-net-install) and running it as root;
- Category:Operating Systems Concepts script available at softice-osc-install
- Category:Networking
- Category: Linux System Administration) script not yet available
- If you're only interested in using the Operating Systems Labs, you can alternatively have your students download our SOFTICE OS Labs Vmware Image to work on these labs on their own PC (Windows or Linux).
- Install these labs on our suggested model of load balancing cluster to improve the scalability of this solution. the easiest approach is to simply download the SOFTICE Virtual Appliance on a windows or Linux PC with two network cards (one on the internet, one a private lan of recycled classroom PCs which will serve as compute nodes). This virtual appliance works on top of the freely available VMWare server software (http://vmware.com/products/server/) and turns your desktop into a host for the entry point of your own cluster.
- Install your own load balancing cluster from scratch. All it takes is a "masternode" (a regular PC with two network adapters, the only machine visible on the internet by your students) and a few recycled classroom PCs on a separate LAN behind the masternode. Then follow the detailed setup instructions on our System Administration page.
How to contribute to this wiki
If you want to contribute to this wiki, have an account for your course on this cluster or collaborate with us on developing new courseware (lectures, labs, assignments) based on Linux technologies, contact alessio -at- this host.

