159.339 What is Internet Programming?

Download Report

Transcript 159.339 What is Internet Programming?

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: [email protected]
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.