The Catholic University of America
School of Library and Information Science
LSC 718: Programming for Web Applications
Fall 2008

Last updated Oct 31, 2008


Credit Hours: 3

Prerequisites: LSC 555, LSC 610 (or permission of instructor).

Meetings
Class will meet face-to-face 4:10 PM to 6:40 PM on Wednesdays (Marist 131), with exceptions noted in the schedule below. There will be online and out-of-class work. We will use a special version of Sakai (http://sakai.nitle.org) extensively for announcements, discussion, assignments, etc. (Note that this is not the CUA Sakai accessed from Home@CUA.) Students are expected to monitor Sakai frequently. Updates, administrative information and reminders are frequently posted to Sakai. Online participation is expected as part of the course.

Instructor Contact Information
Bill Kules, Ph.D., Assistant Professor
Marist Hall Room 248
(202) 319-6278 (o)
(301) 755-7982 (m)
kules@cua.edu
http://faculty.cua.edu/kules/
Office hours are posted on my web page.

Description
Introduces the concepts and techniques for developing Web-based application systems. Emphasis is placed on programming techniques and the basics of database technology required for designing Web-based application interface and managing data on the Web.

Course Goals

At the conclusion of this course, students will be able to:

  1. Explain basic programming concepts and techniques, and important concepts for the development of dynamic web applications.
  2. Describe important concepts related to dynamic web applications.
  3. Explain the relationship of web programming to systems analysis and a systems development lifecycle (SDLC);
  4. Create and debug dynamic web applications that accept input from the user, extract data from a database, and synthesize the results into dynamically generated HTML pages;
  5. Articulate strategies for professional development and ongoing learning about web programming.
Instructional Methods
This course uses a variety of instructional methods and activities: These course activities will be conducted h face-to-face (in class) and online (using Sakai, wiki, and other tools). Students are expected to be online frequently. If you do not have daily  access to the Internet, please contact the instructor before the first class meeting.

Course Schedule


Week
Meeting
Date
Topics
Major Assignments
1 August 27 Introductions and overview. Structure of the course. Course themes & requirements. Review HTML and web concepts. Post introduction; complete introductory questionnaire
2 Sep 3 Programming and software development concepts. Relationship to systems analysis and SDLC. The Scratch system. Intro HW 1.
3 Sep 10 Introduction to PHP. Variables and operations. Intro HW 2. Discuss projects.

4 Sep 17 Control structures and conditionals.
HW 1 due (programming basics, web server)
5 Sep 24 Arrays. 
6 Oct 1 String operations. Intro HW 3 HW 2 due (PHP basics)
Project ideas posted
7 Oct  8 Functions. Organizing code.
8 Oct 15 Web forms, part 1. HW 3 due (control structs, loops, arrays)
9 Oct 22 Guest lecture: Karen Huffman: PHP and MySQL database, part 1. Project proposal due
10 Oct 29 PHP and MySQL database, part 2. 
11 Nov 5 Web forms, part 2. Dates and times. Project update 1 due
12 Nov 12 Security and authentication.Session management.  
13 Nov 19 Error handling.
Maybe: Object-oriented programming OR Client-side scripting (JavaScript).
Project update 2 due
Nov 26 Thanksgiving Holiday
14 Dec 3 Project presentations. Course review. Course evaluations.
Complete project due
Dec 10 Final assignment due
Notes: Readings are to be read before class. Major assignments are due by noon on the day of class unless otherwise noted. This schedule and syllabus is subject to change depending on class needs.

Required Course Text
Valade, J., Ballad, B., Ballad, T. (2008) PHP & MySQL Web Development All-in-One Desk Reference For Dummies. Hoboken, NJ: Wiley Publishing. (ISBN-10: 0470167777, ISBN-13: 978-0470167779).

Recommended Course Texts
Castro, E. (2007) HTML, XHTML & CSS. 6th Ed. Berkeley, CA: Peach Pitt Press.
A straightforward, building block (the author's words) approach to HTML. Very visual. This text is also the text for LSC 610. 

Niederst, J. (2006)  Web Design in a Nutshell: A Desktop Quick Reference. 3rd Ed. Sepastopol, CA: O'Reilly & Assoc.
A bit more in-depth, and discusses a broader range of Web-related topics.

Readings

Week 1

Introductions

HTML and web concepts

 

Week 2

Programming concepts

 

Week 3

Introduction to PHP
  • Valade, Book II, Chapter 1, pp 103-127.

 

Week 4

Control structures and conditionals
  • Valade, Book II, Chapter 1, pp 151-177

 

Week 5

Arrays. String operations.
  • Valade, Book II, Chapter 1, pp 128-137.
  • W3School's PHP String tutorial page, which covers strlen() and strpos().
  • Read about the following string operations. I recommend using W3School's PHP String Functions, but you may consult other resources, too:
    • trim()
    • strtoupper()
    • strtolower()
    • substr()
    • str_replace()
    • print()
    • printf()
  • Pick one more string function, read about it, and be prepared to explain how it works to your fellow students.

 

Week 6

(string operations readings from last week)

 

Week 7

Functions. Organizing code.
  • Valade, Book II, Chapter 1, pp 178-195

 

Week 8

Web forms, part 1
  • Valade, Book VI, Chapter 1

 

Week 9

PHP and MySQL database, part 1
  • Valade, Book III, Chapters 1-4 (skim these chapters)
  • Valade, Book III, Chapter 5

 

Week 10

PHP and MySQL database, part 2
  • Valade, Book II, Chapter 1, pp 138-141

 

Week 11

Web forms, part 2

  • Review Valade, Book VI, Chapter 1

Dates and Times

 

Week 12

Security and authentication. Session management.

  • Valade, Book IV, Chapters 1 & 2 (skim these)
  • Valade, Book VI, Chapter 2, pp 522-530

 

Week 13

Error handling

  • Valade, Book IV, Chapter 4

Object-oriented programming

  • Valade, Book II, Chapter 4

Client-side scripting (JavaScript)

  • TBD

Back to top 

COURSE REQUIREMENTS AND ASSESSMENT



Grading

Grades for this course will be based upon the following elements:

Component Percent
Class Participation 15%
HW 1 8
HW 2 18
HW 3 18
Project 23
Final Assignment 18
TOTAL 100

Final grades will be assigned as follows:

Letter Numeric range
A 94-100
A- 90-93
B+ 86-89
B 82-85
B- 78-81
C 70-77
F Below 70

University grades: The University grading system is available at http://policies.cua.edu/academicundergrad/gradesfull.cfm#II for undergraduates and http://policies.cua.edu/academicgrad//gradesfull.cfm#iii for graduate students. Reports of grades in courses are available at the end of each term on http://cardinalstation.cua.edu.


Class Participation - In class and online

Each class is critical to your learning experience. Your energy in contributing to class discussions, small-group exercises, and online activities and discussions will be important. Therefore, coming to class prepared (e.g., reading all course readings before class, working on project research, etc.) and actively participating will be necessary to receiving full credit for class participation. The readings are intended to stimulate questions in addition to providing information. It is a good strategy to make notes of questions and comments as you read - these can be useful contributions to the discussion.


Ungraded Exercises

Ungraded exercises are provided to help you learn and practice course material, especially specific techniques or tools. We will often start an exercise in class and have you finish afterwards.

Homework

Each homework assignment will incorporate the topics being covered and selected technology skills. The assignments will have a collaborative in-class component, and an individual at-home component. Assignments span multiple weeks. You must post your drafts before each class so that we can review them.

Before posting or submitting your work, you must test your work using a PC and Internet Explorer 7. If you do not have access to a PC, you can use one in the lab.

All assignments must be posted or submitted by noon on the day they are due, unless otherwise noted. If the assignment is submitted anytime after noon, your grade will be reduced by 10%. Each day it is late thereafter you will lose an additional 5% point (e.g., submitting one day late would reduce your grade by 15%).

Project & Presentation

The project will give you an opportunity to apply and extend what you learn in class. You may choose to work individually or as part of a team. Working with a larger group allows you to undertake a more ambitious and rewarding project. You will present your work during the last class sessions and produce a report.

NOTE: Each part of the team project must be submitted by the due date at noon. If it is not submitted on time that day, your grade will be reduced by 10%. For each subsequent day it is late your grade will be reduced by 5%.


Final Assignment

The final assignment will include 1-2 essays and a programming problem. The programming problem will cover material from the exercises and homework assignments.


Submitting Assignments

All assignments are to be submitted electronically through the Sakai Learning Management System or posted online as instructed.

Late work. The instructor will not accept late work except by prior arrangement. If accepted, it may not be graded until the end of the term.

Makeup work. If a student has a legitimate reason, such as a medical or family emergency, the instructor may allow a student to do makeup work. The amount and nature of the work is up to the instructor's discretion. It will be graded at term's end. Documentation of the emergency (e.g. a doctor's letter) may be required.

Place your name and email address at the top of all pages. Any work submitted with numerous grammar, spelling or format problems will be penalized.


Back to top

COURSE POLICIES AND EXPECTATIONS


Academic Honesty

Academic honesty is expected of all CUA students. Faculty are required to initiate the imposition of sanctions when they find violations of academic honesty, such as plagiarism, improper use of a student's own work, cheating, and fabrication. The following sanctions are presented in the University procedures related to Student Academic Dishonesty (from http://policies.cua.edu/academicundergrad/integrityprocedures.cfm): "The presumed sanction for undergraduate students for academic dishonesty will be failure for the course. There may be circumstances, however, where, perhaps because of an undergraduate student's past record, a more serious sanction, such as suspension or expulsion, would be appropriate. In the context of graduate studies, the expectations for academic honesty are greater, and therefore the presumed sanction for dishonesty is likely to be more severe, e.g., expulsion. ...In the more unusual case, mitigating circumstances may exist that would warrant a lesser sanction than the presumed sanction." Please review the complete texts of the University policy and procedures regarding Student Academic Dishonesty, including requirements for appeals, at http://policies.cua.edu/academicundergrad/integrity.cfm and http://policies.cua.edu/academicundergrad/integrity.cfm.

Plagiarism will not be tolerated. Always cite your sources.


Participation and Conduct:

Attendance is required, in keeping with university policy. Your class participation grade depends on being in class and actively participating in class and online. If you will be unavoidably absent, you must consult with the instructor as early as possible. Arrive on time. Late arrival will affect your class participation grades.

If class is cancelled due to weather or other emergency, check the online announcements the next day. We will generally hold class online when this happens.

Behave respectfully. Students are expected to behave respectfully at all times: while in class, in public discussion forums, and when using email. Participation grades will reflect a student’s maturity level and professionalism; cooperation and collaboration with the class; and whether the meaningfully contributes to course discussions.

No phone calls during class. Turn off or silence cell phones and pagers. Students leaving the room for calls may not be allowed to return to that class session.

No grade discussions in class. Instructor will not discuss grades in class. First consider why the instructor deducted points. If you still disagree, explain your disagreement in an e-mail to the instructor.


Accommodations for students with disabilities

Any student who feels s/he may need an accommodation based on the impact of a disability should contact the instructor privately to discuss specific needs. Please contact Disability Support Services (at 202 319-5211, room 207 Pryzbyla Center) to coordinate reasonable accommodations for students with documented disabilities. To read about the services and policies, please visit the website: http://disabilitysupport.cua.edu.

Syllabus changes

The instructor reserves the right to make changes to this syllabus as needed. Nothing in this syllabus may be construed as a contract. All changes will be provided to students via the class wiki (http://lsc555.pbwiki.com).


Revision History

 9/18/2008 - Revised Week 5 readings; minor schedule updates; added KH tentative guest lecture

10/8/2008 - Revised schedule to reflect additional session spent on arrays and string operations.

10/11/2008 - Revised project proposal due date

10/31/2008 - Updated Week 11 readings. Removed homework 4 and adjusted grade weights per class discussion 10/29.