Course Syllabus
Fall 2008 CpSc 217: Structured and Dynamic Web Programming
Instructor: Dr. David Dailey
Meeting Times:
Section 1: M W & F 8:00
a.m. - 8:50 a.m. (Period 1)
Meeting place: 224 ATSH
Instructor's Office Hours:
Monday and Wednesday 10:00 a.m. - 11:00 a.m..; Tuesday and Thursday 8:00 a.m. -
9:30 a.m.., or by appointment.
Instructor's Office location:
ATSH 248
Instructor's e-mail address: david.dailey@sru.edu
Assessment: The connection of course outcomes, with departmental
outcomes and ultimately with university outcomes is discussed at some length at
http://cs.sru.edu/~whit/assessment/.
Course Description: This course is
designed to cover the features of popular programming languages specifically for creating
Web pages. Mouse rollovers, browser detects, pop-up windows that launch when a Web
page loads or in response to specific actions, and form data-checking are just a few of
the most popular uses of Web programming languages that will be discussed.
Programming will be done in a representative programming language. (3 credits)
Course Objectives: See end of this document.
Prerequisites: CpSc 130 and CpSc
140.
Required reading: Class web page found at
http://srufaculty.sru.edu/david.dailey/cs217/index.htm
Suggested text:
JavaScript Definitive Guide by Flanagan, published OReilly, 0596101996.
Alternative suggestion: Inside
JavaScript by Steve Holzner, publisher: New Riders, ISBN 0735712859.
Computing labs: The class will
primarily use equipment provided in Eisenberg 103; but other machines on campus are
available and may be used as well. ATSH 230, for example has much of the
same software as that deployed in Eiseberg 103.
Software used:
Microsoft Windows
, possibly UNIX or Linux
Web-browsers: recent versions of
Firefox, Opera, and Internet Explorer
Web-authoring software:
Macromedia HomeSite.
Graphics software: Adobe Photoshop.
Use of e-mail software (Eudora, Pine, or other)
is also required.
Method of determining final grade: Assignments: 35%; quizzes 40%
(two quizzes,
each worth 20%); one final project: 20%, due at time of last class meeting;
attendance and class participation 5%.
Final exam: The course will not have a final exam, but rather will
meet for a final class (Tuesday Dec. 9th, 8:00 a.m. - 10:00 a.m.).
Attendance policy: Regular attendance
is expected. Excessive absences will have an effect on your grade. If a prolonged illness
should cause you to miss several class periods, you are expected to discuss this with the
instructor.
Late work: The grade on any late
assignment will be dropped by 20%. Assignments more than two weeks late will not be
accepted. Any work submitted late must have the word (LATE) in parentheses
following your last name in the subject line of the email. If it does not, it
will not be scored.
Make-up exams: It is the student's
responsibility a) to notify the instructor beforehand if he or she must miss an exam due
to illness or family emergency and b) to take the initiative in finding a time suitable to
the instructor for a make-up exam. Make-up exams should be scheduled within one week
following the original exam date.
Academic Integrity: All academic work
for this course must consist of your own work. See the See the University's
statement on Academic
Integrity in the Undergraduate Catalog (2003-04, pages 52 - 53).
Assignments and tasks: Each assignment
will be explained in class. Any uncertainties students may have about an assignment should
be raised at the time the assignment is made. Students will be required to use e-mail for
certain assignments; assignments submitted via e-mail must include the course number, the
student's last name and the assignment number in the subject line of the message.
Assignments submitted through e-mail that do not follow the specified format may
not be accepted.
Several homework assignments will be given
during the semester. Unless otherwise stated, these assignments are to be completed
individually by each student. Students may be called upon to present and explain their
work to the class or to the instructor and should be consistently and adequately prepared
to do so.
As the semester progresses, additional details
about assignments may be found on the class web page.
Tentative Schedule of Topics
The instructor reserves the right to change
topics covered or the order in which they are covered at his/her discretion. Assignments shown may vary. Refer to lecture notes
and/or course web-site for details.
Week 1 -- Aug. 25 -
29: Course
introduction. Web browsing. A glimpse of JavaScript, introduction to web-authoring: basic
HTML.
HTML review (tags and attributes, tables, anchors, scripts,
images):
Assignment 1: verify ability to login
to lab machines to find class web-space and to use e-mail.
Legal issues (part 1):
a.
Differences between copyright, trademark, and patent
b.
Copyright: Title 17, (basic definitions, scope, exclusive rights,
limitations) sections 102, 105, 106, 107, 120).
c.
Differences between statute, treaty and case law
Week 2 -- Sept. 2 - 5: More on HTML: Basics of a web page. Forms,
form elements.
Beginning
JavaScript: functions, alert messages and debugging.
Adobe Photoshop, more on legal issues,
GIF and JPEG, images in tables, responding to simple events.Legal
issues part 2:
a.
current legislation (e.g. copyright term extension act, database
misappropriation act)
b. current case law pertaining to the web (e.g., Bridgman v Corel,
thumbnails, deep-linking)
c. the public domain
Images:
a.
File formats: gif, jpg, and png as opposed to (for example) svg, targa,
tiff, bmp and pct.
b.
compression, lossiness
c. bitmapped versus vector graphics
d.
Dpi and bits per pixel; print vs. screen images
e.
Color space: RGB, HSB, and CIE
f.
anti-aliasing, dithering
g.
Creating images.
Week 3 --Sept. 8 -
12:
Scripting images: rollovers, The document.images[] and
document.forms[] arrays; JavaScript loops.
Week 4 --Sept.
15 - 19:
Scripting images (conditionals and string handling)
Week 5 --Sept.
22 - 26: Objects, events, buttons, mouse-clicks and
functions
. Random numbers.
Naming objects in
JavaScript
a.
scope of identifiers
b.
document.formname.input.value vs., input.value vs. getElementById
Attaching events to
objects
a.
HTML objects (body, form elements, anchors)
b.
events: onload, onmousedown, onmouseup, onmouseover, onmouseout, onfocus,
onkeydown
Probable time for Quiz 1
Week 6 --
Sept. 29 - Oct. 3: Functions,
variables, strings, random
number generation
a
Message passing:
functions, arguments and objects
b
.
Scope of variables in functions
c.
string methods (charAt,
IndexOf, substring, split)
Week 7 --Oct. 8 - 10: Simple data structures:
arrays, objects, time. The Document Object Model.
Week 8 --
Oct. 13 - 17:
Array
management: Push,
Pop,
Split, Join,
SortWeek 9 --
Oct. 20 - 24: Windows, Documents, Locations, Frames; rewriting a
document.
document.write, innerHTML, getElementById, createElement and appendChild.
Weeks 10 -12 --
Oct. 27 - Nov. 14: : Animation and timing:
SetTimeout and setInterval,
Phase and synchrony
issues, mouse coordinates,
Absolute positioning: style.top and style.left ,
Screen
dimensions. Assigning events.
Quiz: Probable time for Quiz 2.
Weeks 13 - 15 --
Nov 17 - Dec. 8: XML; Advanced topics, including lab work
on final projects. May include
topics such as server-side scripting, user-interface,
preloading
images, Assigning event handlers, etc.
Computer Science Department
Course Competency Plan
COURSE: CpSc 217 - Structured and Dynamic Web Programming: <language>
Catalog Description: This course is designed to cover the features of
popular programming languages specifically for creating web pages. Mouse
rollovers, browser detects, pop-up windows that launch when a web page loads
or in response to specific actions, and form data-checking are just a few of
the most popular uses of web programming languages that will be discussed.
Programming will be done in a representative programming language.
Prerequisites: CpSc 130 and 140. (3 credits)
Course Outcomes: This course and its outcomes support the
Information Technology Learning Outcomes of Problem Solving and Critical
Thinking (PS&CT), Communication and Interpersonal Skills (C&IS),
and Ethical and Professional Responsibilities (E&PR). These
Information Technology Learning Outcomes are tied directly to the University
Wide Outcomes of Critical Thinking and Problem Solving,
Communication, and Values and Ethics.
| Objectives |
Strategies |
Assessment Methods |
The student will be able to:
- Demonstrate the use of general scripting concepts. [PS&CT a]
- Write dynamic, web-based programs that involve user input.
[PS&CT b]
- Identify the constructs of the chosen programming language
that are used for sequential, conditional, and iterative
programming as well as modular constructs. [PS&CT c, d, e; C&IS
a, b, c]
- Identify the concerns related to the ethical and legal use
of advancing computer technologies. [E&PR b, c, e]
|
Together, the students and the
professor will:
- Discuss general scripting concepts.
- Discuss the features of HTML.
- Demonstrate, discuss, and practice getting user input in a
Web programming language.
- Discuss and practice debugging scripts.
- Demonstrate, discuss, and practice using system objects in a
Web programming language.
|
The student will:
- Answer questions about general scripting concepts and Web
languages in homework assignments and quizzes.
- Complete multiple projects involving the general features of
a Web programming language.
- Debug and modify existing programs written in a Web
programming language.
- Complete exams that assess understanding of structured Web
programming and scripting concepts.
|