Course Objectives - The Astro Home Page

advertisement
CIS 2308 Web Application Programming – Syllabus
Instructor:
Phone:
E-mail:
Web site:
Sally Kyvernitis (pronounced Key-ver-NEE-tees)
215-204-2030 (office), critical calls 610-564-6563 (cell)
sallyk@.temple.edu, or (if temple mail is down) sally_kyvernitis@yahoo.com
www.astro.temple.edu/~sallyk (to find grades click on teaching)
Course Description
This course introduces the techniques used in the design and implementation of web applications.
Using development tools such as Dreamweaver, Eclipse, Netbeans, MSAccess and/or MySQL,
students write code for the browser (HTML, Cascading Style Sheets, javascript, ajax), web
application server software (JSP or .NET, supported by java or C# classes), and database server
(SQL). Students learn about internet protocols and how to work with web application objects (e.g.,
request, response, session). Students learn how design patterns such as MVC (Model-ViewController) are applied to the multi-tiered, distributed software that make up today’s web
applications. XML (a format commonly used to transfer data over the internet) and web services (a
method call to a remote computer over the internet) are discussed and demonstrated. Each student
will program their own web application, expanding on its functionality each week in the lab.
Learning Objectives
By the end of this course you will be able to:
 Create a web application using the following languages: HTML, CSS, javascript, JSP, java, and
SQL.
 Design a normalized data model (given business rules or screen shots of a proposed application).
 Describe the benefits of new technologies such as jquery (commonly used javascript function
library that provides client-side/browser animations), java beans (java objects that persist
between pages), ajax (partial page refresh), web services (class methods that can be called over
the internet), and Groovy/Grails (web application development framework based on Ruby/Rails
and MVC design pattern).
Syllabus for CIS 2308 Web Application Programming
Prerequisites


Grade of C or better in CIS 2107 Computer Systems and Low-Level Programming
Grade of C or better in CIS 2168 Data Structures
The only assumption is that all students have knowledge of the topics covered in the pre-requisite
courses listed above. All other topics will be introduced as new material, even though some topics
will be review for some students. Students with more experience can add extra functionality to
their weekly lab assignments (if they wish), as long as they meet all course requirements and submit
on time.
Textbooks and Resources
Web references and other materials will be posted in blackboard blackboard.temple.edu
Project and Labs
Each student will select a web application to implement. The topic of the web application could be
almost anything (subject to certain data model restrictions). Most of the weekly lab assignments
will enhance the student’s web application. By the end of the semester, each student’s web
application will allow users to log in and access (read, modify) data from a small database of about 3
or 4 tables. Although each student’s web application will have some images and a consistent
look/style, the focus of this course is not web site design, but rather how to design and implement a
reliable, secure, extensible, and manageable web application. At the end of the semester, the
whole project (that’s been growing through the weekly lab assignments) will be re-graded, so that
students have an opportunity to repair work that may not have been done just right at the time the
original homework was due. Students should be careful not to “over plan” and “under deliver” as
this will result in late penalties and poor grades.
“Lab Challenges”
So that all students may keep up with the pace of the class, the amount of work required for each
lab should not be overwhelming. To augment the modest labs, students are select two “Lab
Challenges”, depending on their interest, ability, and/or time constraints. Try to select at least one
of your lab challenges earlier in the semester (so that you don’t run out of time at the end of the
semester). Students also have the option to create their own lab challenge (must be approved).
2
Syllabus for CIS 2308 Web Application Programming
Tentative Lab Content – check blackboard for latest info and dates.










HTML (content), CSS (fonts, layout, colors, images)
Javascript, the DOM, HTML forms, email
Jquery (library of javascript functions that provide client-side/browser animations)
Data modeling, SQL
JSP (dynamic HTML): validating user input. Interfacing JSP code to java classes. Java beans.
MySQL Database management system. Database access from java/JSP
Web data formats: XML, JSON
Ajax (javascript “Partial page refresh” technique for more responsive web pages)
Web services
Web application development Frameworks
Course Policies and Procedures






Labs are typically introduced during the lecture prior to the lab. Although there may be some
additional instruction at the beginning of lab, the labs are mainly self-directed with help available.
The lab handout will be posted in Blackboard. DO NOT WORK AHEAD since labs may be changed
right up to the lecture where they are introduced.
The details of each lab assignment can be found in blackboard. At the end of each lab, there are
instructions for submission which usually includes that you attach a zip file of all your source code
right into the blackboard assignment (where the instructions were) AND publish to your website.
Grading typically consists of testing your work from your website and reviewing the code as
submitted into blackboard. Lab homework is due by noon the day before the next lab (unless
otherwise specified). Late penalties are based on time of submission into blackboard.
Lab homework submitted after the deadline (up to 1 week late) gets a 20% late penalty. Lab
homework is not accepted after that. If you start working on your homework the day before it is
due, you will probably miss the deadlines. IT IS IMPERATIVE that you ask for help if you find that
you are not working effectively on your lab homework.
At the beginning of lab each week there will be a QUIZ.
o The quiz will cover the previous week’s lab. Prepare for this by studying the previous lab
handout and reviewing the assignment you just submitted (from last lab).
o The quiz may also cover any material presented in lecture. Prepare for this by attending
lecture, taking notes, and reviewing materials posted in blackboard.
o Quizzes cannot be made up and if you arrive late, you will not be awarded extra time.
However, since every student will have the occasional issue, the lowest 2 quiz grades will
be dropped. If you attend each lab and study for each quiz, you can use your 2 drops to
cancel out your poorest grades (instead of cancelling out 0s for when you missed lab).
o Quizzes are weighed heavily. It is a quick feedback mechanism (for me and for you) – to
ensure that you are keeping up and learning the necessary material.
In lab, after you finish taking the quiz, start right away working on the lab. Don’t expect to
complete your lab homework during lab, but try to finish your lab homework as soon as possible
afterwards (you might need to ask for help).
Please NOTE the instructions on how to move your web application from one computer to
another (for example, from your home computer to a lab computer). It’s not a word document
that can be easily moved around and edited. It is a web application that needs to be “deployed”
3
Syllabus for CIS 2308 Web Application Programming





onto the destination computer. Students who don’t follow these instructions have many problems
trying to work in the labs (and deploying to their web site).
The computer labs in Wachman Hall are NOT open 24 hours 7 days a week. Learn the lab hours
and adjust your schedule accordingly. If you prefer to work from home, it is your responsibility to
set up your own development environment there, but I will help you as much as I can. Most
students who do not promptly set up a web development environment at home do not do well in
the course.
Attendance: If you must miss lecture or lab, check Blackboard to see what material was presented
and ask your classmates about anything else that may have been discussed.
Communication: Please contact me as soon as possible if you think you are running into
difficulties. Ask me, or your lab instructor, or another student for help AS SOON AS POSSIBLE.
Disability Disclosure: Any student who has a need for accommodation based on the impact of a
disability should contact me privately to discuss the specific situation as soon as possible. Student
must provide me with a note from the office of Disability Resources and Services (100 Ritter Annex,
215-204-1280).
Academic Honesty and Ethics: Temple University and I expect you to observe the highest ethical
standards. When working in the lab or on your project, you may consult others, but the work you
submit must be your own. Never share your answers with others. Never accept answers from
others. Unless otherwise directed, all quizzes are closed book, closed computer. All violations of
academic honesty will be handled according to university policy.
Tentative Grade Weights
Lab Homework
Lab Challenges
Final Web Project
Weekly Quizzes (lowest 2 dropped)
Final Exam
19%
6%
25%
30%
20%
100%
Grade Scale
95-100
90- 94
87- 89
83- 86
A
AB+
B
80-82
77-79
73-76
70-72
BC+
C
C-
4
67-69
63-66
60-62
0-60
D+
D
DF
Download