CS 479 Web Programming II

From Computer Science at Indiana State University
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Catalog Description

  • Advanced programming for the World Wide Web and the Internet. This course includes client and server side programming with HTML/CSS/ECMAScript on the client side and PHP/mysqli scripting on the server. As well as some server side configuration using the Apache web server. Prerequisite - C or better in CS 170 and CS 201.

Prerequisites

  • Basic understanding of HTML, CSS and JavaScript (ECMAScript) in the browser


Standard Content

Course Outline

  • Review of CS170 concepts:
  • Basic HTML: basic formatting, lists, tables
  • Extensive HTML forms review
  • Basic CSS: selectors, box model, colors, fonts
  • JavaScript/ECMAScript review: basic data-types, variables and scope, functions, conditionals, loops.
  • The DOM, document and window objects, events and the event object
  • PHP Scripting:
  • Output
  • Data-types and scoping
  • Super-Globals: $_GET, $_POST, etc.
  • Language features: functions, conditionals, loops: while, for, foreach
  • MySQL/MariaDB:
  • Databases and tables
  • Data-types
  • SQL syntax: creating table, insert, update, delete and select
  • The PHP Mysqli interface (switch to PDO?)
  • simple vs. prepared statements
  • Security, escaping strings, input validation, etc
  • AJAX: Asynchronous client/server pages via XMLHttpRequest and JSON encoded data.
  • HTTP authentication schemes including HTTP auth, PHP sessions, creating long lived sessions using sessions cookies coupled with a user and sessions tables, password hashing, SSL/TLS security
  • WebSockets (time permitting)

Learning Outcomes

  • HTML forms, client side ECMAScript-ing and server side PHP scripting and MySQL. Understanding of basic web security concepts.

Important Assignments and/or Exam Questions

  • CS170 style review problems:
  • Creating static HTML forms and submitting to a PHP form handler
  • Dynamic PHP pages using $_GET variables
  • Simple ECMAScript dynamic server pages (PHP generated server side data requested via XMLHttpRequest() on the client.)
  • Creating tables and inserting data into a MySQL database via PHP from files / web forms.
  • Paginated display of a database w/ column sorting via server side PHP/Mysqli
  • Chat client/server (time permitting)

Standard resources

  • W3Schools, Mozilla Developer Network (MDN)
  • PHP.net, Mariadb.org, etc.