- Prof. Dancy's Site - Course Site -

CSCI 204 (Data Structures and Algorithms) Final Project


Shortcuts:

Phase 1 Page, Phase 2 Page

Objectivs & Overview
Project Deliverables
Project Point Breakdown

Project Milestones & Dates

Teams of three students
Teams will be assigned by Prof. Dancy

Due-Dates:

Objectives (Through all phases)

Combating crime one data point at a time!

SCRUFFY THE CRIME DOG IMAGE
Scruffy the crime dog wants you to take a bite out of crime

Final Project Overview

Back to shortcuts

Scenario

SCENARIO IMAGE
Scenario

You're group is an elite group of developers that have been contracted by the Chicago Information Sciences Department. You've been asked by the Police Chief to develop a new police patroll dispatch system that his officers can use to fight crime in the most efficient way possible.

Police chief (simpsons) IMAGE
The police chief is relying on you to help combat crime

The Chief made this back of the napkin drawing to help you think about what he envisions as the final system (the Decision Engine)

Confused gif

To help with this, he's given you a dataset of previous crimes so that you can decide how you'll handle those new data that you'll be reading in.

You will carry out the following steps (not necessarily in order) to bring your project from concept to completion:


Final Phase Objectives

Back to shortcuts

For the final phase, we'll focus on reflection, revision, and packing our final software product for the police commisioner
In this part of the phase you will (hopefully) begin to think of your solution as more than just a technical solution, but instead a sociotechnical solution.
After all, all systems and artifacts we create are situated within our socio-cultural society and it is part of our jobs as responsible & ethical system designers and developers to realistically and systematically consider this.
You are not always given the tools or rightly forced to consider this, but consider this phase of the assignment a possible beginning to thinking about these things in a world that has (historically) tried to shield the technical from social considerations (even when those solutions are always used by and interact with individuals and social groups!)

1. Let's do some reading!

For this phase, you will need to read and respond to (in your report & code revision) 4 different articles/Book chapters

Weapons of Math Destruction, Chapter 5

Weapons of Math Destruction Chapter 5

This chapter will introduce you to some ideas on "Big Data" and the criminal justice system

The color of law, Chapter 6

Weapons of Math Destruction Chapter 5

This book chapter will introduce you to some ideas on how the make-up of neighborhoods came about. (Related to the topic of "red-lining" if you've ever heard that term).

Black computing, Chapter 15 & Beginning of Chapter 16

Black Computing Chapter 16

This book chapter and a half will introduce you to some ideas on early policing "information systems" by giving background on an early one used in Kansas City (and some of the context that preceded the systems). Note that the required reading for Chapter 16 is from 226-235 (the first 11 pages), feel free to continue reading, but those sections (other than the figures) are less directly related to this project.

Vox article on policing

We can't fix policing without talking about race. This cartoon explains why.
Image from the article

This article will introduce you to some racial issues with regards to policing (and cite some research in that regard).

2. Refactoring And Revising

This should be completed after reading and cognitively digesting the above readings
Given the above readings, refactor and revise your code so that it is, in your estimation, more fair and equitable.

You should also refactor your code so that comments, names, etc. are more socially appropriate. A way to think about it is illustrated in the scenario below:

A grieving family of a person shot by a police officer, partially as a result of mistaken identity, during a traffic stop comes to see you and your code that dispatched an officer to patrol that area. Would anything in your code (comments, name, etc.) anger or upset them due to being inappropriate given the severity of the system your developing?

3. Picking where to place police stations

In addition, the commissioner was hoping to have you help him determine where to place police stations.
Unfortunately, the commish' didn't provide this in his original project problem scope, so now all you can do is suggest a design
Thus, your project leader has notified him that you group can provide a design, but not an implementation

4. Final Report

Your final report should be 8-12 pages and should detail design choices you made with your system (you don't need to go into deep detail, your README.md will accomplish the detail)
Your report should reference the readings assigned (and by reference I mean meaningfully reference with some purpose in the required sections).

This report can have several sections, but should have some similar to these main sections:

Final Phase Presentation

Each team will be required to give a ~20 minute presentation on their implementations and the visualizations that they've created for the Final Phase.
These presentations should give a good background on your design choices and the reasons for those choices. It will also be your chance to discuss issues you have had to navigate w/ the project.

5. Final Phase Reflections

This is your individual reflection (submitted separately by each group member)


Deliverables

Back to shortcuts

Your delivered work should be coherent and reasonably organized.



Final Phase

Back to shortcuts

Your implementation (Code)

Visualizations

Include any new visualizations you might have made for your revision in the form of image files (.gif, .jpg, .png, etc.)
Also, include all the visualizations that you made for previous phases (but only if those did not change from the revision)

README.md

In your submission, include a readme.md file named readme.md that provides a brief statement of your project.

Team Self-Assessment – Every member must submit to Moodle a document that has an assessment of team work

Presentation (powerpoint/slides)

Make sure to includethe visual-aids (slides) you used in your presentation.

Final Phase Point Breakdown

Back to shortcuts

A Note

This is your opportunity to complete specific tasks, but (largely) using your own design decisions and implementation decisions.
The visualizations are your opportunity to think creatively and to think about ways to visualize data structures so that they are useful (and hopefully cool!)
By using those data, you also get a first chance at making something else that kind of looks like the start of an AI system

In general, the break down used to grade the final project is as follows:

Graded item Number of points
Readme.md 15 pts
Final Report 30 pts
Final Implementation 30 pts
Final Project Presentation 15 pts
Individual Reflections 5 pts

README.md Rubric

Graded item Number of points
Details on what's needed to run implementation 2 pts
Visualizations included with explanation of each one 2 pts
Explanation of how you tested your code to ensure it works correctly (and thus how anyone else would test it if they picked it up) 1 pts
Police Station Placement Design section 5 pts
Code Refactoring and Revsions section 5 pts

Final Report Rubric

Graded item Number of points
Introduction 4 pts
System Design 10 pts
Discussion 10 pts
Conclusion 4 pts
Grammar/Spelling 1 pt
References formatted 1 pt

Final Presentation Rubric

Graded item Number of points
Previous phase solution overview 2 pts
Your solution to the problem posed during this phase 3 pts
Discussion of how you think the readings are related to the project 3 pts
Display of Visualizations created for this phase and raionale 2 pts
Discussion of issues faced in project 2 pts
Discussion of things learned by each group member up to that point 1 pts
Group presentation time roughly evenly distributed 2 pt

Final Implementation Rubric

Graded item Number of points
Previous phase solutions still working as required 15 pts
New code and revisions commented well 4 pt
Design of overall code (inheritance, no long methods, etc) 3 pt
New design addresses some particular sociotechnical issues (detail how in README.md) 8 pt

Important Milestones

Back to shortcuts

Date Milestone
28-Oct Project assigned
30-Oct, 10:00pm Group Info Sheet due
09-Nov (in-class) Phase 1 Presentations, Phase 2 assigned
09-Nov 10:00pm Phase 1 Deliverables Due
16-Nov (in-class) Phase 2 Presentations
16-Nov 10:00pm Phase 2 Deliverables Due
04-Dec Final Phase Presentation
06-Dec 10:00pm Final Phase Deliverables Due

You can find Phase 1 here

You can find Phase 2 here

Back to shortcuts