CENG 564/463 Network Programming

Home
Up

 

This page provides dynamic information and materials for the lecture, as it becomes available; please check it at least once in a week.

Lecture Announcements

  26-January-2004

bullet

You will present your projects on Tuesday, 27 January 2004. The time schedule is given below.

bullet

All team members or team representatives should present the projects in the lab.

bullet

You may need to find a good name for your project if you have not given one name yet.

bullet

Please re-read the Notes for Demonstrations and Project Reports section.

bullet

The grading for the project:
Survey Paper                                               20
Project Report                                             25
Submitted Code and Its Documentation     35
Demonstration                                             20

 

No Time Project Teams Projects
1 9:30 - 10:00 Melek Oktay
Ömer Doğan
  Developing a Bluetooth Application
M. Emin Işık
A. Volkan Gürel
Emrah Özdemir
  Java Based Wireless Applications Development and J2ME
2 10:30 - 11:00 Osman Şeker
Selman Göktaş
Yakup Emre Kucur
  Java and XML Based Network Applications
3 11:30 - 12:00 Esra Hallaç
Gülsüm Küçükakyüz
Esma Yıldırım
  Java Web Programming:Servlets/JSP
4 13:00 - 13:30 İsmail Alan
Suat Mercan
  RMI Based Distributed Applications
5 14:00 - 14:30 Necmi Göcek
Ender Koca
  Java-Based Web Services and SOAP
6 15:00 - 15:30 A. Reyhan Küçük
Sibel Küçüköner
  JINI
7 16:00 - 16:30 Adem Delibaş   Development of Design Patterns Based Distributed Applications


 
 10-January-2004

bullet

You are responsible for all the materials presented in class in the final exam.

bullet

There may be some questions about writing small code samples on network programming.

bullet

The final will be a closed book exam, but you can bring 1 page (A4) to the exam.

bullet

You can write anything you want to two sides of the page. You can not take a copy of your friend's hand written page.
 

   9-January-2004

bullet

The information about the final exam will be posted on Saturday, 10 January.

bullet

After the final exam all project teams are required to talk to me about your project progress in my office and in the computer lab if you have a partial working prototype to show me before the final demo.
 

   8-January-2004

bullet

The deadline for demonstration and submission of the final report and the project code and its documentation was postponed because of incompleteness of your projects and your other course works.

bullet

You can finish your project work until all project completeness requirements are finished within final weeks.

bullet

The current last deadline is 28 January 2004, Wednesday. But this deadline is subject to small changes, like it may be 22 January. It will be finalized soon.

bullet

Try to finish your project work and demo early, since the early finishers will get higher grades.
 

    Notes for Demonstrations

bullet

Before your final demo, you should have shown your project to me at least once and later submitted your project report.

bullet

You will get an appointment for your demo after you have submitted your Project Report.

bullet

You will show your network projects on real network platforms. For example, if your application needs a web server, you have to install a web server and deploy your application to the server. If your application needs mobile devices, like mobile phones, you should try to find these devices.

bullet

Network applications will not be run in the JBuilder and in their development and simulation environments.

bullet

After your real demo, we'll talk about the project details on the JBuilder project using your project reports.

    Notes for Project Reports

bullet

You can download the Project Report template from here.

bullet

Please try to read and follow all best practices and advices on good coding style, design and documentation given on Software Design and Documentation page.
 

  30-December-2003

bullet

Tomorrow (31-December 2003) you are required to talk to me about your project progress during the class hour in my office and in the computer lab if you have a partial working prototype to show me before the final demo.

bullet

Before the final demo, you should have shown the first version of your software and other work products to me.

bullet

The demo dates: 7, 8, and 9 January (Morning), 2003. These are final dates, no time extension!

bullet

The Javadoc style code documentation and strictly following java code conventions are required in your final documentation.

bullet

UML class diagrams must be also generated by using Together to show the static software architecture. The sequence, and activity diagrams for some important object interactions and activities are also needed for the dynamic model.

bullet

A short word document (Project Report) is also required for the final documentation.

bullet

I will write more about the final documentation this week.
 

   22-December-2003

bullet

The midterm exam is closed book and notes.

bullet

The sample questions for the exam are given here.
 

   3-December-2003

bullet

Important dates and deadlines:
12 December, Friday: Deadline for Survey Paper and Project Proposal
17 December, Wed.: Midterm Exam
19 December, Friday: Deadline for HW3
 

   16-November-2003

bullet

Some Internet sources for searching and finding papers related to this course are listed here.
 

   11-November-2003

bullet

Please look at the Project Page and read it and related two PDF documents on this page.

bullet

We will talk about your Survey Paper study and Project on Wednesday afternoon (12 November 2003), in the makeup lecture.
 

   5-November-2003

bullet

You were given the second homework assignment in the class today. It is due on 14 November 2003, Friday. The information about the assignment is in the lecture 4.

bullet

This is a 10-day and a 2-member group assignment! If you do this assignment by yourself as an individual homework, you may get an extra 10 points if you do a good job!

bullet

The information about the details of how and what you will submit will be announced by your assistant Nasif Ekiz in his web page. Please visit his page before you submit your assignment.

bullet

You have two programming assignments. The first one (HostLookup) is 25 points and the second one is 75 points.

bullet

The tentative weights of grading for programming assignments are calculated as follows:
Completeness    3
5
Correctness        35
Coding Style      
15
Documentation   1
5

bullet

For coding style and online code documentation, you should read at least Java Code Conventions document and Doug Lea's Java Coding Standard page. Look at my Software Design and Documentation page also. It has some minimum information about coding style and documentation.

bullet

Using javadoc style comments and javadoc utility to generate HTML files is a common way for java code documentation.

bullet

Your assistant may require a readme file which includes some instructions about how to execute your programs. This is also part of documentation.

bullet

On long programming assignments, you may include class, sequence diagrams of important activities and other UML diagrams in a word document, and also some explanations.

bullet

Using UML in documentation is also an extra point for some programming assignments. But to just generate class diagrams from your source files does not mean that you are using UML documentation.

bullet

Your implementation, modeling and documentation tools for this course: JBuilder 9, Together for JBuilder, and MySQL.

bullet

We have a makeup lecture next week on 12-November-2003, Wednesday Time: 14:00 - 17:00. The place will be announced in the morning. Remember we have also our regular class on that day in the morning.

bullet

I announced some preliminary information about your Survey Paper and Project in the class. I'll put more detailed information until Monday, 10-November-2003 on this course web page.
 

   8-October-2003

bullet

You were introduced to your first homework assignment in the class. You will solve a classical synchronization problem given in many operating systems books: Barbershop Problem. It is explained in the chapter 5 of your Operating Systems textbook (W. Stallings).

bullet

It is due on 20 October 2003, Monday. The information about what you will submit will be announced by your assistant Nasif Ekiz.

bullet

Nasif will post some requirements and comments for this assignment soon in his web page. I may be also adding some more information about this assignment later.

bullet

You can use the basic synchronization primitives supported by Java in your solution.
 

     Extra Credit (15 Points)

bullet

As I mentioned in the class there is an excellent book on Concurrent Programming in Java written by Doug Lea.

bullet

If you want to do some extra work to get an extra credit, you will use the concurrent package developed by Doug Lea. It may simplify your solution.

bullet

His package provides standardized, efficient versions of utility classes commonly encountered in concurrent Java programming. This code consists of implementations of ideas that have been around for ages, and is merely intended to save you the trouble of coding them.
 

     Academic integrity

bullet

This is definitely an individual assignment. A team work will not be tolerated. If a similar solution is found in assignments, those will get a 0 grade!

bullet

Always remember the academic integrity for this and other courses.

We will be very careful in grading the projects, homeworks, exams so that everybody gets the grade that he/she deserves. Copying will not be tolerated and will be checked and punished rigorously.

The Fatih University has a very strict policy on academic dishonesty. All work on homeworks and examinations must be strictly individual. Violations of this policy will result in an F grade for the class and may result in suspension/expulsion from the university.

If you cheat, you hurt yourself and your personal integrity !
 

   24-September-2003

bullet

Welcome to CENG 564/463 Network Programming! This course teaches how to design and implement network programs, protocols and systems for distributed systems under TCP/IP using the Java programming language.

Course Materials    (Lecture Slides, Readings, Programs, Technical Documents)

Lecture Slides

bullet

Purpose: To allow better concentration in lecture by reducing note-taking pressure and to provide a study-aid before (unfortunately not this year) and after lecture.

bullet

Disclaimers: (a) I may not follow these slides exactly in class. (b) Students are responsible for what I say in class. (c) Reading these slides is not a substitute for attending lecture.
 

 Date Material Topic(s) Covered
 24/9  Lecture 1 Course Overview Introduction to Distributed Systems, Applications and Network Programming Communication Models of Network Applications: Course Overview, Introduction to Distributed Systems, Applications and Network Programming Communication Models of Network Applications.
 8/10  Lecture 2 Concurrency and Concurrent Programming in Java: What is a Thread, Multiprocessing and Multithreading, Thread Structure and Thread Creation, The Life Cycle of a Thread: Thread States, Thread Scheduling and Priority, Multithreaded Programs and Synchronizing Threads, Basic Synchronization Strategies, Extending the Threading Model, Producer-Consumer Problem, Deadlock Problem.
 15/10  Lecture 3 Building Blocks of Networking: I/O Streams: Stream Basics, Stream Types, Byte and Character Streams, I/O Exceptions, Data Sink Streams, Data Processing Streams, Object Streams and Object Serialization.
 5/10  Lecture 4 Introduction to Java Net Package (java.net) and Network Programming with High Level Classes: Introduction to Java Net (java.net) Package, InetAddress Class, URL Class, Communication Using, URLConnection, JavaMail API.
 12/11  Lecture 5 TCP Socket Programming: Introduction, Socket Class, ServerSocket Class, Iterative Connection-Oriented Client/Server Applications, Concurrent Connection-Oriented Client/Server Applications, A Chat Program Example.
 12/11  Lecture 6 UDP Socket Programming: UDP Protocol and UDP Datagram, UDP and TCP Comparison, Java UDP Support, UDP Based Client/Server Design, UDP Application Samples.
 19/11 
   3/12
 Lecture 7
 RMISamples
Introduction to Distributed Computing: Remote Method Invocation (RMI): Introduction to Distributed Computing, RMI System Architecture, Developing an RMI Application, RMI Architectural Details, Parameters in RMI, Building a Generic Compute Engine, Dynamic Class Loading, Creating a Peer-to-Peer RMI Application, A 3-tier RMI-JDBC Application
 10/12  Lecture 8
 
An Overview of Enterprise Applications Development Using J2EE Platform: Distributed Multitiered Applications, J2EE Platform Architecture, Enterprise JavaBeans (EJBs) Overview, J2EE Platform Software Development Kit (J2EE 1.4 SDK), J2EE vs. .NET.
 J2EE Tutorial The J2EE 1.4 Tutorial, Sun Microsystems, November 16, 2003. (9.8 MB)
 Essential J2EE Essential Java2 Enterprise Edition, Student Manual, DevelopMentor Inc. 2001. (2.6 M)
  Marty Hall's Slides Java Web Programming: Servlets and JSP, and Deitel Advanced Java 2 Platform How to Program, Chapters 9, 10, 11.

 

Readings

 
 Date Reading  

 

References

bullet

........

 

 

Home | CENG 564/463 Network Programming | CENG 564/463 Design Project

This site was last updated 09/06/13