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: sshtrakov@abv.bg ◦ 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: ◦ CSCE515-001@lists.cse.sc.edu 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!