A Hybrid Computer Network Course for IS and CS Majors( Randy K. Smith1 Guillermo Francia, III2 Department of Mathematical, Computing and Information Sciences Jacksonville State University 700 Pelham Road North Jacksonville, AL 36265 Abstract The rapid changes and assimilation of computer networks into the business world have placed new demands on the traditional computer networks course. The volume of material is ever increasing yet the practical, theoretical issues are still very important. This paper discusses a Computer Networks course that attempts to blend the traditional, technical aspects of a CS course with the business and information emphasis of a traditional IS course. The course is supported by a heterogeneous networking laboratory providing the students with hands-on opportunities and activities. Keywords: computer networks, information systems curriculum 1. 1. INTRODUCTION Changes in the computer industry are expected, required and most often embraced. The changes brought about by the Internet, the World Wide Web and network-centric computing have been both "evolutionary" and "revolutionary" in the industry [8]. Reflecting this hyper-dynamic environment, the Computer Network and Telecommunications course has changed greatly in the past five years. Appendix A gives relevant curricula material and illustrates the evolving and dynamic nature of the computer networks course. The curricula covered include Computing Curriculum 1991 (Tucker 1991), IS '97 (Davis 1997) and Computing Curriculum 2001(IEEE Computing Society 2000). The changes in curriculums highlight expanding content and diminished technical requirements. These changes were required by the proliferation of the Internet, the World Wide Web and the associated protocols. The computer networks course is currently experiencing a settling and yet a disruptive transition following the events of the past several years. In terms of a settling effect, TCP and IP are de facto protocols (Cassel 2000; Comer 1999; Goldman 2000; IEEE Computer Society 2000, Liang 2000), HTML and Java are no longer considered fads but recommended content [Cooper 2000; IEEE Computer Society 2000; Lim 1998), Ethernet and its derivatives have stabilized local area networks (Comer 1999; Goldman 1999, 2000), and the client/server paradigm has matured (Comer 1999; Cooper 2000; Goldman 1999; Kurose 2000). In terms of disruptive effects, the traditional seven-layer OSI model is morphing into a five-layer model (Cassel 2000; Comer 1999; Kurose 2000; Testerman 1999), the traditional "bottom-up" approach is being challenged (Cassel 2000; Kurose 2000), and abstraction is moving farther from the physical system (IEEE Computer Society 2000). This necessary change in the computer networks course has increased pressure on the resources of academic departments and places a premium on the content of the computer networks course (Lankewicz 1998; Tis 2000). This paper describes a computer networks course and associated laboratory that attempts to maximize locally available resources to deliver a comprehensive course simultaneously to Computer Science and Information Science students. In IS '97, while stressing the differences in the needs of Information Systems and Computer Science programs, the authors recognize "they both require a common subset of technical knowledge." (Davis 1997, page 7) Building on this common subset of knowledge, the course attempts to build a synergy between the two groups of students as they explore the specialties of each discipline. The remainder of this paper describes the course, projects and associated laboratory. 2. THE COURSE Our program awards a Bachelor of Science in Computer Science to students who choose between three concentrations. The three concentrations are Information Systems, Software Engineering and Computations. The Computer Networking course is a three-semester hour, senior level, core course required by all Computer Science majors. The course is generally offered three times a year and has a maximum enrollment of thirty students per offering. The course utilizes a combination of lecture and closed laboratories. Students work in teams during the labs and other assignments. Students are assumed to be proficient in a high-level programming language and, more importantly, capable of adapting to a new language quickly with very little instruction. A particular language is not required for any project in the course. Of course some things may be more easily accomplished in one language as opposed to another. This fact is stressed to the students and all examples are given in Java. The course utilizes several components to meet its far-reaching goals. The first component is a standard lecture format, which discusses basic telecommunications and then follows a traditional bottom-up approach to computer networks. The lecture emphasizes theory and is closely tied to the text [2]. The second and newest component to the course is a closed laboratory providing students the opportunity for hands-on experience with specific technologies. Fall semester 2000 provides the first opportunity to incorporate this component into the course through a grant with NSF (Francia 2000). The scheduled activities include: TCP/IP Protocol * Analyzing network packets * Compare non-packet and packet-switched technologies * Use ARP * Use IPConfig * Use Netstat * Implement Dijkstra's routing algorithm Fast Ethernet LAN * Installing and Testing 10/100 adapters * Installing and configuring drivers * Making and Testing UTP cables * Reconfiguring a traditional Ethernet to partial Fast Ethernet * Reconfiguring a traditional Ethernet to full Fast Ethernet * Network Testing with LAN analyzer * Installing mixed speed switches * Benchmarking a Fast Ethernet network ATM LAN * Installing and Testing ATM network adapters * Installing and configuring ATM network drivers * Benchmarking an ATM network * Network Testing with LAN analyzer * Integrating ATM with Ethernet/Fast Ethernet FDDI LAN * Installing and testing the FDDI kit and network adapters * Installing and configuring FDDI network drivers * Benchmarking an FDDI network * Network Testing with LAN analyzer * Integrating FDDI with Ethernet/Fast Ethernet The third component of the course is out of class assignments. The out of class assignments are intended to expose the students to specifics in their particular discipline, CS or IS, and to highlight the interdependencies of each discipline. The students work in cross discipline teams. Example activities include: * Prepare a case study of a LAN analysis. * Given code for a server, develop a client. * Given a specification, develop a server. * Writing a connectionless client for the TFTP service. * Writing an asynchronous message-based Windows client. * Developing an application protocol. * Develop and implement a client and a server. * Explore client/server applications using Telnet. 3. THE LABORATORY It is difficult to provide students with hands-on experience, especially using hardware, in a traditional academic computer lab. These labs are normally used for closed instruction, programming assignments, and general student use. To support the computer networks course and other systems type courses, the authors were recently awarded an NSF contract to develop a Versatile Networking Laboratory (Francia 2000). The design of the versatile computer-networking laboratory was predicated on the following notions: * to provide students a hands-on experience in installing and managing an advanced heterogeneous computer network, * to establish a pedagogical computer network system that is scalable and adaptable to new networking technology, * to be able to conduct research on a controlled networking environment * to be able to apply and/or simulate theoretical networking concepts. The lab consists of five (5) computers from previously completed grants which were used as nodes in the networking laboratory. These computers are multimedia ready and, together with a Sun Enterprise 250 server, provide the necessary computing power to simulate simultaneous heavy network traffic of distributed multimedia, intranet web communication, and internet access. Two of these computers are running under Linux, the other two under Windows NT/2000, the fifth computer is running Novell Netware. The Department has several SGI O2 workstations that are attached to the versatile network to simulate heterogeneous networking scenarios (Francia 2000). The Sun Microsystem Enterprise 250 multimedia server system was selected over the other Unix-based systems due to its well-documented scalability to symmetric multiprocessing, adaptability to present and emerging network architectures, and most importantly, its reliability and serviceability. The Enterprise 250 system acts as the dedicated web server for the entire network where all notes, laboratory manuals, and activity assignments reside. 10/100 Ethernet cards and a switch are used for those activities that require the standard and fast Ethernet network configuration. ATM cards and an OC-3 switch module are used in a similar manner but with the ATM configuration. Appropriate SNMP/Rmon management software is employed to monitor the network performance and activity closely and efficiently (Francia 2000). 4. CONCLUSION AND FUTURE WORK Rapid changes in the computer industry and resulting modifications to curriculum are standard practice. These changes place increased demands on departmental resources to offer new content without deleting content, without increasing required credit hours, and without increasing teaching loads. One course that has been particularly turbulent is the Computer Networks course. This paper outlines a hybrid Computer Networks course that attempts to meet the demands of both the IS and CS students. The course strives to meet the demands through a combination of closed laboratories, cross-discipline team assignments and a blend of technical content as well as business oriented content. The course is supported by a versatile networking that allows the students direct hands-on experience. The activities are designed and structured to provide practical experience while illustrating theory and research areas. The application of computer networking is growing tremendously. Students and industry are clamoring for network courses with more hands-on experience. The versatile laboratory and the associated activities outlined in this paper represent an ongoing effort to meet these needs. 5. REFERENCES Cassel, L., and R. Austing, 2000, Computer Networks and Open Systems An Application Development Perspective, Jones and Bartlett Publishers, Massachusetts. Comer, D., 1999, Computer Networks and Internets, Prentice Hall, New Jersey. Cooper, P., 2000, "Building Client-Server Systems: Exercises in Network Communications." The Journal of Computing in Small Colleges, Proceedings of the Eleventh Annual CCSC South Central Conference, Corpus Christi, TX, April 14-15, pp. 77-84. Davis, G. and J. Gorgone, J. Couger, D. Fienstein, H. Logenecker, 1997, "IS '97 Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems." Association of Information Technology Professionals, http://www.acm.org/education/curricula.html. Francia, G., and R. Smith, 2000, "The Design and Implementation of a Heterogeneous Computer Networking Laboratory." Journal of Computing in Small Colleges, accepted for November 2000. Goldman, J., and P. Rawles, J. Mariga, 1999, Client/Server Information Systems A Business-Oriented Approach, John Wiley and Sons, New York. Goldman, J. and P. Rawles, 2000, Local Area Networks A Business-Oriented Approach, John Wiley and Sons, New York. IEEE Computer Society, Association of Computing Machinery, 2000, "Computing Curricula 2001." http://www.computer.org/education/cc2001/ Kurose, J., and K. Ross, 2000, Computer Networking A Top-Down Approach Featuring the Internet, Addison-Wesley, New York. Lankewicz, L., 1998, "Resources for Teaching Computer Networks." SIGCSE Bulletin, The Proceedings of the Twenty-ninth SIGCSE Technical Symposium on Computer Science Education, vol. 30, no. 1, February 25 - March 1, pp. 112-116. Liang, C., 2000, "A Course on TCP/IP Networking with Linux." The Journal of Computing in Small Colleges, Proceedings of the Fifth Annual CCSC Northeastern Conference, Mahwah, NJ, April 28-29, pp. 256-264. Lim, B., 1998, "Teaching Web Development Technologies in CS/IS Curricula." SIGCSE Bulletin, The Proceedings of the Twenty-ninth SIGCSE Technical Symposium on Computer Science Education, vol. 30, no. 1, February 25-March 1, pp. 107-111. Testerman, W., 1999, "Using the OSI model to teach telecommunications." Proceedings ISECON '99, Chicago, IL, October 14-17, pp. 159-163. Tis, B., 2000, "Building an Intranet in the Laboratory." The Journal of Computing in Small Colleges, Proceedings of the Fifth Annual CCSC Northeastern Conference, Mahwah, NJ, April 28-29, pp. 247-255. Tucker, A., et al, 1991, "Computing Curricula 1991 Report of the ACM/IEEE-CS Joint Curriculum Task Force." Association of Computing Machinery, http://www.acm.org/education/curr91/ 6. APPENDIX A Computing Curricula 1991, Common Requirements (Tucker 1991) OS9: Communications and Networking ISO layers. TCP/IP Internet Protocol Suite. Logical connections and services. Datagram vs. connections. Internetworking and routing. Recurring Concepts: binding, complexity of large problems, conceptual and formal models, consistency and completeness, levels of abstraction, ordering in time, security, trade-offs and consequences. Lecture Topics: (three hours minimum) 1. Protocol suites 2. Streams and datagrams 3. Internetworking and routing 4. Servers, services Computing Curricula 1991, Advanced/Supplemental Material (Tucker 1991) Computer Communication Networks Topic Summary: This topic gives students a foundation in the study of computer networks. Current methods and practices in the use of computer networks to enable communication are covered. Also covered are the physical and architectural elements and information layers of a communication network, along with diagnostic, design, operational, and performance measurement tools that are used to implement, operate, and tune such a network. Different network architectures are contrasted, and compared with traditional mainframe and time-shared computer models. Important subtopics include network architecture and communication protocols, network elements, data link, switching and routing, end-to-end protocols, LANs, and data security. Suggested Laboratories: Case studies of existing network architectures and protocols (e.g., Ethernet, Wangnet, and FDDI) provide valuable laboratory work. Hardware communication devices and performance measurement tools should also be used in directed laboratory exercises. IS '97 Model Curriculum (Davis 1997) SCOPE This course provides an in-depth knowledge of data communications and networking requirements including networking and telecommunications technologies, hardware, and software. Emphasis is upon the analysis and design of networking applications in organizations. Management of telecommunications networks, cost-benefit analysis, and evaluation of connectivity options are also covered. Students learn to evaluate, select, and implement different communication options within an organization. TOPICS Telecommunication devices, media, systems; network hardware and software; network configuration; network applications; coding of data; cost/benefit analysis; distributed versus centralized systems; architectures, topologies and protocols; installation and operation of bridges, routers and gateways; network performance analysis; privacy, security, reliability; installation and configuration of LAN and WAN networks; monitoring of networks; management of telecommunications, and communications standards. Computing Curricula 2001 (IEEE Computer Society 2000) NC. Net-Centric Computing (15 core hours) NC1. Introduction to net-centric computing (core -- 9 hours) Background and history of the Internet, The architecture of the Internet, The five-layer reference model (physical, data link, network, transport, application), Host name resolution and the Domain Name Service, Public-key cryptography and digital certificates, Distributed computing, Networked multimedia systems NC2. The web as an example of client-server computing (core -- 6 hours) Introduction to client-server programming, Designing clients and servers, Introduction to the technologies of the web (URLs, HTML, HTTP, applets, etc.) NC3. Building web applications JavaScript and other client-side programming within a web browser, CGI and other server-side programming with web-based application servers NC4. Communication and networking Protocol suites, Streams and datagrams, Client-server communication and group communication, Remote procedure calls, Internetworking and routing NC5. Distributed object systems Serializing objects, Persistent objects, Remote procedure calls, Distributed object frameworks, Java's distributed object framework (JavaBeans, Java RMI, and JINI), COM and DCOM as distributed object framework, CORBA and IDL, Lightweight distributed objects with XML, Security issues in distributed object systems NC6. Collaboration technology and groupware Audio/video interpersonal applications, Shared workspace for computer-supported collaborative work, Audio/video distribution, Audio/videoconferencing, Multimedia document transfer, Multimedia server-based applications, Virtual reality, Emerging topics in CSCW NC7. Distributed operating systems Distributed processes and threads, Distributed file systems, Name services, Time, synchronization and coordination, Replication, Concurrency control, Shared and distributed transactions, Distributed shared memory NC8. Distributed systems Characterization of distributed systems, Partition and allocation of distributed tasks, Load balancing of distributed systems, Modeling and analysis of distributed systems, Distributed languages, Fault tolerance and recovery, Security issues of distributed systems ( Portions of this work funded by NSF Grant award #9950946 1 rksmith@jsucc.jsu.edu 2 gfrancia@cs.jsu.edu