CCJS 418E: Coding for Criminology (Fall 2025)
Location: SQH 1117
Time: Tuesday (Online) / Thursdays (SQH) 3.30 to 4.45 p.m.
Instructor: Zubin Jelveh (zjelveh@umd.edu)
Office: 2220F LeFrak
Office Hours: Tue 12:30 to 1:30pm
Course Description
This course introduces criminology students to data analysis using Python programming and artificial intelligence tools. Criminal justice increasingly relies on data for major decisions—from setting bail to deploying patrols. This course teaches you to analyze that data using modern tools while understanding what’s happening behind the scenes.
We begin with computational thinking, which is essentially a structured way to approach complex problems. You’ll learn to break big questions into smaller pieces and identify patterns in data. These mental tools matter whether you’re investigating crime trends or evaluating whether a new policy actually works. They’re useful on their own but become essential once we start programming. Computational thinking is just one way to approach solving complex problems, but it can be a particularly useful skill when first learning how to code.
After computational thinking, we move to Python programming. Python has become the standard language for data analysis in many fields. We’ll start with Python fundamentals and will learn how to apply them to criminology examples—calculating crime rates, working with arrest data, etc.
The course then introduces Python, which has become the go-to programming language for data analysis. You’ll learn the fundamentals through real examples from criminal justice. Instead of printing “Hello World,” you’ll be calculating crime rates. Instead of abstract math problems, you’ll analyze actual arrest data. Most of the course focuses on pandas, Python’s data manipulation library. The course covers data cleaning, basic statistical analysis, and data visualization.
We embrace AI tools like ChatGPT and Claude from day one because they’re becoming standard in programming work. These tools excel at both writing and explaining code. However, using these tools without understanding what they produce is like using Google Translate without knowing if the translation makes sense. The assessments in this class ensure you develop real understanding alongside AI assistance.
You’ll complete three problem sets throughout the semester plus a final project and presentation. You’re encouraged to use AI tools to help complete these assignments. However, grading happens through one-on-one code reviews where you’ll walk me through your solution and explain what your code does. During these 10-minute conversations, you should be prepared to answer questions about how your code works, what would happen if we changed certain parts, and interpret your results. These collaborative discussions focus on making sure you understand the tools you are using.
Course Objectives
After completing this course, students will be able to:
- Write and modify Python code to load, clean, and analyze criminal justice datasets
- Use pandas to calculate statistics, identify patterns, and answer specific research questions about crime data
- Create meaningful visualizations that communicate findings from criminological data
- Collaborate effectively with AI tools while understanding what the generated code actually does
- Explain their code and analytical choices in plain English during code review discussions
- Adapt existing code to answer new questions when research needs change
Prerequisites
No prior programming experience is required. This course is designed for students with no coding background who want to learn how to use data analysis and AI tools in criminology.
Technical Requirements
Students will need:
- A laptop
- Access to AI tools (free tiers of ChatGPT, Claude, or similar - we’ll discuss options in class)
- No software purchases required - we’ll use free, open-source tools
Assessment
Problem Sets (60% total - 20% each)
You will complete three problem sets throughout the semester that build on each other:- Problem Set 1 (9/28)
- Problem Set 2 (10/19)
- Problem Set 3 (11/23)
- You submit working code on the Sunday that it is due (use any resources, including AI tools)
- The next Tuesday, you'll have a 10 to 15 minute code review session with me during class
- During the review, you'll walk me through your code and answer questions about:
- What specific lines of code do
- What would happen if we changed certain parts
- Grading is based primarily on your explanation and understanding during the review, less on whether the code works
Project Proposal (10%)
Due November 2nd, you'll submit a 2-3 page proposal for your final project. The project will require you to find a dataset set to analyze, an overall question you want to explore, and demonstration of computational thinking in how you will explore this question. Furether details on the proposal to come.Final Project (30%)
Presentations will be held in the last week of class and projects will be due 12/17. Details to come.Weekly Schedule
Week 1: Introduction to Computational Thinking (9/4)
- Slides: Introduction
Resources:
- BBC Bitesize: Computational Thinking
- Video: Making Cocount Stew
- Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence
Week 2: Introduction to Python, AI Tools and Prompt Engineering (9/9, 9/11)
- Jupyter Notebook 1: Intro to Jupyter and Python
-
Jupyter Notebook 2: Loops
- Slides
Resouces:
Week 3: Python Basics I (9/16, 9/18)
Week 4: Python Basics II (9/23, 9/25)
- Problem Set 1 Due (9/28 11:59am)
Week 5: Introduction to Pandas and Data Manipulation (9/30, 10/2)
Week 6: Pandas I (10/7, 10/9)
Week 7: Pandas II (10/16)
- Problem Set 2 Due (10/19 11:59am)
Week 8: Pandas III (10/21, 10/23)
Week 9: Data Visualization (10/28, 10/30)
- Project Proposal Due (11/2 11:59am)
Week 10: Merging (11/4, 11/6)
Week 11: To be determined (11/11, NO CLASS 11/13)
Week 12: To be determined (11/18, 11/20)
- Problem Set 3 Due (11/23 11:59am)
Week 13: To be determined (11/25)
Week 14: To be determined (12/2, 12/4)
Week 15: FINAL PRESENTATIONS (12/9, 12/11)
Course Policies
Contacting the Instructor
Students should contact me via email at zjelveh@umd.edu. Please begin your subject line with “CCJS418E” or “Coding for Criminology” to ensure your email receives prompt attention. I typically respond to emails within 24-48 hours during weekdays.
Course-Related Policies
Policies relevant to Undergraduate Courses are found here. Topics that are addressed in these various policies include academic integrity, student and instructor conduct, accessibility and accommodations, attendance and excused absences, grades and appeals, copyright and intellectual property.
Academic Integrity
The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council. This Code sets standards for academic integrity at Maryland for all undergraduate and graduate students. As a student you are responsible for upholding these standards for this course. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.studentconduct.umd.edu.
Accessibility and Disability Support
The University of Maryland is committed to creating and maintaining a welcoming and inclusive educational, working, and living environment for people of all abilities. The University of Maryland is also committed to the principle that no qualified individual with a disability shall, on the basis of disability, be excluded from participation in or be denied the benefits of the services, programs, or activities of the University, or be subjected to discrimination.
Students with disabilities who require accommodations for this course should contact the Accessibility and Disability Service (ADS) at 301-314-7682 or adsfrontdesk@umd.edu. Please inform me of any accommodations you need as soon as possible, preferably within the first two weeks of the semester.
More information about ADS and accommodations can be found at https://www.counseling.umd.edu/ads/