CIS 1056 Advanced Web Technology and Programming - Syllabus

Course Description. In this course, students learn basic object oriented Java programming using a web browser for input and output. In addition, students will learn how to write and debug these other computer languages: JSP, SQL, HTML, CSS, and Javascript. This course focuses on fundamental programming concepts such as data types, type conversion, exception handling, assignment statements, methods, objects, conditions, and loops. In addition, students will:

·  Write HTML, CSS and JSP code to get user input and output (JSP implicit objects “request” and “out”).

·  Create and populate a database (using MySqlWorkbench)

·  Write Java code to read and update the database,

·  Write Java/JSP code to provide user log-in and restrict page access (JSP implicit objects “session” and “response”).

Prerequisite: Grade of C or better in C+IN SC 1052 Introduction to Web Technology and Programming.

Since students are expected to have prior knowledge of basic web design, HTML, CSS, and Javascript will only be reviewed briefly and not covered in any detail. Each student will create a very simple web application that (1) lists and inserts products, (2) lists and inserts users/customers, (3) provides log-in (4) restricts some pages to logged-in users. This course is intended for students in the Digital Media Minor. NOTE: if you have successfully completed CIS 2168 (Data Structures), then you cannot get college credit for this course.

Textbooks and Resources. Each student needs some java reference (for beginners), whether they purchase a paper copy or download a pdf free from the internet. This is the book that I am using (and you can order it though amazon.com).

Introduction to Java Programming, Comprehensive Version, 9/E
Y. Daniel Liang,Armstrong Atlantic State University

ISBN-10:0132936526 ISBN-13: 9780132936521

Publisher: Prentice Hall, Copyright: 2013
Format: Paper; 1344 pp, Published: 03/02/2012

Here are the chapters/topics that will be covered:

·  Chapter 1 Introduction to Computers, Programs, and Java

·  These chapters will be combined since JSPs will be used to gather text input & convert to numeric:

o  Chapter 43 JavaServer Pages (JSPs)

o  Chapter 2 Elementary Programming (and data types)

o  Chapter 9 Strings and Text I/O

o  Chapter 14 Exception Handling

·  Chapter 3 Selections

·  Chapter 4 Loops

·  Chapter 5 Methods

·  Chapter 8 Objects and Classes

·  Chapter 10 Thinking in Objects

·  Chapter 34 Java Database Programming

·  Chapter 42 Servlets and Chapter 45 Web Services (very light coverage – definition only)

For topics that are more specific to web application programming, tutorials and other web resources will be provided as reference.

Project and Labs. Each student will create their own web application that reads from a database and offers some product for sale. Students will use development environments in our computing labs (e.g., NetBeans, MySqlWorkbench), but students will also receive instructions to set up these same (free/open source) development environments on their PCs/MACs at home. Each week, students will be given a small lab assignment that will enhance the functionality of their web application. Most lab assignments will provide sample code which serve to guide the students as they write (similar) code to enhance their web application. Since “doing” is critical to learning, lab assignments must be submitted each week (see late penalty policy below). If a student is unable to submit a lab, they should still complete the work since it will be re-graded as part of their final project. Students should be careful not to “over plan” and “under deliver” their web applications as this will result in late penalties and poor grades.

Tentative Lab List: check blackboard for latest info and dates.

1.  Home page

2.  Calculate

3.  Conditional Logic

4.  Methods

5.  Objects

6.  Databases

7.  Loops

8.  Logon

9.  Register

10.  Update & Delete (time permitting)

Course Format

·  Tests. There will be 3-4 tests with no final exam. The tests could be administered in lecture or lab (hands on). There are no make-up tests. If you miss a test, discuss your situation with the instructor - an accommodation might be possible, depending on the circumstances.

·  Weekly Lab Assignments.

o  Weekly programming homework assignments are highly related to lecture topics. Each lab is described in a Blackboard assignment. In order to receive a lab grade, you have to publish the required functionality and submit the source code (a zip file of your whole web site) into the blackboard assignment.

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 and edited. It is a web application that needs to be “deployed” 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).

o  It is very important to know how to debug in each of the languages that we use (HTML, CSS, javaScript, jQuery, JSP, java, and SQL). Be sure to pay close attention to important information about how to debug for each lab.

o  Lab due dates are defined in one place - the lab schedule at the top of Blackboard. You can submit a lab up to 24 hours late with no penalty (as a courtesy, to allow you time to publish, test, and submit your code). If you miss the lab deadline, you can still submit up to 1 week late (also with the 24 hour courtesy) – with a 20% late penalty. Lab homework is not accepted after that, but you still have to complete the work by the project due date (or your project grade will suffer).

o  Lab grades are typically based on functional testing that occurs within 1-2 weeks of the lab’s due date. Remember to regression test each week so that you do not introduce errors into previously published code. If there is ever any question about a lab grade, we re-evaluate based on the source code that was submitted into Blackboard (the lab in question but also could be subsequent submitted labs, if they introduced an error). Late penalties are based on the date of the blackboard submission.

·  Use of Lab Time. Every week in lab there will either be a graded test or lab activity.

o  Lab activities are short assignments that must be started and completed in lab, then shown to the Lab Assistant for grading. If you miss a lab activity, there is no make up, but you can drop your lowest lab activity grade.

·  Project. Your project is the culmination of all your labs. Your project grade is based on functional testing plus a code review of all the source code. So be sure to keep your code (each week) bug free, well organized, and with self-documenting names.

Course Policies and Procedures.

·  The CIS department computer labs 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 Activities (must be completed in lab) / 10%
Lab Homework (weekly programming assignments) / 20%
Final Web Project / 20%
3-4 Tests (no final exam) / 50%
100%

Grade Scale

95-100 A
90- 94 A-
87- 89 B+
83- 86 B / 80-82 B-
77-79 C+
73-76 C
70-72 C- / 67-69 D+
63-66 D
60-62 D-
0-60 F

2