Asee peer logo

Systems Projects For A Computer Science Course

Download Paper |


2003 Annual Conference


Nashville, Tennessee

Publication Date

June 22, 2003

Start Date

June 22, 2003

End Date

June 25, 2003



Conference Session

Real-Time and Embedded Systems

Page Count


Page Numbers

8.1049.1 - 8.1049.9

Permanent URL

Download Count


Request a correction

Paper Authors

author page

Sub Ramakrishnan

author page

Mohammad Dadfar

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Session 1620

Systems Projects for a Computer Science Course

Mohammad B. Dadfar, Sub Ramakrishnan

Department of Computer Science Bowling Green State University Bowling Green, Ohio 43403 Phone: (419)372-2337 Fax: (419)372-8061 email:


In this paper we discuss some practical and useful projects for our operating systems / data communications course. Most of our projects are assigned in a UNIX platform. The projects deal with a multiprogramming environment where there are several processes running concurrently. The operating systems projects use different methods for process synchronization and cooperation including message passing and the use of semaphores. We use different methods for establishing communications between processes, including bi-directional pipes. Other projects are concerned with data communications aspect of the course.

1. Introduction

Due to the increasing demand for people with expertise in the area of data communications and networks and the importance of operating systems concepts, our department decided to include a required undergraduate course that covers the fundamental issues in both areas (CS 327). We have been offering a course in each of these two areas for many years. However, none of these two courses are mandatory for our undergraduate students. Many students completed their undergraduate program without taking a course in operating systems or data communications. Since operating systems and computer networks can play an important role in understanding other computer science topics, we feel that students majoring in computer science should have at least one course in these areas. (The ACM/IEEE Computing Curricula 2001 also recommends this approach.)

Our course, CS 327, provides an introduction to both operating systems and networks. It is a one- semester long mandatory course designed for computer science students at the sophomore or junior level. Students wishing to know more of operating systems and/or networking concepts can take our more advanced courses. In CS 327, we cover introductory topics including process management, concurrent processes, process scheduling, protocol architecture, TCP/IP suite, brief overview of broadband services, client-server communication and web enabling applications.

Proceedings of the 2003 American Society for Engineering Education Annual Conference & Exposition Copyright ©© 2003, American Society for Engineering Education

Ramakrishnan, S., & Dadfar, M. (2003, June), Systems Projects For A Computer Science Course Paper presented at 2003 Annual Conference, Nashville, Tennessee.

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: © 2003 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