This course covers the basic principles and practices of distributed computing over the Internet. The course is not intended to be a course on Web site development tools, but focuses on the Internet as a domain for sharing resources with Grids, distributed computing with Web services, and service-oriented computing. The Internet is increasingly used as a large interconnection network for deploying distributed applications to solve challenging problems in diverse areas. Application areas include Finance and E-business, Government Services, Scientific Computing and Grids, Bioinformatics, Physics, Remote Visualization, Remote Collaboration, Multimedia applications, and File Sharing. The Internet is pandemic to modern uses of technology. In this course you will learn the basic foundations of Internet computing and use modern frameworks to develop Internet-based applications with Web services, Grids, and other technologies.
There has been a significant increase in the demand for software engineers skilled in Internet computing technologies. The objective of this course is to review the state-of-the-art Internet computing technologies and practice with frameworks and implementations. Skills will be learned from hands-on projects related to the lecture topics listed in the topics list below.
Lectures and exams (60%) and laboratory projects (40%).
The following coursework components contribute to your final grade using the weights shown in the table below:
For homework and projects, you must include your name and last four digits of your SSN on each submitted item (electronic or on paper) as well as the name and last four digits of the SSN of your team member (for projects only). Note that copying program listings and homework pages from other persons (besides your team member on projects) is illegal and such abuse will not be tolerated. This includes dishonest practices such as programming-for-hire.
The project and homework assignments, when turned in before or at the due date before midnight will be graded. When turned in late, 10% will be deducted from the grade per day late until the homework has been received, with a maximum extension of five days.
The final exam will be comprehensive.
To receive a passing grade for the overall course, you must earn a passing grade on the final exam and a passing grade on the projects and receive a combined passing grade according to the weight distribution shown in the table above.
The letter grade distribution for the final combined grade score (after roundoff) is shown in the table below:
Your grades for projects, homework, and exams will be accessible via FSU's Blackboard.
You will need an account to log on to the Computer Science department machines. If you dont have one, visit the system info site: http://www.cs.fsu.edu/sysinfo/newstudent.html.
You will also need an ACNS account (i.e., @garnet.fsu.edu) for receiving class emails. If you want, you can forward your garnet email to other accounts (visit https://cars.acns.fsu.edu for more details).
The tentative schedule with PPT lecture notes is shown below (refresh this page if necessary). You are encouraged to download and print the notes as handouts to take to class. Links will be active when new notes have been added. The schedule will be updated when needed and significant changes will be announced on Blackboard.
Project and homework assignments should be downloaded by selecting the link in the "Assignments due" column. Submit your assignments electronically by email to the instructor or turn hard copies of homework in before class. Don't forget to write down your name and four last digits of your SSN.
|Date||Lecture notes||Reading material||Other useful resources||Assignments due|
|8/29||Internet Basics||1. The Physics of the Web
2. Are Web Services Scale-Free?
3. Rethinking the Design of the Internet
|Six Degrees of Separation||-|
|8/31||Advanced TCP/IP Programming (1)||-||1. TCP/IP Tutorial
2. Socket Programming with Java
|9/7||Advanced TCP/IP Programming (2)||-|
|9/14||HTTP||RFC2616 section 1 (rest is optional)||1. RFC2617
|9/26||TLS/SSL Security: principles||1. RFC2616 section 15
3. Network Security with OpenSSL (chapter 1 and 2)
|Network Security with OpenSSL||-|
|10/3||TLS/SSL Security: programming||-|
|10/5||XML||1. XML tutorial
2. XML Schema tutorial
|10/17||XML and SOAP Web Services||1. WSDL
2. WSDL tutorial
3. SOAP tutorial
|11/14||Grid and Cluster Computing||1. Grid computing intro
2. Concepts and architecture
4. Grid etc.
|1. Condor in LJ
2. Condor APIs
|11/23||Thanksgiving: no class||-||-||-|
|11/28||Grid and Cluster Computing||see above||-||Project2|
|11/30||Models||1. CSP wikipedia
2. CSP notes (chapter 1)
3. Linda for Java
4. Chapter on MPI (read 8.1-8.3)
5. Pi calculus FAQ
6. Pi calculus wikipedia
7. Applied pi: a brief tutorial (read 1.1 and 1.2)
|1. CSP book
|12/15||Final exam 3:00-5:00 PM||-||-||-|
Students with disabilities needing academic accommodations should: (1) register with and provide documentation to the Student Disability Resource Center, and (2) bring a letter to the instructor indicating the need for accommodations within the first week of class.
This syllabus and other class materials are available in alternative formats on request.
For more information about services available to FSU students with disabilities, please contact:
Student Disability Resource Center
08 Kellum Hall
Florida State University
Tallahassee, FL 32306-4066
Phone: (850) 644-9566
Copyright: Robert van Engelen, Florida State University, 2006.