Web Application Programming

Design | Beginning | Intermediate | Advanced

Nothing detailed here is intended to take the place of the official college catalog descriptions. Please familiarize yourself with the catalog descriptions as well. Also note that the descriptions here are my approach to the classes listed. Other professors will have a different approach and philosophy.


Programming and computer science can be very challenging for most students. Programming classes will require a higher than average time commitment compared to many other classes.

Expect to commit significant time and effort to these classes.


ITSE 1301 Web Design Tools

This is an introductory course on web page and web site design. The course will focus on basic web page development concepts with an emphasis on design and layout, user interface (UI) and user experience (UX). In that regard, the class will focus on responsive design, mobile-first code, and mobile-friendly design.

This course is primarily a client-side formatting language course which studies the formating languages HTML and CSS. JavaScript will also be introduced from the perspective of basic document object model (DOM) manipulation (as opposed to structured programming). Libraries such as Bootstrap and jQuery, and their proper usage, will also be introduced.

The topics covered in the course will include but are not limited to:

  • Web page and web site layout and design.
  • The formatting languages HTML and CSS.
  • Responsive design, mobile-first code, and mobile-friendly design.
  • Basic UI manipulation with JavaScript.
  • Basic UI manipulation with jQuery.
  • Basic Bootstrap usage and design.
  • Web developer tools such as IDEs, HTML/CSS validators, and FTP.
[ back to top ]

ITSE 1311 Beginning Web Programming

This course picks up where Web Design Tools leaves off. The distinction of this and subsequent courses is the difference between web site design versus web application programming. This course assumes solid basic programming skill on the part of the student (Programming Fundamentals I is a prerequisite). Unlike Web Design Tools, this is a structured programming course with a focus on JavaScript, jQuery, and PHP as structured programming languages. Please check the pre-requisites before signing up for this class.

An emphasis will be placed on industry standard practices of division-of-concerns, unobtrusive code, modularity, and code re-use. The emphasis of this class is proper web application architecture.

The topics covered in the course will include but are not limited to:

  • Javascript (with an emphasis on ECMA 6.0+) and jQuery.
  • Extended mobile-first design with both raw CSS and Bootstrap.
  • Server-side coding including security, input processing, etc.
  • Division of concerns, modular design, loose coupling.
  • Templating and templating engines.
  • Introduction to databases relating specifically to web development.
  • Code repositories and version control.
  • Introduction to security concepts in web application development, including SQL injection, HTML injection, input cleansing and escaping, velocity checks, etc.
  • Web developer tools such as IDEs, HTML/CSS validators, and FTP.
[ back to top ]

ITSE 2302 Intermediate Web Programming


This class is extremely intensive and requires a very serious commitment from the student. Considerably more so than the previous two.

This course continues the concepts from Beginning Web Programming with an emphasis on server-side development, architecture, enterprise development, and advanced client-side development. This course will focus on the concept of "full stack" development.

The primary theme of this course is advanced and industry standard web application architecture and security. As such, back-end frameworks will be used for several programming assignments with a strict Model-View-Controller architecture. Strict division-of-concerns will be stressed along with modularity, code re-use, and object oriented programming. Please check the pre-requisites before signing up for this class.

The topics covered in the course will include but are not limited to:

  • Back-end frameworks and MVC design.
  • Division of concerns, modular design, loose coupling.
  • Templating and templating engines especially within an MVC architecture.
  • Enterprise architecture.
  • Advanced JavaScript including AJAX.
  • Intermediate Server side coding with PHP (possibly Node.js if time permits).
  • Code repositories and version control.
  • SQL injection, HTML injection, input cleansing and escaping, etc.
  • If time permits, advanced security concepts in web application development, incl. CORS, velocity checks.
[ back to top ]

INEW 2334 Advanced Web Programming

Course is not currently offered.

[ back to top ]