Web Engineering II CS 313

Syllabus

Prerequisites

Previously taken (CS 213 or CIT 336) and previously or currently taking (CS 246 or CIT 260)

Course Materials Needed

Objectives

This course builds upon Web Engineering I allowing students to create more advanced web applications and services. The emphasis of this course will be on server-side technologies and n-tier applications using relational database technology. Different server-side technologies will be used for creating dynamic n-tier web applications. Client side technologies will be enhanced and combined with server-side technologies to create rich; web applications.

At the end of this semester successful students will be able to:

  1. Create advanced web applications and services through server side programming and relational database technology.
  2. Build rich, dynamic, n-tier web applications.
  3. Demonstrate the ability and recognize the importance of separating web applications into tiers.
  4. Recognize the fundamentals behind and understand the advantages and disadvantages of the many different and competing web technologies.
  5. Independently learn and apply new technologies.

Learning Model Architecture

Prepare: You will be reading reference and tutorial websites and watching instructor demos.

Teach One Another: You will be participating in Team Readiness Exercises, posting helpful links, and working on team projects.

Ponder and Prove: You will be doing weekly programming assignments (both individual and team-based).

Activities And Assignments

Team Readiness Activity Instructions

At the beginning of each week, there will be a Team Readiness Activity designed to help reinforce the concept that will be covered that week, and give students an opportunity to teach one another, and to be prepared for the weekly assignment.

These activities are to be completed in teams (except for the first two weeks when we will have Individual Readiness Activities), and are designed to take less than an hour. Each activity is designed to be a straightforward application of the concepts of the week to help prepare students for the weekly assignment, which will require significantly more application, adaptation, and problem solving skills.

Face-to-Face students will complete this activity in class during the first class meeting of the week.

Online students need to coordinate a time to meet with their team members each week before Wednesday night when the assignment is due. At a minimum, online students should arrange a virtual meeting (Skype, Google Hangout, etc.), where they can verbally work together as the assignment is written. The assignment itself can be jointly co-authored in a real-time collaborative editor (Google Docs), or IT could be authored on a student's computer provided the screen is shared to allow the other team members to help describe what to type.

Each student is expected to read/watch the weekly preparation material before meeting with their teams to make the meeting time as efficient as possible. Each team member is expected to contribute to this deliverable, and each will submit a copy of the same files.

If circumstances require a student to be absent, they must notify the instructor and their teammates beforehand, in which case they will receive the same score as their teammates. Otherwise no credit will be given for the activity. In addition, at the end of the semester each individual will evaluate the contributions of their team members, which will also factor into the team activity score.

Assignments/Projects

An assignment/project and a self-assessment will be due each week on Saturday night. For much of the first half of the semester, students will work on an individual project, where the weekly assignments make up pieces of the overall project. For the second half of the semester, students will be divided into teams working on more in depth projects and will have weekly milestones to meet.

Exams

There will be one midterm exam and one comprehensive final exam.

Wiki and Developer Forum Discussion Board

Each week you should participate on either the Wiki or the Developer Forum discussion board by contributing at least one entry, post, or comment on another student's posting. You are encouraged to add helpful links to fixes you may have found, or anything interesting that is related to the course material. Feel free to visit with each other on the discussion boards and get to know your classmates. Ask each other questions if you are struggling with any concept, and help each other by providing answers to any questions you can.

Grading Policy

Grades will be assigned according to the following breakdown:

Assignments/Projects: 50%

Team Activities: 15%

Exams: 25%

Preparation Quizzes: 10%

Assessments

Grades for most assignments (unless otherwise noted) are assigned in broad terms according to the following scale:

50% - Some attempt was made

70% - Developing, but significantly deficient

85% - Slightly deficient, but still mostly adequate

93% - Meets Requirements

100% - Shows Creativity, and a desire to excel above and beyond

Final Grade Scale

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

Content

Lesson 00 - Introduction Course Introduction
Lesson 01 Introduction to Server Side Programming
Lesson 02 Additional PHP
Lesson 03 Database Concepts and Relational Database Design
Lesson 04 PHP Database Access
Lesson 05 Database Modification
Lesson 06 PHP Wrap-up and Midterm
Lesson 07 Java Servlets
Lesson 08 Java Server Pages (JSPs)
Lesson 09 Consuming Web Services
Lesson 10 Java Database Access (JDBC)
Lesson 11 Object-relational Mapping (JPA)
Lesson 12 Other Technologies
Lesson 13 Conclusion Conclusion Review and Final Exam

Academic Honesty

Be responsible for your own education. You may work with your classmates, but all individual work that is submitted must be original. When programming, share ideas but do not share code! Assistance from a classmate should be on par with the help you would expect from a lab assistant.

I encourage you to use the Internet as a resource, but recognize that you should not copy and paste someone else's work as your own. Cite all sources and follow copyright laws. When in doubt, give credit and be upfront.

The penalty for copying or plagiarism of assignments might be one or more of the following: a zero on the assignment, being asked to withdraw from the class, a failing grade in the class, or disciplinary action by the university.

Changes To Schedule And Assignments

Schedules, assignments, and policies are subject to change. You will be notified of any changes in class and on the course website.

Accessibility

Brigham Young University-Idaho is committed to providing a working and learning atmosphere that accommodates qualified persons with disabilities. If you have a disability and require accommodations, please contact the Disability Services Office (208) 496-9210. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the students and instructor by the Disability Services Office.