Title: Announcements Sep 16, 2005
1Announcements (Sep 16, 2005)
- Projects
- Project 1 posted, due on October 2, 2005 500PM
- Create/activate your cereal account at
http//ilab.cs.rutgers.edu/newaccount.html. Email
help_at_ilab.cs.rutgers.edu for help. - Up to 3 students are allowed to work in a group
for the project - Midterm 1 is scheduled to be held on October 11,
2005
2Announcements (Sep 23, 2005)
- Further clarification about project 1 posted
- Midterm 1
- Scheduled on Oct 11, 2005 during class
- Covers up to network layer
- Sample questions will be posted during the
weekend
3Announcements (Sep 30, 2005)
- Midterm 1
- Scheduled on Oct 11, 2005 during class
- Request to attend makeup exams have to reach me
at least a week before the exam - Project 1
- Poll packet format
4Announcements (Oct 4, 2005)
- Project 2 posted
- Due on Nov 6, 2005 500 PM
5Announcements (Oct 7, 2005)
- Tentative schedule for project 3, midterm 2 and
final exams posted - Final (?)
- Dec 13, 2005 640 940 PM
- Dec 16, 2005 400 700 PM (make up)
- Modification on pipeline slides
6Announcements (Oct 14, 2005)
- Tentative schedule for final exams posted
- Dec 13, 2005 640 940 PM
- Dec 16, 2005 400 700 PM (make up)
- Code review session on project 1
- Will be held during lecture time on Oct 18, 2005
- Group members must be present to answer questions
- Schedule for review sequence will be posted online
7Midterm 1 Project 1 grades
- Midterm 1
- Min 24, Max 116, Avg 70.18, Median 72.5
- A 90,125, B 80,90), B 70,80), C
60,70), C 50,60), D 40,50), F 0,40) - Project 1
- Min 60, Max 100, Avg 90.64, Median 99.5
- A 90,100, B80,90), B70,80), C60,70)
8Project 1 code review summary
- Do arguments checking before using them
- String file args0
- int port Integer.parseInt(args1)
- if(args.length ! 2) System.out.println("Usage
\n") - Avoid unnecessary creation of objects
- target t new target25
-
- t g.getnetwork(file,port)
- public target getnetwork (String file, int
port)
9Project 1 code review summary
- Avoid unnecessary allocation of memory
- Dont just use MAX when u can figure out the
exact required size - Avoid unnecessary/excessive sub-functions
- Enter/leave another function level causes
overhead - Identify correct (most efficient) program logic
- Construct the reply RIP packet outside the
waiting loop once and for all - Make use of java package methods
- API http//java.sun.com/j2se/1.5.0/docs/api/
- java.lang, java.util, java.net, java.io
- Comment your code! Again, no excess
10int -gt byte4
- Normal int type could take up to 4 bytes. To
convert such a int value to byte array. We need
to shift the int 8 bits for 4 times and find out
the byte value for each 8 bits. - For our RIP metric, since the maximum value is
16. One byte is sufficient to represent this
value, so a simple way to do the conversion here
is to set the first 3 bytes to zero and use the
single byte value to fill the last bye (assuming
big endian).
11Reminder on project 2
- Correct the RIP poll packet checking
- It should contain only the 4 bytes header
- Dont wait till the last minute
- No late submission allowed
- For students cooperating across sections
- Note this down in all your submitted files
- Submit ONLY to ONE of the sections
12Announcements (Oct 21, 2005)
- Tentative schedule for final exams posted
- Dec 13, 2005 640 940 PM
- Dec 16, 2005 400 700 PM (make up)
13Announcements (Nov 11, 2005)
- Project 3 posted
- Midterm 2
- 8 questions (110 points)
- topics
- Error detection/correction, 1-d, 2-d parity, CRC
codes - Queuing/Traffic shaping - Leaky Bucket/Token
Bucket - MAC Layer protocols - Token Ring, x-persistent
CSMA, CSMA/CD, bitmap protocol, binary countdown - Ethernet
14Project 2 code review summary
- Use of threads
- Efficiency in the number of threads
- main, update, purge
- Efficiency in the scheduling of threads
- when to schedule purge threads can be exactly
calculated no need to enter a constant loop
15Project 2 code review summary
- Synchronization
- Why we need synchronization?
16Project 2 code review summary
- Concurrency in data structure itself
- ConcurrentModificationException
- thrown by methods that have detected concurrent
modification of an object UDP socket can and
should be reused. - Note that this exception does not always indicate
that an object has been concurrently modified by
a different thread. If a single thread issues a
sequence of method invocations that violates the
contract of an object, the object may throw this
exception. For example, if a thread modifies a
collection directly while it is iterating over
the collection with a fail-fast iterator, the
iterator will throw this exception
17Project 2 code review summary
- Local routing table is not necessarily the same
as what will be sent in the RIP packet. - Local table can contain a lot more fields to
assist local operation like stale entry purge. - Conversion from table to RIP packet is
essentially the same as project 1 except that
some care should be taken to implement the poison
reverse.
18Project 2 code review summary
- Time interval should be implemented by using
Timer - Counting does not directly map to seconds,
minutes !