ICS 325 Internet Application
Development
Fall 2004
Class Dates: August 24 – November
30, Tuesdays,
Class Room: Library 321
Instructor: Sue
Fitzgerald
Office Hours: I am usually available in my office in the
afternoon
Tuesdays
Wednesdays
Thursdays
Office Tel: 651-793-1473
Support Staff: 651-793-1471
Email: sue.fitzgerald@metrostate.edu
Web Address: http://redhat.ics.metrostate.edu/~sue/courses
Address:
Course
Description: This course focuses on how to design and establish
information services over the Internet from the server side. Topics include
advanced concepts and issues about Internet architecture, server-side design
strategies, current technologies, and Internet security. Through labs and
programming projects, students will learn how to use current scripting and
markup languages to build nontrivial state-of-the-art applications.
Learning
Outcomes:
·
Has the ability to write programs using the protocols
and languages introduced in class.
·
Knows the concepts and methodologies involved in
server side web development.
·
Knows how to develop and implement a three tier web
application.
·
Knows the procedure on how to build web based
services over the Internet.
·
Understands server side web design and development
life cycles.
·
Knows how to implement web security, and understands
secure transactions.
·
PHP and MySQL Web Development by Luke Welling and Laura
Thomson, Sams, 2003.
·
Web Application Architecture: Principles, Protocols and Practices, Leon Shklar and Richard Rosen, Wiley, 2003. ISBN:
0-471-48656-6
Prerequisites:
·
ICS 225 Web
Design and Implementation
·
Formerly ICS 225
Web Design and Implementation OR ICS 240 Programming with Elementary Data
Structures with Instructor Consent
·
This course is
required for CIS majors. It is a Group 2
elective for CS majors.
Evaluation:
·
Your letter grade will be based on the following items.
Points Distribution:
Project #1 30 pts
Project #2 50 pts
Project #3 50 pts
Final Project 100 pts
Midterm test 75 pts
Final exam 75 pts
Total 380 pts
Adjustments may be made to the points and/or points distribution.
Grading Scale: Your
letter grade will be determined based on the percentage of possible points that
you earn during the term.
|
Percentage |
Grade |
|
94 - 100 |
A |
|
90 - 93 |
A- |
|
87 - 89 |
B+ |
|
84 - 86 |
B |
|
80 - 83 |
B- |
|
77 - 79 |
C+ |
|
74 - 76 |
C |
|
70 - 73 |
C- |
|
60 - 69 |
D |
|
Below 60 % |
F |
If you have selected the S/N grading option, then to receive
a satisfactory rating (S) you must earn at least 70% of the possible
points. If you wish to elect S/N
grading, you must inform the registrar before the second class meeting. Bear in mind that you must
earn a C- or better (or an S) in order for a course to fulfill a requirement or
elective in your major.
Incompletes: From
time to time I am asked to consider assigning a grade of incomplete. A grade of incomplete may be considered if
the person requesting has successfully completed at two thirds of the class and
is a student in good standing in the class.
“Good standing” means that the requester is earning a minimum of a B
grade and has attended class regularly.
I reserve the right to say no to any request for an incomplete without
justifying my position.
Lab
Homework: Labs will
be handed out during each of the classes.
Although the labs are not required to be completed, it is to your best
interests to complete each lab.
Individual
Projects:
·
For each individual project, a report should be
turned in on the due date. The format of the report will be given with the project
description sheet.
·
If you cannot attend that class, the projects must be
emailed or faxed no later than
·
A 10% per day penalty will assessed
on all late work.
·
No assignment will be accepted more than one week
past its assigned due date.
·
No work will be accepted after the last scheduled
class period.
·
For full credit, please plan to finish your projects
on time. Your cooperation is highly appreciated.
·
It is a good practice to keep all returned
assignments in case of any grade disputes.
·
I strongly recommend that you keep backup copies of
all programs.
Tools:
·
The assignments for this class will be implemented
using the ICS departmental server (redhat.ics.metrostate.edu).
·
You will be assigned a user login id and password
during the first class session. You can
logon to the server and/or upload files using the Secure Shell file transfer
software.
·
Secure Shell is installed and available in all
·
In addition, you will need web browser software such
as Internet Explorer or Netscape Navigator.
Both are installed in the
·
The course will use XHTML,
JavaScript and PHP scripting languages as well as the
MySQL database software. XML will be
introduced, time permitting.
·
The scripting languages can be written using any text
editor.
·
The MySQL database software
will be available on the redhat server.
No Makeup
Tests: No makeup tests
will be offered. If you miss the
midterm, the final exam will be counted for twice as much of your grade.
I strongly believe that all students should take the final
exam at the designated time. This helps
to ensure that all students are tested in a uniform manner. If you do convince me to write a separate
final exam for you, it may be more difficult than the exam given to the rest of
the class. I reserve the right to refuse
to give you a makeup final exam.
Disabilities:
If you have a documented disability, or if you suspect you have a
disability that may have an impact on your opportunity to succeed in this
course, please notify me before the second class so we can explore ways to
reasonably accommodate your learning style.
If you want, you may work with Disability and Special Services by
calling 651-793-1540. Note that I must
receive adequate notice in order to honor requests.
Missing Class: If for any
reason you need to miss a class, please let the instructor know beforehand
whenever possible. You can have a classmate pick up materials for you or you
can download most handouts from the class website. Please make arrangements to
borrow or copy a classmate’s notes from that session. Late assignment penalties will apply whether
you attend class or not.
Expectations: Sometimes difficulties arise when the
expectations of students and teachers are different. Here is a brief summary of what I expect from
you AND a summary of what you can expect from me.
What you
can expect from me:
·
I will share my technical knowledge with you as
effectively as I know how.
·
I will grade your work and return it quickly. In most cases I will grade your work and
return it to you at the next scheduled class period (but not before). Occasionally I will take two class periods to
return your work.
·
I will provide you with written feedback on the
quality of your work. If you do not
understand why you were assigned a particular grade or if my comments are not
clear, I will explain more thoroughly if you ask me to.
·
I will show up for class. I will start and end class on time.
·
I will return your phone calls and emails as quickly
as possible, usually within one business day.
·
I will listen to you respectfully. I will answer your questions respectfully.
·
I will provide you with a summary of the total points
earned to date anytime that you ask for it.
What I
expect from you:
·
I expect you to read the syllabus and to know the
class policies outlined there.
·
I expect you to seek help if you are having
difficulty with your course work. I
expect you to talk to me if you are having problems. If a stressful work or
home situation arises which is affecting your ability to
perform well, please talk to me as soon as possible.
·
If you do not understand why you received a
particular grade, I expect you to approach me and ask questions. I expect you to treat me with respect even if
you disagree with the grade you were assigned.
·
I expect you to show up for class on time and stay
for the entire session except when you have an unavoidable conflict. If you must miss class, assignments and most
handouts can be obtained from the class web site.
·
I expect you to turn in your assignments. I expect them to be submitted in a timely
fashion. A penalty of 10% per day will
be assessed for late work. No assignment
will be accepted more than one week past its assigned due date.
·
I expect you to turn in individual and original
work. This means that what you turn in
must be your own work and it cannot be work previously done for some other
class. If you turn in work that is not
your own or is was not done specifically for this
class, you may be assigned a 0 on an assignment or an F in the course. Repeated instances of academic dishonesty can
result in expulsion from the University.
·
With the exception of examples given by me, I expect
you to cite your sources, giving credit to the original author, if you use code
fragments from someone else’s work. Put
the citations in the comments of your code.
·
I expect you to say no if another student asks you
for a copy of your work. The penalty for
permitting another student to copy your work is the same as if you yourself had
turned in work that was not individual and original.
·
I recommend that you complete the reading assignments
before you come to class, particularly if you are having difficulty
understanding the material.
Respect:
If you do not feel comfortable sharing your concern directly
with me, contact the Information and Computer Sciences Department chairman, Jigang Liu, at 651-793-1472.
Helpful Resources:
·
HTML
·
http://www.w3.org/TR/REC-html40
·
DHTML
·
http://devedge.netscape.com/library/manuals/
·
http://www.bratta.com/dhtml/
·
JavaScript
·
http://developer.netscape.com/docs/manuals/javascript.html
·
http://developer.netscape.com/docs/manuals/communicator/jsguide/js1_3.htm
·
http://developer.netscape.com/docs/manuals/jsdebug/index.htm
·
PHP
·
Official page: http://www.php.net
·
Tutorial: http://blazonry.com/scripting/linksdb/
·
FAQ site: http://www.faqts.com/knowledge_base/index.phtml/fid/51/
·
PHP resources: http://www.zend.com/
·
MySQL
·
Official site: http://www.mysql.com
·
Tutorial: http://www.mysql.com/documentation/mysql/full/index.html
·
SSH (Secure Shell)
·
Download
site: http://redhat.ics.metrostate.edu/ssh.zip
·
Alternative
download site: http://www.hawaii.edu/help/software/pc/ssh.html
·
Miscellaneous
Schedule (subject to change):
|
Week |
Date |
Topics |
Reminders |
|
1 |
8/24 |
Syllabus, class overview Web design &
development Unix, XHTML,
CSS |
Shklar: Chapter 1 Shklar: Sections
6.2 & 6.3 |
|
2 |
8/31 |
Client-server paradigm Protocols JavaScript Review |
Shklar: Chapter 2 Shklar: Sections 3.1-3.4 Shklar: Sections 6.4-6.6 |
|
3 |
9/7 |
Chapter 1 – Intro to PHP |
Welling: Chapter 1 Project 1 is Due |
|
4 |
9/14 |
Chapters 2-3 – Arrays,
data acquisition, storage, and displaying. |
Welling: Chapters 2 & 3 |
|
5 |
9/21 |
Chapters 4-5 – Functions
and String manipulation |
Welling: Chapters 4 & 5 |
|
6 |
9/28 |
Chapters 7, 8, & 9
Database Review What’s on the midterm |
Welling: Chapters 7, 8, 9 Project 2 is due |
|
7 |
10/5 |
Intellectual Property
Rights Midterm |
Midterm Exam |
|
8 |
10/12 |
Review midterm Chapter 10 Using MySQL in PHP |
Welling: Chapter 10 Shklar: Chapter 8 |
|
9 |
10/19 |
Architecture and design Chapter 6 – Object
Oriented PHP |
Welling: Chapter 6 Shklar: Chapter 9 |
|
10 |
10/26 |
Chapter 12-15 Ecommerce and Security.
Web Encryption, Authentication, and Secure Transactions |
Welling: Chapters 12, 13, 14 (skip 305-313) & 15
(skip 325-333) Project 3 is Due |
|
11 |
11/2 |
Chapter 20 – Session
Control, Cookies |
Welling: Chapter 20 Shklar: Chapter 4 Shklar: Sections
3.5 & 3.6 |
|
12 |
11/9 |
Chapters 25 & 29
Building shopping carts and web forums. |
Welling: Chapters 25 & 29 Final project design
walkthrough |
|
13 |
11/16 |
Intro to XML and Parsing with PHP XML – Using DTD vs Shemas Chapter 31 Intro to Simple
Object Access Protocals (SOAP) Code walkthroughs |
Welling: Chapter 31 Shklar: Chapter 7 & 11 |
|
14 |
11/23 |
Exam |
Final Exam |
|
15 |
11/30 |
Class Project Presentations |
Final Project & Final
Report Due |