Link Search Menu Expand Document

Course Outline: LE/EECS 4413 3.00 Building E-Commerce Systems


Table of contents
  1. Calendar Description
  2. Topics (with relevant technologies parenthesized)
    1. The Server Side
    2. The Client Side
    3. Cross-Cutting Themes
  3. Expected Learning Outcomes
    1. Concepts (from the Academic Calendar)
    2. Applied Skills
  4. Prerequisites
    1. Required
    2. Helpful or Related (but not required)
  5. Textbook
  6. Assessments
  7. Weekly Schedule

Calendar Description

This course studies the technical infrastructure that underlies Electronic Commerce on the Internet. The foundational concepts are presented through a series of projects that use industrial-strength frameworks, standard-compliant technologies, and a variety of messaging protocols. Best practice, security, and performance issues are emphasized throughout. Good knowledge of Java is assumed. Familiarity with upper networking protocols, HTML, JavaScript, and SQL is helpful but not required.


Topics (with relevant technologies parenthesized)

The Server Side

  1. TCP and HTTP, Stateful and RESTful Services, Cloud Computing (sockets/Thrift, Web Servers, NodeJS/Tomcat, AWS, Google Cloud Platform)
  2. The Data Tier (DAL/DAO, XML/JSON, JAXB/Gson, JDBC/SQL)
  3. Web Analytics (lifetime event listeners, ad-hoc features and filters, tracking)

The Client Side

  1. Content, Presentation, Formatting, and Behaviour (XML, HTML, CSS, JavaScript)
  2. Binding and Templating (TypeScript, Express, Handlebars, Angular or React)
  3. Dynamic View Generation (SPA, DOM, Ajax, JSON)

Cross-Cutting Themes

  1. Design Patterns and Best Practice (MVC)
  2. Security (firewall, authentication, CSRF, SQL Injection, …)
  3. Scalability and Emerging Trends (caching, threading, connection pooling)

Expected Learning Outcomes

Concepts (from the Academic Calendar)

  1. Develop an appreciation of the pieces that make up the web landscape and how these pieces interact with each other.
  2. Build a complete web application that incorporates session management, database access, and analytics on the server side, and page formatting and interactivity on the client side.
  3. Build restful web services that interact with Ajax-powered client apps using a variety of transport protocols for data transfer.
  4. Become familiar with, and adhere to, best practices and design patterns to ensure code maintainability, interoperability, and scalability, and to minimize exploitable vulnerabilities.
  5. Learn how to build complex applications collaboratively through building abstractions and APIs, naming conventions, documentation, and organizing.
  6. Compare and contrast existing frameworks and approaches and develop an insight into the tectonic forces that are driving the trends.

Applied Skills

  1. Create a server or client of a given specs and exchange data in various encodings.
  2. Create a webapp (or critique one) that serves a page, performs a computation (possibly involving a database or a service), and returns the result to the client.
  3. Given a webapp, augment it with analytics and client-side behaviour.
  4. Given a webapp, identify its security vulnerabilities, harden it, and add authentication.
  5. Given a webapp, turn it into a service and shift its view handling to the client side.
  6. Explain one of the covered frameworks and apply it to a given webapp.

Prerequisites

Required

  • General prerequisites: a cumulative grade point average of 4.5 or higher over all major EECS courses.
  • LE/EECS 2011 3.00 Fundamentals of Data Structures
  • LE/EECS 1012 3.00 Introduction to Computing: A Net-centric Approach
  • LE/EECS 1550 3.00 Introduction to Web Development
  • LE/EECS 2041 4.00 Net-Centric Computing (no longer offered)
  • LE/EECS 3214 3.00 Computer Network Protocols and Applications
  • LE/EECS 3421 3.00 Introduction to Database Systems
  • LE/EECS 3482 3.00 Introduction to Computer Security

Textbook

None Required. Recommended resources include:


Assessments

See Assessments & Grades.


Weekly Schedule

See Schedule.


Back to top

Copyright © 2021 Vincent Chu. Course materials based on and used with permission from Professor Hamzeh Roumani.
Last updated: 14 October 2021 at 01:21 AM EDT