159.339 Paper Coordinator: Dr. Napoleon H. Reyes, Ph.D. Computer Science Internet Programming Institute of Information and Mathematical Sciences Rm. 2.38 QA, or IIMS Lab 1.10, Albany Campus email: n.h.reyes@massey.ac.nz Tel. No.: 64 9 4140800 x 9512 or 41572 Fax No.: 64 9 441 8181 159.339 Lectures: Monday 9:00 am 1:00hr AT7 Thursday 3:00 pm 2:00hrs AT5 Lectures/Tutorials Consultation Hours: Immediately after lectures Tutorial: Tutor: Friday 11:00 am 1:00hr CL QB5 Gareth Stretton 159.339 Pre-requisites Course Overview Learning Outcomes Discussion TextsTopics and Coursefor Material Assessment Course Schedule Pre-requisites Programming experience of some sort (C, Java), in this course we will use mainly PHP Knowledge of OO approach is useful, but not essential (as covered in 159.234) 159.339 159.339 Note: If a student cannot attend lectures/tutorials it is the student’s responsibility to find out what was discussed in lectures / tutorials (possible changes to assignments, questions & answers). Student Responsibility 159.339 Main text book Dynamic Web Application Development using PHP and MySQL by Simon Stobart & David Parsons Texts and Course Material Other References http://www.w3schools.com http://massey.ac.nz/~nhreyes/159339.htm 159.339 • Working definition. Programming to: – Access and deliver data across the Internet – Enable functionality distributed across the What is Internet Programming? Internet • This is a computer science course on Internet programming Topics Covered 159.339 Foundations – What is Internet programming, Internet protocols, history, concept of the Web, hypertext, http, URL. Client-side technologies – HTML, CSS, Javascript Server-side Web programming – PHP, MySQL, Java Servlets, JSPs, other platforms Some Extras: XML and the Web – What is XML, Web syndication, remote application deployment, rich Internet applications, Web services 159.339 Technologies that support Web based applications Server Side Application Programming What is Internet ClientProgramming? side programming Database driven applications 159.339 Not Low level network programming • Socket level programming (159334!) Not Implementing Network Protocols What is NOT Internet • TCP/IP, UDP (159334!) Programming? Not Client side Graphical User Interfaces • IS (157.___!) Not a “how to” design a cool fancy website Relation with other courses 159.339 • The computer networks course (159.334) deals with low-level network programming – Socket level programming – Implementing Network Protocols – TCP/IP, UDP • Client side Graphical User Interfaces – Courses offered by IT (158.XXX) – (Designing cool websites) • .NET programming – IT courses – Microsoft training courses 159.339 1. Introduction – nuts and bolts of the Internet, TCP/IP, www, IP stack, HTTP protocol 2. Web content, HTML, Web server 3. Client-side Programming – Java script, Event handling, HTML Document Model Course Schedule 4. PHP programming 5. Persistence: Cookies and Sessions 159.339 6. Security Issues 7. Database Access - Using MySQL, database driven applications. 8. Java Servlets Course Schedule 9. Java Server Pages and more HTML 10. Other Internet Programming Technologies – Java Beans, JSP Standard Tag Library, J2EE 11. Web services and XML - SOAP, WSDL, UDDI 159.339 On successful completion of the course, the students should be able to: Implement database driven Internet applications using PHP/MySQL/Webserver. Learning Outcomes Implement server side applications. Apply the Internet Programming design concepts in solving real world problems. Identify the advantages and disadvantages of various Internet Programming techniques to real world problems. Demonstrate knowledge of new and emerging internet programming technologies . 159.339 Relation to the Internet Protocol Stack 159.339 Browsers • HTML, javascript Technologies that support Web based Network Protocols applications • TCP/IP, HTTP, FTP etc Servers • Web Servers, Server side programming environments Operating Systems • Windows, Linux, Unix, GNU software 159.339 Web servers • Apache, Xitami, Netscape Application Server, IIS server etc. • Cgi programming, api, perl, php Server Side server Application Programming Application Servers • Sun ONE J2EE server, BEA Weblogic, IBM Websphere, tomcat, jboss, jonas, etc. 159.339 Browser-Based Clients • HTML + DHTML Applets Client-side programming • Clients run in a sand box, secure environment Application Based Clients • Heavy and Light Clients with full access to local machine 159.339 At least 2 assignments: 40% Final Exam (3 hours): 60% • Assessment The course will be assessed by a combination of practical and theoretical works. • There will be 2 practical assignments and one three hour exam. The exam will be a CLOSED BOOK exam. • All assignments will be submitted electronically. 159.339 Program solutions that do not compile or do not run in our laboratories get 0 marks. Late assignments will be penalized Assessment Assignments may be completed in groups all members of the group should be named in the source file of each assignment, including the contribution of each member. All submitted assignments will have to be accompanied by a short documentation as well. There can be at most 3 members in a group. 159.339 Each group member will receive the same grade. Students in a team have the authority (in consultation with the lecturer) to "expel" any member that does not meet obligations . Assessment The collaboration is limited only to members within each group. It is the students’ responsibility to check their assignment marks and notify in writing any errors they might find no later than 10 days after the day the marks were made available.