THE NET: FORCE! SNIPPET TOOLBOX - A HANDS-ON APPROACH TO LOW LEVEL NETWORK PROGRAMMING
Acquiring an in-depth understanding of internet technology is one important goal for many ICT students. Software development skills are another aspect with high relevance when it comes to professional skills. In our approach, these two factors are combined into one didactical tool, which can be used in different learning scenarios and for undergraduate as well as graduate level courses.
In this paper we present the general architecture, some implementation aspects and the usability test phase of our “net:force! Snippet Toolbox” (NST). The NST was implemented for students in the Information Management (business informatics) degree program at FH JOANNEUM University of Applied Sciences. It is designed to support different courses in the subject area of basic and advanced internet technology, network programming, IT security and related topic areas.
The idea of an easy start into network programming also for beginners in this area led to the usage of MediaWiki for documentation and user guides. Two virtual server machines are used for hosting all NST services as well as for supporting the client-server examples. Access to the snippet server is implemented with the “Shell In A Box” tool, and the development environment is kept as simple as possible, e.g. recommending the “nano” editor for the students.
A number of examples (called “snippets”) have been collected for the NST, which fit the curriculum of our Information Management course. The samples cover a wide range from a first experience with network programming (client – server socket programming, ping, traceroute..) up to advanced topics in the network security area (network sniffer, “hacking tool”..). These examples were then implemented on a server so that students can use them in a user-friendly way. The Python as well as the Java programming languages have deliberately been chosen for these examples, because they are relatively easy-to-learn programming languages. All exercises were didactically prepared and provided for use in the MediaWiki interface. The flexible and simple concept made it easy to use the snippets toolbox also on a Banana Pi single board credit card sized computer. It was possible to implement some of the advanced security examples (e.g. a WLAN scanner tool) with this extension to the concept.
Using NST, students are motivated to find the solution to the individual examples. The combination of programming and understanding important terms in the field of network technology is a proven concept to let students gain cross-functional knowledge and skills.
In addition to development and preparation of the toolbox environment and examples, a key point was a usability test which was used to find didactical errors of the toolbox, enhance easy accessibility and prepare it for future developments. Thus, the “net:force! Snippet Toolbox” has been subjected to a usability test with five students. The results made it possible to show that the “net:force! Snippet Toolbox” has high potential for future use in the context of higher education in ICT courses. The current state of the NST shows the way towards a universal toolbox when it comes to the topic of network programming.