CS 313 | Web Engineering II

Course Syllabus

General Information

Prerequisites

CS 213 and CS 246 (or concurrently enrolled ) or CIT 260 and CIT 336

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 synchronous team activities, 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 Activity Instructions

At the beginning of each week, there will be a team 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.

Students need to coordinate a time to meet with their team members each week before Wednesday night at 11:00 when the assignment is due. Assignments are always due at 11:00 PM Mountain Time, so if someone in your group is in a later time zone, it is your responsibility to find a meeting time that will make it possible for you to turn in your assignment on time. 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.

If circumstances require a student to be absent, they must notify the instructor and their teammates beforehand, in which case the instructor can determine an appropriate solution. 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.

Each team member is expected to contribute to this deliverable. At a minimum, 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.

Assignments/Projects

An assignment/project will be due each week at 11:00 PM on Saturday night Mountain Time. 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 administered on I-Learn.

Developer Forum Discussion Board

Each week you should participate in the weekly developer forum discussion board by contributing questions and answers. 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:

Assessments

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

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

Week 01 Course Introduction
Week 02 Introduction to Server Side Programming
Week 03 Additional PHP
Week 04 Database Concepts and Relational Database Design
Week 05 PHP Database Access
Week 06 Database Modification
Week 07 PHP Wrap-up and Midterm
Week 08 Java Servlets
Week 09 Java Server Pages (JSPs)
Week 10 Consuming Web Services
Week 11 Java Database Access (JDBC)
Week 12 Object-relational Mapping (JPA)
Week 13 Other Technologies
Week 14 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.

You are encouraged 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

In compliance with the Americans with Disabilities Act, all qualified students enrolled in this course are entitled to "reasonable accommodation." It is the student's responsibility to disclose to the teacher any special need she/he may have before the end of the first week of class.

Maintaining a Safe Learning Environment

BYU-Idaho prohibits sex discrimination against any participant in its education programs or activities. Prohibited sex discrimination includes incidents of sexual harassment (including sexual violence), dating violence, domestic violence, sexual assault, and stalking (collectively "sexual misconduct").

As an instructor, one of my responsibilities is to help create a safe learning environment for my students and for the campus as a whole. University policy requires that I report all incidents of sexual misconduct that come to my attention. If you encounter sexual misconduct, please contact the Title IX Coordinator at titleix@byui.edu or 208-496-9209. Additional information about sexual misconduct and available resources can be found at www.byui.edu/titleix.