CSCE 515: Computer Network Programming

Download Report

Transcript CSCE 515: Computer Network Programming

DINANIC WEB PROGRAMMING
Stanko Shtrakov , Assos. Professor, d-r
Department of Computer Science and Technologies
South-West University of Blagoevgrad
Course Goal:

Understand the basic principles of computer networks
◦
◦
◦
◦
Network basic
Basic design principles in network protocols
Internet protocols
Wireless network protocols

Study the programming aspects of computer networks
◦ Socket programming
◦ Inter-process communication

Understand how network research is done
◦ How to determine what is important
◦ What are the trend
Administrative

Course website:
◦ http://www.renenergy2011.net/moodle





Announcements
Homework Assignments
Lecture Notes
Links to required/recommended readings
How to reach me:
◦ Email: [email protected]
◦ Office Hours: 9:30am-11:15am or by appointment
◦ Office: 1331, 1549

Prerequisites: Apache, PHP, Mysql
Textbook

Required:

Optional:
◦ Unix Network Programming,The Sockets Networking API,Volumes 1,
by W Richard Stevens, Bill Fenner, Andrew M. Rudoff, published
by Addison-Wesley (UNP)
◦ TCP/IP Illustrated Volumes 1, by W. Richard Stevens, published by
Addison-Wesley, 1994 (TI).
◦ Java Network Programming, by Merlin Hughes, Michael Shoffner,
Derek Hamner, Maria Winslow, Conrad Hughes, published
Manning Publications

Mailing list:
◦ [email protected]
CSCE515 – Computer Network
Programming – 2008 Fall
Tentative topics
OSI and TCP/IP Network models
 TCP/IP
 CGI and Perl
 Socket programming
 Web programming
 Other network programming

Grading

40% Computer Projects (3 – one in Perl, one in php, one in Java)

20% Midterm

40% Final: closed book, and comprehensive.

Grading scale:
 A
: 90 — 100
 B+
: 87 — 89
 B
: 80 — 86
 C+
: 77 — 79
 C
: 70 — 76
 D
: 60 — 69
 F <= 59
Homework & projects

Programming Environments
◦ Windows XP workstation lab.:
 Lab. 1331

All students should have an account on Computer
System and Technologies Department Windows
workstations

Submission should be via Moodle application

Make sure you understand how to submit.

Directions for submission will be posted on the
course home page with the first assignment.
Project grading




It is expected that everyone is familiar with programming
Comment your code!
Your code should be readable, structured!
25% of the grade depends on the quality of the code.
◦ Is the code easy to understand?
◦ Is it easy to make a small change of the functionality?
◦ Can code handle unexpected input, exceptions?

Programs must come with a makefile

Java programs must come with a shell script that starts them:
◦ Sets CLASSPATH to the right value
Project grading



25% of the grade depends on documentation
Documentations must contain:
◦ Your name and student number
◦ How to use your programs
◦ Which program does what, which parameters are needed,
screenshots
◦ A description of your program’s design
Documentations must not contain:
◦ Your code in words
◦ “After spending the whole weekend and today at my girlfriend’s
house trying to solve the exercises for the Network Programming
course which are due today, I must confess that I did not succeed
in solving them all”.
Grading

Horner code:
◦ All submitted work should be yours!
◦ NO sharing of code
◦ Do not copy code from Internet
◦ Discussion is encouraged
Email Policies

Make sure you put your course in the subject of the
message.

I may check my messages in time to help you make a
deadline, but this may not necessarily be the case.

Ask specific question instead of general question.
◦ Bad example: “I don’t know why it does not work?”
◦ In general, I will answer quick questions sooner than one that will
take a long time to answer

In general I will monitor and respond to email during office
hours, but in-person students will take precedence.
Your Best Strategy

Come to every lecture

Read articles related to network protocols and
network programming

Do not wait till last minute to prepare for exam or
work on project

Enjoy the fun!
Lectures need your help!

Ask questions

Make suggestions!

Read something interesting and relevant to this
course?

Announce it in class!