Upload
corey-rose
View
218
Download
4
Embed Size (px)
Citation preview
159.339
Internet Programming
Paper Coordinator:
Dr. Napoleon H. Reyes, Ph.D.
Computer Science
Institute of Information and Mathematical Sciences
Rm. 2.38 QA, or IIMS Lab 1.10, Albany Campus
email: [email protected]
Tel. No.: 64 9 4140800 x 9512 or 41572
Fax No.: 64 9 441 8181
159.339
159.339
Lectures/Tutorials
Lectures: Monday 9:00 am 1:00hr AT7
Thursday 3:00 pm 2:00hrs AT5
159.339
Tutor: Gareth Stretton
Consultation Hours: Immediately after lectures
Tutorial: Friday 11:00 am 1:00hr CL QB5
159.339
Topics for Discussion
Pre-requisites
Course Overview
Learning Outcomes
Texts and Course Material
Assessment
Course Schedule
159.339Pre-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
Student Responsibility
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).
159.339
Texts and Course Material
Dynamic Web Application Development using PHP and MySQL by Simon Stobart & David Parsons
Main text book
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 Internet
• This is a computer science course on Internet programming
What is Internet Programming?
159.339Topics Covered
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
What is Internet Programming?
Technologies that support Web based applications
Server Side Application Programming
Client side programming
Database driven applications
159.339
What is NOT Internet Programming?
Not Low level network programming
• Socket level programming (159334!)
Not Implementing Network Protocols
• TCP/IP, UDP (159334!)
Not Client side Graphical User Interfaces
• IS (157.___!)
Not a “how to” design a cool fancy website
159.339Relation with other courses
• 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
Course Schedule
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
4. PHP programming
5. Persistence: Cookies and Sessions
159.339
Course Schedule
6. Security Issues
7. Database Access - Using MySQL, database driven applications.
8. Java Servlets
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
Implement server side applications.Learning Outcomes
Implement database driven Internet applications using PHP/MySQL/Webserver.
Apply the Internet Programming design concepts in solving real world problems.
On successful completion of the course, the students should be able to:
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
Technologies that support Web based applications
Browsers
• HTML, javascript
Network Protocols
• TCP/IP, HTTP, FTP etc
Servers
• Web Servers, Server side programming environments
Operating Systems
• Windows, Linux, Unix, GNU software
159.339
Server Side Application Programming
Web servers
• Apache, Xitami, Netscape Application Server, IIS server etc.
• Cgi programming, server api, perl, php
Application Servers
• Sun ONE J2EE server, BEA Weblogic, IBM Websphere, tomcat, jboss, jonas, etc.
159.339
Client-side programming
Browser-Based Clients
• HTML + DHTML
Applets
• Clients run in a sand box, secure environment
Application Based Clients
• Heavy and Light Clients with full access to local machine
159.339
Assessment
At least 2 assignments: 40%
Final Exam (3 hours): 60%
• 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
Assessment
Program solutions that do not compile or do not run in our laboratories get 0 marks.
Late assignments will be penalized
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
Assessment
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 .
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.