Online discussion area
Location
Supplies
Class topics
Syllabus
License
The class materials are best viewed at https://mlhale.github.io/CYBR8470/
I have setup an online discussion board on slack.com for usage in this class. If you decide to work on a group project, I can create some private channels for you to work on, but I want to be able to participate in your conversations - so please use the space on slack.
Go to drhale8470.slack.com and use your unomaha email address to register an account. Alternatively, you can use this link.This will give you access to the class slack channel. The chat channel is for general discussions with me or your fellow classmates. The questions channel is for you to ask public questions that I will answer for the whole class. This is better than email if you think that the answer to your question might benefit everyone. You can also send me private messages. Generally I am faster at replying on slack than I am by email.
All classroom activities will take place in PKI room 361 unless otherwise noted ahead of time.
- Laptop with the ability to run Docker and a text editor
- Generally this means 6-8+ GB Ram, modern processor
- Ember Textbook (optional): Rock and Roll with Ember.js
- Django Documentation
- Introduction Module (Slides)
- Overview of Web apps
- Concept inventory
- Threat vectors
- HTTP Review
- REST API Exploration
- Github primer
- Container primer
- Web Services (Lecture 2 Slides)
- Background
- Service oriented Architectures (SOA)
- Web Service Standards (
WS-*
) - Methods: SOAP / REST / Web sockets
- Data Formats: XML, JSON
- Server-side Development in Django (Lecture 3 Slides)
- Intro to Django
- Server-side Model View Controller Pattern
- Django REST Framework
- Django in Docker
- Creating a new Web service
- Building API endpoint exercise
- Django Exercise
- Test-driven Development (Lecture 4 slides)
- Unit testing
- Pen testing Lab
- Acceptance critera
- think-test-build-test-repeat
- Software Architecture
- Reading: https://leanpub.com/visualising-software-architecture/read
- C4 MetaModel and Description: https://c4model.com/
- Client-side Development
- Browser Object Model Overview (Lecture 5 Slides)(Lecture 6 Slides)
- JQuery Overview
- MIT jQuery Lab
- Optional Codeacademy HTML/CSS Labs
- Optional Mozilla Developer Network Tutorials on HTML/CSS
- Optional Mozilla Developer Network tutorials on Javascript
- Optional Javascript exercises
- Asynchronicity is your friend
- Model View Controller
- Ember.js
- Ember.js lab
- Handlebars
- AJAX for External API integration
- Time to be creative
- Come up with your own project idea or implement something for a friend/family member or community organization
- Project Starter Code Example
- Project Milestone 1 - Product Ideation, Design, Mockup, and Prototype
- Project Milestone 2 - Implementation and Final Delivery
- Transition and Operation in Production
- POSTMAN and Continuous Integration
- Configuration and hardening
- Finishing up
- Class-wide Final Project - TBA
Date/Time: Thursday 5:30pm – 8:10pm .
Instructor: Dr. Hale
Office: PKI 174-D, (402) 554-3978
Office Hours: Open door policy, or by appointment
E-mail: [email protected]
.
See CANVAS.
Secure Web App Development Copyright (C) 2016 Dr. Matthew L. Hale
Copyright (C) Dr. Matthew Hale 2017-2023.
This lesson is licensed by the author under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.