skip to main content
10.1145/1047344.1047381acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article

Using SeSFJava in teaching introductory network courses

Published: 23 February 2005 Publication History

Abstract

Networking course projects are usually described by an informal specification and a collection of test cases. Students often misunderstand the specification or oversimplify it to fit just the test cases. Using formal methods eliminates these misunderstandings and allows the students to test their projects thoroughly, but at the expense of learning a new language. SeSF (Services and Systems Framework) is one way to overcome this obstacle. In SeSF, both implementations and services are defined by programs in conventional languages, thereby, eliminating the need to teach the students a new language. SeSF is a markup language that can be integrated with any conventional language. The integration of SeSF and Java is called SeSFJava. SeSFJava provides a technique to mechanically test whether student projects conform to their corresponding specifications, thereby, providing the instructors with a technique for semi-automated grading.We present a four-phase transport protocol project, and describe how SeSFJava is used in specifying, testing and grading the different phases of this project. The use of SeSF significantly (1) increased the percentage of students who completed the projects, (2) reduced their email queries about the specification, and (3) reduced the grading time.

References

[1]
T. Elsharnouby. Class homepage on computer networks (CMSC417) at University of Maryland, 2003. http://www.cs.umd.edu/class/spring2003/cmsc417/.
[2]
T. Elsharnouby and A. U. Shankar. SeSFJava: A framework for design and testing of concurrent systems. Technical Report CS-TR 4619, UMIACS-TR 2004-61, University of Maryland, 2004.
[3]
T. Elsharnouby and A. U. Shankar. SeSFJava harness: Service and assertion checking for protocol implementations. IEEE Journal on Selected Areas in Communucations, 2004.
[4]
S. S. Lam and A. Shankar. A theory of interfaces and modules I -- composition theorem. IEEE Transactions on Software Engineering, 20(1):55--71, January 1994.
[5]
N. Lynch and M. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the ACM Symposium on Principles of Distributed Computing, Vancouver, B.C., August 1987.
[6]
J. Misra. A Discipline of Multiprogramming. Springer-Verlag, 2001.
[7]
A. Roscoe. The Theory and Practice of Concurrency. Prentice Hall Series in Computer Science, 1998.
[8]
A. U. Shankar. Transport layer principles. published in The Communication Handbook, CRC Press, 1996.
[9]
A. U. Shankar. Concurrent Systems and Services: Design, Verification and Testing. in preparation, 2005.
[10]
Y. Yang. Class homepage on computer networks (CS433) at Yale University, 2003. http://zoo.cs.yale.edu/classes/cs433/assignments/prog1.

Cited By

View all
  • (2012)IntroductionDistributed Programming10.1007/978-1-4614-4881-5_1(1-39)Online publication date: 4-Aug-2012
  • (2010)Teaching simplified network protocolsProceedings of the 41st ACM technical symposium on Computer science education10.1145/1734263.1734313(143-147)Online publication date: 10-Mar-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education
February 2005
610 pages
ISBN:1581139977
DOI:10.1145/1047344
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 February 2005

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGCSE05
Sponsor:
SIGCSE05: Technical Symposium on Computer Science Education
February 23 - 27, 2005
Missouri, St. Louis, USA

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2012)IntroductionDistributed Programming10.1007/978-1-4614-4881-5_1(1-39)Online publication date: 4-Aug-2012
  • (2010)Teaching simplified network protocolsProceedings of the 41st ACM technical symposium on Computer science education10.1145/1734263.1734313(143-147)Online publication date: 10-Mar-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media