Istanbul Bilgi University Department of Computer Science
Previous Home > Courses > Year 3 > Comp 322 Next
Home
   About This Site
   Academic Policies
   Academic Staff
   Acm-istanbul
   Courses
      Course Descriptions
      Year 0
      Year 1
      Year 2
      Year 3
         Comp 303
         Comp 304
         Comp 305
         Comp 306
         Comp 313
         Comp 314
         Comp 321
         Comp 322
            Archive
            Examples
         Comp 331
         Comp 332
         Comp 371
         Comp 381
         Comp 382
         Comp 392
         Comp 397
         Comp 398
         Mis 302
      Year 4
   Curiosity Corner
   High School Computer Clubs Project
   Lab Rules
   Links
   Member Help
   News
   Other Stuff
   Standards Project
   Tanitim
   Turing Days
   Usage Statistics
   Yarışma

COMP 322 - Computer Networks Programming

Istanbul Bilgi University, Department of Computer Science, 2007-2008 Spring

Description

The connection of computers in networks, whether local or global, has added a new dimension to the power of computers. This course aims to introduce students to the standards that make this power possible, the theoretical concepts needed to understand it, and approaches for designing networked systems. Practical element of the course involves writing programs that use the various protocol stacks to carry out network computing tasks. Subjects covered include layered network architecture, network topologies, connectivity and delay analysis, backbone protocols and equipment for transmission and multiplexing of data, routing and congestion, wireless networks, local networks, and peer-to-peer networks.

Good command of Java language and concurrency is strongly recommended for the programming applications of the course.

Course Information

Course website: http://cs.bilgi.edu.tr/pages/courses/year_/comp_322/
Instructor: Mehmet Gençer : http://cs.bilgi.edu.tr/~mgencer

There are two mailing lists for the course: comp-322-announce is used for announcement of assignments and deadlines by the lecturers, and comp-322-discuss is available for course related discussions. The mailing lists can be accessed at http://cs.bilgi.edu.tr/mailman/listinfo/.
Online submission system will be used for submitting project assignments, which can be accessed from department website.

Objectives

On successful completion of this course, the student should be able to:

  • Demonstrate a robust understanding of digital data transmission, packet switching, and the Internet protocol stack.
  • Understand security issues in Internet communication, make informed choices about security measures and apply them using common security tools.
  • Understand differences of connectionless and connection-oriented communication and make informed choices for application scenarios.
  • Implement concurrent network applications using connectionless and connection-oriented infrastructure.
  • Describe and utilize encryption and hashing techniques.
  • Implement client/server systems using distirbuted programming techniques.
  • Demonstrate an firm understanding of network topologies and their consequences.

Resources

The first of the following texts provides the most complete coverage of course subjects, however students are recommended to refer to various texts, including but not limited to following:

  • Data and Computer Communications (seventh edition). William Stallings. Prentice Hall, 2004. There is a book website at http://williamstallings.com/DCC/DCC7e.html.
  • Java network programming, Elliotte Rusty Harold, 2000. (electronic resource available at Bilgi library)

Assessment

Evaluation of student performance will be based on performance in project assignments and self-evaluation.

1  Tentative outline

  1. Generalized communication models. Digital vs analog data. Circuit and packet switching. Assembling streams from packets. Generic issues in digital communication systems.
  2. The layered network protocol stack. Physical and data layers. Local area network equipment and network topologies.
  3. The network layer: IP protocol, routing and backbone network technologies. IP addresses and access points. Domain Name Service. DHCP service. Network address translation. IP level security and virtual private networks.
  4. The transport layer: UDP and TCP protocols. DNS revisited. The inetd server. Firewalls.
  5. Stream formatting and application layer. Common application layer protocols and programming.
  6. Transport layer security. SSL and certificates.
  7. Concurrency and performance in network services.
  8. Multicast technology.
  9. XML-RPC programming.
  10. Emerging network topologies: ad-hoc networks and peer-to-peer networks.
  11. Beyond Java and Internet: emerging technologies for highly parallel computing systems.

This document was translated from LATEX by HEVEA.