Grace Hopper Center

CSC 221 Weekly Assignments: Week 18

CSC 221


Overview

Jeff was happy to work with Kendyl on PCEP prep this past Saturday. If you'd like to take another crack at it, next Saturday, January 17 from 9 am to 12 noon will be your last opportunity to do so.

Friday, January 16th

We'll start with a quiz to make sure you're keeping up with Django's URL Routing and MVT structure

Discussion - Security

Today we'll chat about security - we know enough now to be dangerous, so there is some responsibility involved in building the kinds of dynamic web applications what we'll build this semester.

We'll spend a few minutes reviewing Dr. Chuck's danger example and then we'll play with some of our own examples. Specifically, we'll layer in our knowledge of SQL to investigate SQL Injection Attacks and our knowledge of JavaScript to investigate Cross-site scripting attacks

Once we understand the theory, we'll try it out by hacking a bank (... a pretend one!) Here's our victim

Finally, we'll look at the silly story of Little Bobby Tables

Classwork - Templates

Now that we know to use the escape() function, we'll start building some of our own django templates. For this activity, we'll return to our blank DJango apps that you setup with Jeff in week 14 (see the instructions here: Setting Up Your Local Workstation for Django Development)

We'll walk through the process of setting up our first view together, and then you'll repeat the process on your own for homework.

Homework

You should make a total of **three** new templates (not counting our icecream example from Monday). Each template should:

This assignment is due before the start of class on Wednesday. We'll grade each-other's pages at the start of class on Wednesday.

Wednesday, January 14th

Classwork

Today is a short day, so we'll dive in quickly! Our goal today is to make sure we understand how all three parts of the Django app come together.

First, we'll all clone Dr. Chuck's DJ4E sample repo, and we'll get it running.

From there, we'll slowly walk through a few of the samples:

  • views/game, tmpl/game, and views/rest
  • views/danger/

There is a lot to know about the "danger" example. We'll play with it a lot more next time.

Homework

No homework! The assignment that I originally planned for homework today will be moved to next week. Check out next Wednesday's less on plan for that assignment.

Monday, January 12th

Classwork

For this class, we'll play with Django's Template Engine, and then for homework you'll watch Dr. Chuck's videos about Django Views, which are the glue that holds all of Django together.

We'll start today with a quiz on the template videos.

After that, we'll have a little chat about template engines, and how useful for all kinds of things. Chris **loves** template engines, so he'll have a lot to say here =).

To practice with template engines, we'll create a simple Static site generator(SSG) , which uses a template engine to minimize repetition. We wrote some starter code for a book review website here:

starter code. And for homework, you should work on adding a few more books to your website.

Homework

Now that we understand Models and Templates, it's time to learn about views. This will be an exciting time, because we'll finally be able to put everything together and start building complete Django apps.

For homework, watch and take notes on these videos: