Metropolitan State University

Saint Paul, Minnesota

 

ICS 325 Internet Application Development

Fall 2004

 

Class Dates: August 24 – November 30, Tuesdays, 6:00-9:20 pm

Class Room: Library 321 Saint Paul Campus     

Instructor:  Sue Fitzgerald

Office Hours:  I am usually available in my office in the afternoon

Tuesdays       2:00-6:00

Wednesdays 2:00-7:00

Thursdays      5:00-6:00 (Midway M)

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:

Metropolitan State University

700 E. Seventh St., NM L116

St. Paul, MN 55106


 

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.

 

Reading: 

·        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.  Minor adjustments may be made to the distribution of points and assignments.

 

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 midnight on the due date in order to be considered as received on time. When mailing the projects, make sure to keep a copy for yourself.  Please try to avoid emailing project reports – it is your responsibility to print your own reports.

·        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 Metropolitan State computer labs or you may download copies for home use (see URL below). 

·        In addition, you will need web browser software such as Internet Explorer or Netscape Navigator.  Both are installed in the Metro State computer labs.  Your projects will be graded using Internet Explorer.

·        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:  Metro State is privileged to serve students from many different nations, racial, ethnic and religious backgrounds.  Students, staff and faculty practice a variety of lifestyles and come from many walks of life.  We expect our classrooms to be safe havens where the opinions, practices and beliefs of others are treated respectfully.  If you feel that you are not being treated appropriately by others in the class, I ask that you bring this to my attention so that the issues can be addressed.  If I offend you, I ask that you approach me to share your concern so that we can learn from each other how to live together with respect and honor.

 

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.w3schools.com

·        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

  • Great tutorials on scripting: http://w3schools.org
  • Quick references: http://devguru.com/
  • References and guides: http://devedge.netscape.com/
  • Deitel, Deitel and Nieto, Internet and World Wide Web: How to Program, Prentice Hall. This is an excellent text previously used in ICS325 which covers certain topics such as HTML and Frontpage. If you can find a used copy, I’d consider it a good investment.
  • Castro, Elizabeth, HTML for the World Wide Web with XHTML and CSS, Peachpit Press, 2003.
  • Flanagan, David, JavaScript:  The Definitive Guide, O’Reilly, 2002.

 


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