CSSE280 – Introduction to Web Programming

Fall, 2019-20

Schedule Overview

All non-Moodle web pages for the course are available from This index page.

This schedule page will be updated regularly throughout the term. I’ll often update daily schedules and slides just before class.

Preparation is to be completed before the class session.

Unless otherwise noted, all assignments are due at 11:59 PM on the day indicated. I recommend that you complete them before midnight the day before, but some students believe that their best work times are after midnight.

Schedule last updated Tue Nov 12.

Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Week Session Preparation Due Topics Resources
0

1

Thu Sep 5

  • By the end of Day 1 class (We'll do most of these together):
    • Sign and submit the contract (you will receive a printed copy in class)
  • Course introduction
  • Roll Call
  • Establish in-class "lab partners"
  • Install Relevant Tools
1

2

Mon Sep 9

  • Review the Syllabus, bring questions to class.
  • HTML & CSS (that stands for the HTML & CSS: design and build websites book) Skim Chapter 1
  • HTML & CSS Chapters 2 and 3. Read these carefully.
  • A lot of reading, but reading is all you have to do for this class for the first three sessions.
 
  • HTML Structure, Text, and List elements
    • br tag
    • em and strong tags
    • list tags
    • Attributes and values
    • Elements with no content and no closing tag
    • hr tag
    • dl, dt, and dd tags
    • q and blockquote tags
    • del and ins tage
    • abbr and code tags
    • sup and sub tags
  • Exercises on Basic HTML
1

3

Tue Sep 10

  • HTML & CSS Chapters 4, 5, and 8. Read these carefully.
  • HTML link and image elements, extra markup
    • Block vs. inline elements
    • img tag
    • link elements
    • HTML character entities
    • HTML Comments
    • HTML-encoding text that contains special characters
    • meta tag
    • div and span elements
1

4

Thu Sep 12

  • HTML & CSS Chapters 10, 11, and 12. Read these carefully.
  • CSS Introduction
    • Associating style rules with HTML elements
    • CSS Properties affect how elements are displayed
    • Two ways to incorporate CSS code
    • CSS selectors
    • How CSS rules cascade
    • Inheritance
2

5

Mon Sep 16

 
  • In-class quiz on Basic HTML
  • Specifying colors with CSS
    • How to specify colors
    • Color terminology and contrast
    • Background color
  • Formatting text with CSS
    • Size and typeface of text
    • bold, italics, capitals, underlines
    • Spacing between lines, words, and letters
2

6

Tue Sep 17

  • HTML & CSS Chapters 13, 6, and 14. Read these carefully.
  • The CSS Box model
    • Control the dimensions of boxes
    • Explain the CSS box model for borders, margin, and padding
    • Create borders around boxes
    • Set margins, and padding for boxes
    • Display and hide boxes
2

7

Thu Sep 19

  • JavaScript & JQuery book: Chapters 1, 2. Read these chapters before class.
  • Tables (at your own pace )
  • How JavaScript makes web pages interactive
  • What is a script and how to create one
  • How computers fit in with the world around them
  • How to write a script for a web page
3

8

Mon Sep 23

  • JavaScript & JQuery book: Chapter 3. Read before class.
  • Basic JavaScript Instructions
    • JavaScript statements
    • JavaScript comments
    • JavaScript variables
  • Basic JavaScript Instructions
    • Data types JavaScript
    • Operators in JavaScript
  • JavaScript functions
  • JavaScripts Objects and Methods
3

9

Tue Sep 24

 
  • JavaScript functions
    • Write JavaScript functions that return one or more values
    • Create anonymous functions in JavaScript using function expressions
    • Immediately invoke function expressions
    • Describe how memory and variables work in JavaScript
    • Explore JavaScript function calling patterns
3

10

Thu Sep 26

  • JavaScript & JQuery book: Skim Chapter 4, read chapter 5.
  • Exam 1 Review
  • Project Kick off
  • Template literal
  • Optional parameters and default values
  • JavaScript Classes and Objects
4

11

Mon Sep 30

 
  • Exam 1 in class
  • Exam 1 in class
 
4

12

Tue Oct 1

 
  • More on JavaScript functions
    • Explore JavaScript function calling patterns
    • JavaScript Closures
4

13

Thu Oct 3

   
  • The Document Object Model
    • The DOM tree
    • The DOM is an API
    • Locating nodes that represent the elements you want to work with
    • Traversing the DOM
    • Using an element's text content, child elements, and attributes
    • Adding and removing elements from the DOM tree
    • Working with attribute nodes
5

14

Mon Oct 7

   
5

15

Tue Oct 8

  • JavaScript & JQuery book: read chapter 6.
  • Project Milestone 1. Initial Planning and Front-end Pages
    due 11:55pm
  • In-class exercise on DOM events
  • DOM events
    • What happens when an event occurs
    • Different event types
    • Steps of event handling
    • Binding an event to an element
    • Using parameters with event listeners
    • Using properties of the event object
    • Using methods of the event object
6

16

Mon Oct 14

  • JavaScript & JQuery book: read chapter 8
  • HTML & CSS book: read chapter 7
  • Forms and AJAX
    • How forms work
    • Form controls
    • HTML5 form controls and form validation
    • AJAX and its use in asynchronous communication
    • using jQuery AJAX wrapper to make AJAX requests
6

17

Tue Oct 15

  • JavaScript & JQuery book: read chapter 7
  • Project Milestone 2. Mocks and Front-end Deployment
  • jQuery
    • What is jQuery and what are the merits of using it
    • Ways to include jQuery in a web page
    • Using CSS-style selectors and other jQuery selectors to select HTML elements
    • Doing things with jQuery selection
    • Rewriting JavaScript application using jQuery
6

18

Thu Oct 17

 
  • Exam 2 in class
  • Exam 2 in class
 
7

19

Mon Oct 21

  • Read Express in Action book chapters 2, 8.1 - 8.2
 
  • Node Javascript runtime
  • Introduction to MongoDB
7

20

Tue Oct 22

  • Read Express in Action book chapters 1, 3, 5
  • Building server back-end application with express.js
    • Describe the express framework
    • Install express local in a project
    • Start building a simple express application that interacts with a MongoDB database
7

21

Thu Oct 24

 
  • Project Milestone 3. Sprint 0 Plan
  • Building server back-end application with express.js
    • Build and expose a back-end API with express.js, Node.js, and MongoDB
    • Use Postman (an API testing tool) to test the back-end API
8

22

Mon Oct 28

 
  • Express middleware & routing
    • Express middleware
    • How middleware works at a high level
    • Express built-in middleware
    • Third-party middleware libraries
    • Various components of routing
      • Route methods
      • Route paths
      • Route parameters
      • Route handlers
      • Response methods
    • Different ways to do routing
8

23

Tue Oct 29

 
  • Project Milestone 4. Datastore Model Object Design, Sprint 0 Results, and Sprint 1 Plan
  • Connecting front-end application with back-end
    • Single-origin policy
    • Supporting cross-domain requests
    • Providing CORS support in back-end server
    • Using Ajax in front-end application to request data from remote back-end server
8

24

Thu Oct 31

 
  • REST API
    • What is REST?
    • 6 constraints that characterize REST
    • Rules for building a REST API
    • Associating status codes with responses to REST API requests
9

25

Mon Nov 4

 
  • Project Milestone 5. Sprint 1 Results and Sprint 2 Planning
  • Rosefire authentication
  • Begin pushing a website live on the Internet (see next session)
9

26

Tue Nov 5

   
  • Pushing a website live on the Internet
    • Deploying a server API application to Heroku
    • Deploying a database to MongoDB Atlas
    • Connecting a server back-end application to a MongoDB Atlas hosted database
9

27

Thu Nov 7

 
  • Running code on Node.js
  • Completion of Web app deployment lab
  • Project work time
10

28

Mon Nov 11

   
  • Modules, libraries, frameworks and other tools that can facilitate creativity and productivity
  • Project work time.
  • Show me current state of your project.
10

29

Tue Nov 12

   
  • Course evaluation
  • Review for final exam
10

30

Thu Nov 14

 
  • Milestone 7. In-class Final Presentation
    Milestone 8a. Technical Doc. DUE: Sunday 11/17 11:55pm
    Milestone 8b. Code Submission DUE: Sunday 11/17 11:55pm
    Milestone 9. Evaluations DUE: Wednesday 11/20 11:55pm
  • Project demos/presentations; attendance is required.