1. Announcements
Chapter Y

Announcements

Information for Current Students!

Previous Semesters Are Here

6.0.0

Last modified by: Russell Feldhausen Aug 10, 2023

CIS 526 | CC 515
Web Development

  • 0. Course Information
    • 1.Course Introduction
    • 2.Navigating Canvas
    • 3.Where to Find Help
    • 4.What You'll Learn
    • 5.Course Textbooks
    • 6.Spring 2025 Syllabus
  • 1. The Document Object Model
    • 1. Introduction
    • 2. Document Object Model
    • 3. CSS and the DOM
    • 4. JavaScript and the DOM
    • 5. JavaScript Events
    • 6. The DOM and External Resource Loading
    • 7. Summary
  • 2. Hyper-Text Transfer Protocol
    • 1. Introduction
    • 2. Browser Requests
    • 3. Request Format
    • 4. Request Methods
    • 5. URIs and URLs
    • 6. Request Headers
    • 7. Request Body
    • 8. Response Format
    • 9. Status Codes
    • 10. Response Headers
    • 11. Response Body
    • 12. HTTP 2.0
    • 13. Statelessness and Scaling
    • 14. Summary
  • 3. Asynchronous JavaScript
    • 1.Introduction
    • 2. Concurrency Approaches
    • 3. Concurrency Challenges
    • 4. Asynchronous Programming
    • 5. Web Workers
    • 6. Callbacks
    • 7. Promises
    • 8. Async and Await
    • 9. Summary
  • 4. Introduction to Node
    • 1. Introduction
    • 2. Event Loop & Console
    • 3. Asynchronous Functions
    • 4. Modules
    • 5. Packages
    • 6. Dependencies
    • 7. Git
    • 8. Summary
  • 5. Basic Web Servers
    • 1. Introduction
    • 2. HTTP in Node
    • 3. Request Handling
    • 4. The Importance of Being Async
    • 5. Caching for the Win
    • 6. Index Pages
    • 7. Partial Downloads
  • 6. Dynamic Web Servers
    • 1. Introduction
    • 2. CGI Scripts
    • 3. Server Pages
    • 4. Custom Servers
    • 5. Query and Hash Strings
    • 6. Form Encoding
    • 7. Request Body
    • 8. Cookies
    • 9. Sessions
    • 10. Template Rendering
    • 11. Script Injection
    • 12. Full Stack Development
    • 13. Summary
  • 7. Persistent Storage
    • 1. Introduction
    • 2. Data Serialization
    • 3. Databases
    • 4. Relational Databases
    • 5. SQL Injection
    • 6. Object-Relational Mapping
  • 8. Routing
    • 1. Introduction
    • 2. Request Routing
    • 2. Resources
    • 4. Request Revisted
    • 5. REST
    • 6. Routers
    • 7. APIs
    • 8. Web Hooks
    • 9. Summary
  • 9. Authentication
    • 1. Introduction
    • 2. HTTP Authentication
    • 3. Password Authentication
    • 4. Stronger Passwords
    • 5. Single Sign On
    • 6. CAS
    • 7. SAML
    • 8. JSON Web Tokens
    • 9. OAuth
    • 10. Summary
  • 10. Dynamic Web Frameworks
    • 1. Introduction
    • 2. Web Frameworks
    • 3. Web Framework Characteristics
    • 4. Single Page Apps
    • 5. Progressive Web Apps
  • A. Hyper-Text Markup Language
    • 1. Introduction
    • 2. HTML Element Structure
    • 3. HTML Document Structure
    • 4. Inline vs. Block Elements
    • 5. Tables
    • 6. Forms
    • 7. Common HTML Elements
  • B. Cascading Style Sheets
    • 1. Introduction
    • 2. CSS Rules
    • 3. CSS Selectors
    • 4. Applying CSS Rules
    • 5. CSS Cascade
    • 6. CSS Specificity
    • 7. CSS Units
    • 8. CSS Functions
    • 9. CSS Colors
    • 10. CSS and Text
    • 11. CSS Box Model
    • 12. CSS Positioning
    • 13. CSS Layouts
    • 14. Responsive Web Design
  • C. JavaScript
    • 1. Introduction
    • 2. Basic Syntax
    • 3. JavaScript Functions
    • 4. Arrays - Lists by Another Name
    • 5. Objects and Classes
    • 6. Attaching Scripts
    • 7. The Document Object Model
    • 8. Strict Mode
    • 9. Regular Expressions
    • 10. JSON
    • 11. AJAX
  • X. Example Projects
    • 1. Express Starter Project
      • 1. GitHub Codespace
      • 2. Express Starter
      • 3. Convert to ES Modules
      • 4. Debugging & Logging
      • 5. Request Logging
      • 6. Other Libraries
      • 7. Environment
      • 8. OpenAPI Documentation
      • 9. JSDoc Documentation
      • 10. Linting & Formatting
      • 11. Summary
    • 2. Adding a Database
      • 1. Sequelize
      • 2. Migrations
      • 3. Seeds
      • 4. Models
      • 5. Documenting Models
      • 6. Automation
      • 7. Another Table
    • 3. RESTful API
      • 1. API Design
      • 2. Unit Testing
      • 3. Code Coverage
      • 4. Other Tests
      • 5. Testing Roles
      • 6. Retrieve All
      • 7. Retrieve One
      • 8. Create
      • 9. Testing Create
      • 10. Update
      • 11. Delete
    • 4. Authentication
      • 1. Bypass Auth
      • 2. Cookie Sessions
      • 3. JSON Web Token
      • 4. Auth Routing
      • 5. CAS Authentication
      • 6. New Users
      • 7. Testing Authentication
      • 8. Role-Based Authorization
      • 9. Updating Tests
      • 10. Testing Roles
      • 11. Users API Updates
    • 5. Vue.js Starter Project
      • 1. Vue Starter
      • 2. Exploring Vue
      • 3. PrimeVue
      • 4. Routing
      • 5. Tailwind
      • 6. Dark Mode
      • 7. Icons
      • 8. API Proxy
      • 9. Authentication
      • 10. Route Guards
      • 11. Accessing API
    • 6. Vue.js CRUD App
      • 1. Roles View
      • 2. Users Table
      • 3. Edit User
      • 4. Edit Roles
      • 5. New User
      • 6. Delete User
    • 7. Advanced Topics
      • 1. Pinia
      • 2. Reusing Components
      • 3. Preparing for Deployment
      • 4. Dockerfile
      • 5. GitHub Actions
      • 6. Docker Compose
      • 7. External Database
  • X. Milestones
    • 1. Express Starter Project
    • 2. Add a Database
    • 3. RESTful API
    • 4. Authentication
    • 5. Vue.js Starter Project
    • 6. Vue.js CRUD App
    • 7. Advanced Topics
  • Y. Announcements
    • Spring '25 Week 8
    • Spring '25 Week 9
    • Spring '25 Week 10
    • Spring '25 Week 11
    • Spring '25 Week 12
    • Spring '25 Week 13
    • Spring '25 Week 14
    • Spring '25 Week 15

  •  
  •  
  •  

Built using Hugo and Hugo Relearn Theme.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.