1. Announcements > 
  2. Previous Semesters

Previous Semesters

Previous Semesters

  • Spring '23 Week 1
    • Spring '23 Week 3
      • Spring '23 Week 5
        • Spring '23 Week 7
          • Spring '23 Week 9
            • Spring '23 Week 12
              • Spring '23 Week 15
                • Summer 2021
                  • Week 2
                    • Milestone 4
                      • Milestone 5
                        • Sessions
                          • Week 7
                          • Summer 2022
                            • Summer '22 Week 1
                              • Summer '22 Week 2
                                • Summer '22 Week 3
                                  • Summer '22 Week 4
                                    • Summer '22 Week 5
                                      • Summer '22 Week 6
                                        • Summer '22 Week 7
                                          • Summer '22 Week 8

                                          6.0.0

                                          Last modified by: Russell Feldhausen May 27, 2022

                                          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
                                            • Previous Semesters
                                              • Spring '23 Week 1
                                              • Spring '23 Week 3
                                              • Spring '23 Week 5
                                              • Spring '23 Week 7
                                              • Spring '23 Week 9
                                              • Spring '23 Week 12
                                              • Spring '23 Week 15
                                              • Summer 2021
                                                • Week 2
                                                • Milestone 4
                                                • Milestone 5
                                                • Sessions
                                                • Week 7
                                              • Summer 2022
                                                • Summer '22 Week 1
                                                • Summer '22 Week 2
                                                • Summer '22 Week 3
                                                • Summer '22 Week 4
                                                • Summer '22 Week 5
                                                • Summer '22 Week 6
                                                • Summer '22 Week 7
                                                • Summer '22 Week 8

                                          •  
                                          •  
                                          •  

                                          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.