Pittsburgh, Pennsylvania
June 22, 2008
June 22, 2008
June 25, 2008
2153-5965
Information Systems
8
13.925.1 - 13.925.8
10.18260/1-2--4468
https://peer.asee.org/4468
382
MOHAMMAD B. DADFAR
Mohammad B. Dadfar is an Associate Professor in the Computer Science Department at Bowling Green State University. His research interests include Computer Extension and Analysis of Perturbation Series, Scheduling Algorithms, and Computers in Education. He currently teaches undergraduate and graduate courses in data communications, operating systems, and computer algorithms. He is a member of ACM and ASEE.
Network Processes Communication: A System Project for Students
Mohammad B. Dadfar, Ray Kresman
Department of Computer Science Bowling Green State University Bowling Green, Ohio 43403 Phone: (419)372-2337 Fax: (419)372-8061 email: {dadfar, rama}@cs.bgsu.edu
Abstract
In this paper we discuss two projects dealing with communication between network processes. They are assigned in our undergraduate data communications course. The implementation language is C/C++ and the platform is Unix. We introduce a project where students create processes using Unix utilities such as fork that includes different levels of processes such as parent, children, and sibling processes. We also describe a practical client-server application students are already familiar with.
1. Introduction
Data communications and networking courses have been among the most popular courses in computer science departments during the past two decades. Most students try to complete at least one course in this area. Instructors assign different types of projects for their data communications and networking courses1, 2. In our department we have offered a sophomore level mandatory course (Operating Systems and Networks) that introduces both operating systems and data communications concepts. Following this course, we have elective courses in each of operating systems and data communications. A variety of topics including protocol architecture, transmission technologies, data compression, data integrity, flow control, client server communication and remote procedure calls are covered in the data communications course. There are several text books that address these topics3, 4, 5.
We consider practical projects as a main component of this course. Hands-on programming projects are used to enhance the learning process and to gain additional insight into specific topics. The projects are implemented in C/C++. However, they are applicable to other programming languages as well.
We start with simple projects where students create child processes using Unix utilities including fork statement. There are different levels of processes such as parent, children, sibling, and grand children processes. The communication between the parent-child and sibling processes would be interesting, and at the same time challenging for some students.
Dadfar, M. (2008, June), Network Processes Communication: Class Projects Paper presented at 2008 Annual Conference & Exposition, Pittsburgh, Pennsylvania. 10.18260/1-2--4468
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2008 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015