Topics:
1. Linux Test Project (Test development/testing for GNU/Linux OS related)
The Linux Test Project (LTP) is an open source project with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of GNU/Linux. The LTP test suite is a collection of automated and semi-automated tests for testing various aspects of the GNU/Linux operating system. The goal of LTP is to deliver a suite of automated testing tools for GNU/Linux as well as publishing the results of tests we run.
Structure of the workshop covering:
During the workshop we would list down a number of tasks which can be completed by students. The list would contain :
- features to be enhanced
- problems that need attention.
Prereqs for Students (Desirable)
- C & bash Shell programming
- GNU Makefile understanding
- Some knowledge about OS internals would be a plus.
2. Eclipse (Software Development Environment related)
An Open Source Java Integrated Development Environment (IDE) as well as a Java Application development platform. One can use it to develop plain old Java applications or use it as a starting point to create new Java applications. In the introduction sessions you will get an understanding of Eclipse and its usages. In the workshop sessions you will get an opportunity to learn first-hand about the different usage scenarios. At the end of the day, you will have learned about not only a highly productive Java development environment that forms the basis of widely used commercial tools but also a good starting put for developing mature, scalable, extensible Java applications.
High-level structure covering:
Introductions 2 - basic + advanced, and Workshop in the afternoon (2pm to 5:15pm, with a 5mt break after each hour). The Agenda will be around these themes:
- Introduction
1. Intro to Eclipse and its use as a Java IDE.
2. Intro to Eclipse plug-in development and its use as platform for developing new applications.
- Workshop
- Use Eclipse to develop Java applications.
- Use Eclipse to develop SWT-based Java applications
- Use Eclipse to extend Eclipse via plug-ins.
- Use Eclipse platform to create new Java applications based on platform.
Student Prereqs (Desirable):
- Knowledge of Java language
3. Linux Kernel workshop
Linux kernel (Source is available at www.kernel.org) is free and opensource software developed with community contributions from worldwide. It is an operating system kernel, developed using C programming language. It is one of the most active and vibrant open source communities. Most of the GNU/Linux distributors (both commercial and as well as free) pick up one of the stable versions of Linux kernel as a base kernel for their OS distribution release. This workshop will allow the students to learn about Linux kernel internals.
Structure of the workshop covering:
Basics of Linux Programming & Tools (3 hours, starting at 11 AM)
a. Simple C programs
b. Simple Makefiles
c. gcc, stace, ltrace, gdb, objdump, nm, LD_PRELOAD [EXERCISE]
d. Quick overview of a typical hardware on which GNU/Linux runs (CPU, Memory, Interrupt controller, IO Bus etc)
e. Overview of the Linux Kernel
f. Kernel Layout
g. 15 minute break
h. CodingStyle
i. Important subsystems
j. Kernel configuration
k. Building and booting a new kernel [EXERCISE] Break (may be for lunch?)
* * Linux Kernel Internals – An Overview (2.5 hours, 0.5 hours each)
a. Process and threads [EXERCISE]
b. Memory Management [EXERCISE]
c. Filesystems [EXERCISE]
d. Interrupts and exceptions & System Calls [EXERCISE]
e. Kernel synchronization
* How is the operating system changing [DISCUSSION]
* What are the key areas of focus [DISCUSSION]
4. OpenPegasus (System Management Development related)
OpenPegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be portable and highly modular. It is coded in C++ so that it effectively translates the object concepts of the CIM objects into a programming model but still retains the speed and efficiency of a compiled language. Pegasus is designed to be inherently portable and builds and runs today on most versionsof UNIX(R), GNU/Linux, OpenVMS, and Microsoft Windows.
High-level Structure of the topic covering:
- the CIM/WBEM standards,
- OpenPegasus architecture ,
- writing the CMPI (Common Manageability Programming Interface) providers
- doing the basic system management using CIMServer(Pegasus) and CIMProviders(CMPI) .
Student Pre-requisites (Desirable):
- C programming
5. Apache Geronimo (Web Server/Web Applications development related)
Apache Geronimo 2.x is certified Java Enterprise Edition 5.0 container from Apache Software Foundation. Geronimo is suitable for everything from a development environment to enterprise-level deployments. Geronimo leverages many Apache projects, such as Tomcat, OpenEJB, ActiveMQ, Derby to deliver a Java EE 5 compliant server. Geronimo project also provides a Plugin for Eclipse platform that allows users to develop Java EE 5 applications on Geronimo.
In this session you will be introduced to Geronimo's architecture, custom server assemblies, extensible admin console and developing Geronimo using Eclipse IDE. You will also get hands on experience in installing the Eclipse Plugin and Java EE 5 application development & deployment on Geronimo using the Eclipse Plugin.
Student Pre-requisites (Desirable):
- Java programming
- Knowledge of using Eclipse IDE
- Knowledge of J2EE 1.4 and Java EE 5.0
