Presentation is loading. Please wait.

Presentation is loading. Please wait.

240-322 Cli/Serv.: Prelim/01 Client/Server Distributed Systems v Lecturer:Dr. Andrew Davison Info. Eng. Research Lab (rm 101)

Similar presentations


Presentation on theme: "240-322 Cli/Serv.: Prelim/01 Client/Server Distributed Systems v Lecturer:Dr. Andrew Davison Info. Eng. Research Lab (rm 101)"— Presentation transcript:

1 240-322 Cli/Serv.: Prelim/01 Client/Server Distributed Systems v Lecturer:Dr. Andrew Davison ad@fivedots.coe.psu.ac.th Info. Eng. Research Lab (rm 101) v Objective –to give some background on this course 240-322, Semester 1, 2005-2006 0. Preliminaries Please ask questions

2 240-322 Cli/Serv.: Prelim/02 Overview 1. Outline of the Course 2. Meeting Times / Locations 3. Workload 4. Course Materials 5. Reading Materials

3 240-322 Cli/Serv.: Prelim/03 1. Outline of the Course v An overview of client/server and distribution models. v An emphasis on programming. v Examples will use C+UNIX and Java.

4 240-322 Cli/Serv.: Prelim/04 Details (subject to change) v The course is divided into three parts. 1. Client/Server & Distribution Models –client/server models –distributed programming concepts –peer-to-peer continued

5 240-322 Cli/Serv.: Prelim/05 2. C+UNIX Network Programming –low-level file I/O –processes –networking overview u e.g. ISO, TCP, UDP –sockets programming u TCP iterative/concurrent servers, TCP clients u processor farms u UDP clients and servers –RPCs continued

6 240-322 Cli/Serv.: Prelim/06 3. Java Network Programming –basic network programming u e.g. sockets, Web page retrieval –different styles of client/server programming based around a network chat example –overviews of RMI, CORBA, J2EE, Web Services, JXTA I assume you know basic Java.

7 240-322 Cli/Serv.: Prelim/07 Prerequisites v Be able to program in C under UNIX –many network functions use pointers to structs –you will not have to create pointer-based data structures like linked lists or trees; but you might have to be able to read code that uses such things –required UNIX skill level: create directories, files, compilation –passing 240-204 CPT is enough continued

8 240-322 Cli/Serv.: Prelim/08 v Be able to program in Java –I assume you know about classes, objects, Swing, threads, etc. –the material covered in 240-321 "Advanced CPT (Java)"

9 240-322 Cli/Serv.: Prelim/09 2. Meeting Times / Locations v Tuesday15 -- 15.50R200 v Wednesday10 -- 10.50R201 v Friday10 -- 10.50R200 v These times can change, if you ask me.

10 240-322 Cli/Serv.: Prelim/010 3. Workload (% of total score) v Mid-term exam:35% –during week 9, 2 hours v Final exam:45% –during weeks 18-19; 3 hours v Project:20% –C, UNIX, sockets –2 weeks, weeks 15-16

11 240-322 Cli/Serv.: Prelim/011 Non-Attendence Penalty v I may take registration at the start of a class. v If someone is not there, they lose 1% (unless they have a good excuse). v A maximum of 10% can be lost –deducted from final mark

12 240-322 Cli/Serv.: Prelim/012 4. Course Materials v I will hand out one copy of my slides –you should make copies of them v Online materials: http://fivedots.coe.psu.ac.th/ Software.coe/Cliserv/ u includes these slides, code examples (C and Java) v Do not use the VCR, the material is not yet finished.

13 240-322 Cli/Serv.: Prelim/013 5. Reading Materials v The main texts used in my notes are: –Client/Server Architecture Alex Berson McGraw Hill, 1996, 2nd ed. –Copies of the relevant chapters will be handed out, and you'll be expected to read them!

14 240-322 Cli/Serv.: Prelim/014 –UNIX Distributed Programming Chris Brown Prentice Hall, 1994 u I have a copy, and there's a copy in the PSU library –Practical UNIX Programming Robbins and Robbins Prentice Hall 1996 u there's a copy in our library (and I have one)

15 240-322 Cli/Serv.: Prelim/015 v Two UNIX programming ‘bibles’: –UNIX Network Programming: Networking APIs: Sockets and XTI, Vol 1 W. Richard Stevens Prentice Hall, 1998 (2nd ed.) –UNIX Network Programming: Interprocess Communication, Vol 2 W. Richard Stevens Prentice Hall, 1999 (2nd ed.) Very advanced, but the best sources. There are copies in our library.

16 240-322 Cli/Serv.: Prelim/016 Good Java Books (in our library) v v Thinking in Java Bruce Eckel, Prentice Hall, 2003, 3rd ed. – (it is misnamed as "Think in Java") –can be downloaded from http://java.coe.psu.ac.th/ FreeOnline.html (it is misnamed as "Think in Java") v Beginning Java 2 Ivor Horton, Wrox Press, 1999

17 240-322 Cli/Serv.: Prelim/017 v The standard (hard) introduction: –Core Java 1.2., Vol. 1 -- Fundamentals Cay S. Horstmann and Gary Cornell Sun Microsystems Press Prentice Hall, 1999

18 240-322 Cli/Serv.: Prelim/018 v A good beginner's Java book: Java: How to Program H.M. Deitel & P.J. Deitel (called D&D) Prentice Hall, 2003 (5th ed.) Web page: http://www.deitel.com v There are a lot of editions of this book –the 4th, 5th, or 6th editions are fine –later is better continued

19 240-322 Cli/Serv.: Prelim/019  An electronic version is at Aj. Somchai's CoE Java site: http://java.coe.psu.ac.th/ ForMember/Books.html#J2SE v The CoE Java site has many Java books available for download in the "members" area.

20 240-322 Cli/Serv.: Prelim/020  Killer Game Programming in Java http://fivedots.coe.psu.ac.th/~ad/jg/ –I'll be using the online chapters 29 and 30 for most of the Java network code examples

21 240-322 Cli/Serv.: Prelim/021 Reading Assignments v I will be asking you to read chapters from Berson –I will not go through all the material in class –reading assignments are examinable, so do them


Download ppt "240-322 Cli/Serv.: Prelim/01 Client/Server Distributed Systems v Lecturer:Dr. Andrew Davison Info. Eng. Research Lab (rm 101)"

Similar presentations


Ads by Google