159.339 internet programming paper coordinator: dr. napoleon h. reyes, ph.d. computer science...

21
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

Upload: corey-rose

Post on 17-Dec-2015

218 views

Category:

Documents


4 download

TRANSCRIPT

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

Relation to the Internet Protocol Stack

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.