CS 316 - Web Programming

 

Credits: 3

 

Course Description

 

This course introduces students to the World Wide Web, languages and techniques used for web programming, data transfer over the Internet, and the tools available in the web environment.

 

Prereqs: CS-216

 

Needed Skills

 

Proficiency with an object-oriented language (C++ or Java are examples), familiarity with an interpreted language (Perl is an example), familiarity with the Unix or Linux environment

 

Learning Outcomes

 

At the conclusion of this course, students are expected to understand:

1. The World Wide Web - protocols, architecture, and browser software

2. Dynamic web pages - protocols and methods to support dynamic web pages

3. Web programming languages - the popular programming languages and techniques used on the web

4. Data transfer methods over the web - the current methods for data transfer

5. Security issues of the web environment

 

Measures

 

Student mastery of course outcomes are evaluated by:

1. Homework assignments

2. Exam(s)

3. Assignments utilizing web programming techniques

4. Final exam

 

The exams cover topics of the course covered up to the time that they are given. The program assignments will measure the student’s ability to successfully develop web-based solutions. The final exam is comprehensive, covering all the topics of the course. The student self-assessment of the course outcomes is measured by the CS-316 course evaluation questions included in the university course evaluation at the end of the semester.

 

CAC Categories and Coverage

 

Topic

Core

Advanced

Math Fundamentals

2

 

Data Structures

7

1

Algorithms & Software Design

7

1

Computer Organization and Architecture 

4

1

Concepts of Programming Languages 

20

1

Social and ethical issues

1

 

Total  

41

4

 

Math Fundamentals (2): Core(2): parsing techniques (2)

 

Data structures (8): Core(7): Use of data structures in Web programming techniques(7)

Advanced(1): Use of data structures in servlets

 

Algorithms and software design (8): Core(7): browser software, web programming, data transfer over the web

Advanced(1): client-side vs. server side

 

Computer organization and architecture (5): Core(4): HTTP, client-server over the Internet

Advanced(1): security

 

Concepts of programming languages (21): Core(20): HTML, stylesheets, dynamic web pages, Java, applets

Advanced(1): servlets

 

Social and ethical issues (1): Core(1): web security, misuse of the web

 

Oral Communication

 

Optional oral reports to the class at the instructor’s discretion

 

Written Communication

 

Program assignments involving use of the web

Homework assignments

 

Coverage

 

Theoretical Content: 35%

Problem Analysis: 35%

Solution Design: 20%

Other: 10%

 

Student evaluation and feedback

 

Homeworks are graded (comments added as deemed necessary to clarify the grade), and the correct answers are available. The instructor is available to clarify any homework question.

 

The program assignments are an essential part of the course. They will illustrate the web programming principles taught during the course. Later programming assignments will attempt to integrate the Web programming methods taught into a large client/server application.

 

After exams are graded and returned to students, the exam answers are provided. The instructor goes over any questions that the students want to review, either in class (if of a general nature), or personally with the student.

 

Course Evaluation Questions

 

37. I understand the World Wide Web architecture.

38. I can create a dynamic web page and process the data from it.

39. I can use the popular web programming languages for both client and server programs.

40. I understand and can utilize the web data transfer methods.

41. I understand security issues relating to the World Wide Web

 

Possible Textbooks

 

Chris Bates
Web Programming
Wiley

 

Robert Sebesta
World Wide Web
Addison Wesley