Portland, Oregon
June 12, 2005
June 12, 2005
June 15, 2005
2153-5965
9
10.389.1 - 10.389.9
10.18260/1-2--14651
https://peer.asee.org/14651
683
Session 3420
Data Compression and Data Integrity: Projects for Data Communication Courses
Sub Ramakrishnan, Mohammad B. Dadfar
Department of Computer Science Bowling Green State University Bowling Green, Ohio 43403 Phone: (419) 372-2337 Fax: (419) 372-8061 email: datacomm@cs.bgsu.edu
Abstract
This paper describes two software projects that are assigned in our undergraduate data communications course. The projects help students understand Lempel-Ziv algorithm and CRC generation of the OSI data link layer. The students write software to implement these two schemes. Students are particularly excited about implementing Lempel-Ziv because popular Unix utilities, such as compress, use a variant of this algorithm.
1. Introduction
Study of operating systems and data communications concepts is an important subject area for most undergraduate computer science programs. In our department we have offered a sophomore level mandatory course that introduces both of these concepts. Following this course, we have elective courses in operating systems and data communications. This paper deals with a project in the latter course.
The elective data communications course covers a range of topics including protocol architecture, client server communication and remote procedure calls, compression and encryption, multiplexing and transmission media. Where possible, hands-on programming projects are used to enhance the learning process and to gain additional insight into specific topics. A good number of text books address these topics1, 2, 3, 4. In the past few years we have used different textbooks including "Understanding Data Communications and Networks," by William Shay, Second Edition (1999). In this paper, we focus on projects that deal with two of the topics in the course, error checking in communications and data compression to provide for bandwidth efficiency.
The first project deals with computing CRC-16 (Cyclic Redundancy Check) in software. The generator polynomial and the payload message are both given as input. The software emulates a well-known hardware implementation so it is very fast. It is written as a client server program,
Proceedings of the 2005 American Society for Engineering Education Annual Conference & Exposition Copyright © 2005, American Society for Engineering Education
Ramakrishnan, S., & Dadfar, M. (2005, June), Data Compression And Data Integrity: Projects For Data Communication Courses Paper presented at 2005 Annual Conference, Portland, Oregon. 10.18260/1-2--14651
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: © 2005 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