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!