SRJC Course Outlines

4/17/2024 11:02:37 PMCS 55.13 Course Outline as of Fall 2018

Changed Course
CATALOG INFORMATION

Discipline and Nbr:  CS 55.13Title:  SERVER-SIDE WEB DEV  
Full Title:  Server-Side Web Development
Last Reviewed:10/24/2022

UnitsCourse Hours per Week Nbr of WeeksCourse Hours Total
Maximum3.00Lecture Scheduled3.0017.5 max.Lecture Scheduled52.50
Minimum3.00Lab Scheduled06 min.Lab Scheduled0
 Contact DHR0 Contact DHR0
 Contact Total3.00 Contact Total52.50
 
 Non-contact DHR0 Non-contact DHR Total0

 Total Out of Class Hours:  105.00Total Student Learning Hours: 157.50 

Title 5 Category:  AA Degree Applicable
Grading:  Grade or P/NP
Repeatability:  00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As: 
Formerly:  CIS 58.41

Catalog Description:
Untitled document
This is an introduction to server-side Web development using open source technologies as well as a comprehensive course in the server-side scripting languages such as PHP hypertext preprocessor scripting language. The course covers writing server-side scripts for the Web, such as PHP, procedural and object-oriented programming, Web form management, an introduction to SQL statements and databases. Advanced topics are covered including dynamic generation of content using databases, sessions, cookies, Web services, e-commerce, and authentication. Previous programming experience recommended.

Prerequisites/Corequisites:
Course Completion of CS 50A


Recommended Preparation:
Eligibility for ENGL 100 or ESL 100; AND Completion of CS 10A

Limits on Enrollment:

Schedule of Classes Information
Description: Untitled document
This is an introduction to server-side Web development using open source technologies as well as a comprehensive course in the server-side scripting languages such as PHP hypertext preprocessor scripting language. The course covers writing server-side scripts for the Web, such as PHP, procedural and object-oriented programming, Web form management, an introduction to SQL statements and databases. Advanced topics are covered including dynamic generation of content using databases, sessions, cookies, Web services, e-commerce, and authentication. Previous programming experience recommended.
(Grade or P/NP)

Prerequisites:Course Completion of CS 50A
Recommended:Eligibility for ENGL 100 or ESL 100; AND Completion of CS 10A
Limits on Enrollment:
Transfer Credit:CSU;
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP

ARTICULATION, MAJOR, and CERTIFICATION INFORMATION

Associate Degree:Effective:Inactive:
 Area:
 
CSU GE:Transfer Area Effective:Inactive:
 
IGETC:Transfer Area Effective:Inactive:
 
CSU Transfer:TransferableEffective:Fall 2002Inactive:
 
UC Transfer:Effective:Inactive:
 
C-ID:

Certificate/Major Applicable: Both Certificate and Major Applicable



COURSE CONTENT

Student Learning Outcomes:
At the conclusion of this course, the student should be able to:
Untitled document
1.  Design server-side solutions to support validation, authentication, business logic, and security.
2.  Develop server-side scripts employing SQL databases to create robust data-driven Web
    applications.

Objectives: Untitled document
Upon completion of the course, students will be able to:
1. Develop server-side scripts for publishing on the Web.
2. Employ control structures, functions, arrays and hashes to create robust applications.
3. Design rigorous code for validation and authentication with attention to security and
    performance.
4. Write SQL commands and use a database to develop data-driven Web applications.
5. Create an advanced project using server-side scripts and databases.

Topics and Scope
Untitled document
I. Introduction
    A. History of PHP
    B. Limitations of Server-Side Programming
    C. Dynamic Web Pages
    D. PHP and HTML
    E. Web Servers and Server-Side Programming
    F. PHP and Databases
    G. UNIX/Linux Environment
    H. Business Logic
II. Data and Operations
    A. Data Types (No Explicit Type Declarations)
    B. Variables
    C. Constants
    D. Operators
    E. Expressions
    F. Operator Precedence
III. Conditional Statements and Control Structures
IV. Functions
    A. Scope
    B. Static Variables
    C. Arguments
    D. Recursion
    E. Dynamic Function Calls
    F. Exception Handling
V. Arrays and Hashes
    A. Single-Dimensional Arrays
    B. Indexing Arrays
    C. Initializing Arrays
    D. Multi-Dimensional Arrays
    E. Casting Arrays
    F. Hashes
VI. Classes and Objects
    A. Defining a Class
    B. Constructors
    C. Accessing Properties and Methods
    D. Static Class Members
    E. Access Types
    F. Binding
VII. Input/Output and Disk Access
    A. HTTP Connections: Requests
    B. Writing to the Browser: Responses
    C. Request Methods
         1. GET Method
         2. POST Method
    D. Passing Arrays in Forms
    E. Cookies
    F. File Uploads
    G. Reading/Writing to Files
    H. Sessions
VIII. SQL Databases
    A. Introduction to SQL Databases and SQL Syntax
    B. Designing and Creating a Database with Tables in SQL
    C. SQL Data Types
    D. SQL Metadata
    E. Inserting Values into a SQL Table
    F. Retrieving Data from a SQL Table
    G. Deleting Data from a SQL Table
IX. Creating Dynamic Content with Server-Side Script and SQL
    A. Connecting to SQL
    B. Extracting Data Using server-side script
    C. Populating Form Menus Using Data from SQL
    D. Putting Returned Records into a Table
    E. Authentication with server-side script
         1. Using Sessions
         2. Using HTTP Header Authentication
X. Advanced Topics
    A. Web Services
    B. Authentication
    C. E-Commerce
    D. Other Server-Side Languages

Assignments:
Untitled document
1. Read approximately 25-30 pages a week from course textbook and/or instructor-provided
    reading materials, accompanied by self-test questions and running code examples
2. Create and complete programming solutions (12 - 16)
3. Regular participation in online discussion forums (6 - 14)
4. Define and create a final Web application project that utilizes client- and server-side
    development to output dynamic content and process client input
5. Quizzes (2 - 4), midterm, and final exam

Methods of Evaluation/Basis of Grade.
Writing: Assessment tools that demonstrate writing skill and/or require students to select, organize and explain ideas in writing.Writing
10 - 20%
Final project proposal, discussion posts
Problem solving: Assessment tools, other than exams, that demonstrate competence in computational or non-computational problem solving skills.Problem Solving
10 - 40%
Programming solutions
Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.Skill Demonstrations
20 - 50%
Final Application
Exams: All forms of formal testing, other than skill performance exams.Exams
10 - 20%
Quizzes, midterm, and final exam
Other: Includes any assessment tools that do not logically fit into the above categories.Other Category
0 - 10%
Attendance and participation


Representative Textbooks and Materials:
Untitled document
PHP and MySQL  for Dynamic Web Sites: Visual QuickPro Guide. 5th ed. Ullman, Larry. Peachpit Press. 2017
PHP and MySQL Web Development. 5th ed. Welling, Luke and Thompson. Laura. Addison-Wesley Professional. 2016
Murach's PHP & MySQL. 2nd ed. Murach, Joel and Harris, Ray. Murach & Associates. 2014

Print PDF