CSE 383 Web Application Programming (3 credits)

Typically offered in the spring and fall semesters.

Catalog description:

An introduction to the software, concepts and methodologies necessary to design and implement web applications. Students will design and construct web applications utilizing remote servers on multiple platforms. Projects will be used to enable the students to apply the principles and techniques presented in class.

Prerequisites: 

CSE 278

Required topics:

  • Introduction/Overview
  • Web
    • HTML
    • CSS
      • Bootstrap / Foundation
    • Responsive designs
    • ADA issues
  • Server Side
    • Introduction to scripting languages such as PHP and .NET or Tomcat
    • Database-driven sites
    • Handling forms
    • Sessions
    • Authentication
    • MVC design pattern
    • Templating
  • JavaScript
    • DOM manipulation
    • Event handling
    • Form handling
    • jQuery
  • AJAX Applications
  • Frameworks
    • Such as AngluarJS / Backbone / Ember
    • Bootstrap
  • Security
    • Authentication
    • Safely handling sessions
    • Safely handling data provided by users
    • HTTPS and mixed HTTP/HTTPS issues
  • Exams/Presentations

Learning Outcomes:

1. Describe technologies used to implement web applications

1.1. Describe the nature of the web applications, frameworks and their various architectures including the role of the client (JavaScript programs) and backend servers.

1.2. Describe and utilize web protocols of HTML, HTTP/SPDY (2.0), CSS, JSON, XML.

1.3. Create modern web applications using responsive design technologies that include well designed HTML, CSS, JavaScript and AJAX calls.

1.4. Describe and use JavaScript programming to create web applications.

1.5. Create interactive web applications using forms and other user input methods to gather and present data in interactive settings.

2. Implement web applications utilizing contemporary technologies and tools

2.1. Implement web applications using AJAX and related back end server support.

2.2. Develop responsive design-driven programs.

2.3. Describe concepts related to using databases, both relational and non-relational.

2.4. Use concepts of MVC and templating in the creation of web applications.

3. Describe and create programs that utilize proper error and security procedures as related to web applications

3.1. Describe and implement common error handling conditions as they relate to networked programming.

3.2. Describe security handling conditions that must be tested and handled by programs.

3.3. Describe security concerns relating to communication protocols such as HTTPS including strengths and weaknesses. Students will be able to implement and test situations using https.

3.4. Implement programs that properly catch, handle and recover from errors.