Queen's School of Computing

CISC 282/3.0 Fundamentals of Web Development

Original Author: Bob Tennent
Last Revised: March, 2015

Calendar Description
This course surveys current best practices for implementing attractive, usable, secure and maintainable web applications. Other issues considered include: accessibility, platform and browser independence, licensing of intellectual property, scalability, user privacy, and using web technologies in mobile development.
Note: This course is suitable for any student with some programming experience.

Learning Hours: 120 (36L;84P)

Prerequisites Level 2 and (CISC 101/3.0 or CISC 110/3.0 or CISC 121/3.0 or some programming experience).

Objectives

This course will provide an overview of how the Internet works and how scalable and secure web sites can be built using tools and technologies of professional web developers. Students will implement small web sites and associated applications using elementary technologies and will then learn to adapt these sites to suit multiple target platforms, from mobile phones to traditional desktops. More advanced technologies and approaches will be described in lectures.

Topics
  • Introduction: principles and design issues
  • Technological context: TCP/IP, varieties of web browsers, standards
  • Text mark-up: HTML, menus, frames, tables, forms, image maps
  • Web typography: layout, fonts, colour, use of images
  • Separating form and content: CSS
  • Client-side programming: JavaScript
  • Adapting a site to scale from phones to desktops and beyond
  • An HTML5 primer, including the use of multimedia
  • Dynamic web-page creation: e.g., PHP
  • Server-side programming: e.g., mySQL
  • Client-server interaction: AJAX
  • Using HTML/CSS/Javascript to develop mobile applications
  • Web-application and content-management frameworks: e.g., Ruby on Rails, Drupal, Word Press
Possible Textbooks and References
  • R. Sebesta: Programming the World Wide Web, Pearson (2008).

  • H. Deitel and P. Deitel: Internet and World Wide Web, How to Program, Prentice Hall (2008).

  • J. Stark and B. Jepson: Building Android Apps with HTML, CSS, and JavaScript, 2nd edition, O'Reilly (2012)

  • J. Nielsen: Designing Web Usability, New Riders (2006).

  • D. Goodman: Dynamic HTML: The Definitive Reference, O'Reilly (2006).

  • D. Flanagan: JavaScript: The Definitive Guide, O'Reilly (2006).

  • E. Meyer: Cascading Style Sheets: The Definitive Guide, O'Reilly (2006).

  • J. Eichorn: Understanding AJAX: Using JavaScript to Create Rich Internet Applications, Prentice-Hall (2007).

  • CSE 190M Web Programming (University of Washington)

  • COMP 266 Introduction to Web Programming (Athabasca University)

  • CSC 309H1 Programming on the Web (University of Toronto)