Skip to content

Commit 7e01d46

Browse files
committed
projects pages
1 parent 48d3b49 commit 7e01d46

17 files changed

Lines changed: 116 additions & 703 deletions
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
layout: page
33
title: projects
44
permalink: /projects/
5-
description: A growing collection of your cool projects.
5+
description: current and former projects
66
nav: true
77
nav_order: 3
8-
display_categories: [work, fun]
8+
display_categories: [teaching, research]
99
horizontal: false
1010
---
1111

_projects/1_project.md

Lines changed: 114 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,138 @@
11
---
22
layout: page
3-
title: project 1
4-
description: with background image
5-
img: assets/img/12.jpg
6-
importance: 1
7-
category: work
8-
related_publications: true
3+
title: Peer Feedback in Large Scale CS Courses
4+
description: a work in progress
5+
img: assets/img/final.png
6+
importance: 5
7+
category: teaching
98
---
109

11-
Every project has a beautiful feature showcase page.
12-
It's easy to include images in a flexible 3-column grid format.
13-
Make your photos 1/3, 2/3, or full width.
10+
In the 2023-2024 academic year, I completed the Searle Fellows Program where I focused on implementing peer evaluation in a large-scale introductory computer science classroom.
1411

15-
To give your project a background in the portfolio page, just add the img tag to the front matter like so:
12+
## The Big Picture
1613

17-
---
18-
layout: page
19-
title: project
20-
description: a project with a background image
21-
img: /assets/img/12.jpg
22-
---
14+
As part of the Searle Fellows Program, I was mainly focused on augmenting my COMP_SCI 110 course. This is a challenging course to teach because it's:
2315

24-
<div class="row">
16+
- the only course in the entire Computer Science Department which is majority non-major students
17+
- the only course CS course that specifically does not count toward a major or minor in CS
18+
- a large-format course (250 to 350 students per quarter)
19+
- has a majority of students who simply want to see what CS is rather than become expert programmers (~60% according to surveys)
20+
21+
<div class="row mt-3">
2522
<div class="col-sm mt-3 mt-md-0">
26-
{% include figure.liquid loading="eager" path="assets/img/1.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
23+
{% include figure.liquid loading="eager" path="assets/img/big_picture.png" class="img-fluid rounded z-depth-1" %}
2724
</div>
25+
</div>
26+
27+
Specifically for the Searle Fellows Project, I made a number of changes and new assignments:
28+
29+
- instituted a new pre-course survey to get a better idea of the incoming students
30+
- integrated a new core learning objective: _Students will be able to **understand** and **critique** a program written by another person._
31+
- created a series of new assignments focused on reading programs rather than writing them
32+
- developed automated assignment and grading tools for peer reviews of computer programs via the Canvas LMS
33+
- begun a prototype of a new piece of software that integrates with Canvas capable of supporting peer reviewing of programming assignments
34+
35+
While we were unable to formally evaluate the specific changes made to the syllabus and course, I'll do my best to include anecdotes and informal qualitative evidence of the changes this project may have caused in the course.
36+
37+
## New Course Survey and Insights
38+
39+
The first part of my project was to design an implement a new course survey. This went swimmingly and was used in both Winter 2024 and Spring 2024. [Check it out here](https://docs.google.com/forms/d/e/1FAIpQLSeNgink7RM6FDKqhxEtYh8wYm0FIAfTg_jtjFZOTtAIiIovAg/viewform?usp=sf_link) if you have a `@u.northwestern.edu` address. It's got the same purposes as it did before (to give us an informal view of the students in the class) but also has some new focii:
40+
41+
- It tries to zero in on **why** students are taking the course (though self-reported obviously)
42+
- It asks more specific questions about programming experience and comfort
43+
- It asks relational questions about student perceptions of programming experience of their peers in the course
44+
45+
<div class="row mt-3">
2846
<div class="col-sm mt-3 mt-md-0">
29-
{% include figure.liquid loading="eager" path="assets/img/3.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
47+
{% include figure.liquid loading="eager" path="assets/img/pre_course_survey.png" class="img-fluid rounded z-depth-1" %}
3048
</div>
49+
</div>
50+
51+
From this data, we've got two big conclusions:
52+
53+
- Most of the students in this class do not have a specific "end goal" in CS
54+
- Most of the students in this class _come into_ the class thinking other students know more about programming then them
55+
56+
While at the moment, we don't have time to specifically address these, in the future, I aim to measure these same ideas in a course _post-survey_ to see if the course might contribute to any changes in these students.
57+
58+
## Changing the Perception of "Programming"
59+
60+
<div class="row mt-3">
3161
<div class="col-sm mt-3 mt-md-0">
32-
{% include figure.liquid loading="eager" path="assets/img/5.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
62+
{% include figure.liquid loading="eager" path="assets/img/implementation_scheme.png" class="img-fluid rounded z-depth-1" %}
3363
</div>
3464
</div>
35-
<div class="caption">
36-
Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
37-
</div>
38-
<div class="row">
65+
66+
In the above diagram, we see our new focus on: a program, like an essay, isn't done when you've finished the first draft! In order to emphasize this idea, we've:
67+
68+
1. added a new learning objective to our syllabus
69+
2. changed the first week of the class to reframe CS as a social discipline
70+
3. added a new series of microassessments on reading / critiquing programs
71+
4. added a major new assignment that asks students to give feedback on a peer's program
72+
73+
While this doesn't cover all of our original goal, it's a start.
74+
75+
## Refocused Intro Lectures
76+
77+
In the first few week of class we focused on making our programs _mnemonic_. This came in the form of changes to how we introduced:
78+
79+
- [Lecture 0](https://docs.google.com/presentation/d/1pBVN9dpN-bGjiF1HCLaPLtJjQjC_y9MHoHs52dVJU4U/edit?usp=sharing) - What is CS? - framing CS as a **social** discipline where your programs are both designed to be read by computers but also humans!
80+
- [Lecture 1](https://docs.google.com/presentation/d/1I-MjTFxcKQ858IynZuyv5Iu__jztiY3nlBPuVz-Yixw/edit?usp=sharing) - What is programming? - Framing the task of programming as explaining to the computer in exact detail an action (no room for "interpretation" or "emphasis")
81+
- [Lecture 2](https://docs.google.com/presentation/d/1gELOqQIbcGWFM1ar_DenmPy5bUk2V8_YXxReuV7KRGM/edit?usp=sharing) - Variables - they need to be named after what they contain
82+
83+
## Microassessments
84+
85+
I was able to design a number of peer review focused multiple choice questions both for our "Mini-Quiz" assignments on Friday which are completed via PollEverywhere and for our in-person "Quizzes" (exams). Here's an example!
86+
87+
<div class="row mt-3">
3988
<div class="col-sm mt-3 mt-md-0">
40-
{% include figure.liquid loading="eager" path="assets/img/5.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
89+
{% include figure.liquid loading="eager" path="assets/img/pr_question_example.png" class="img-fluid rounded z-depth-1" %}
4190
</div>
4291
</div>
43-
<div class="caption">
44-
This image can also have a caption. It's like magic.
45-
</div>
4692

47-
You can also put regular text between your rows of images, even citations {% cite einstein1950meaning %}.
48-
Say you wanted to write a bit about your project before you posted the rest of the images.
49-
You describe how you toiled, sweated, _bled_ for your project, and then... you reveal its glory in the next row of images.
93+
## Peer Feedback Assignment
5094

51-
<div class="row justify-content-sm-center">
52-
<div class="col-sm-8 mt-3 mt-md-0">
53-
{% include figure.liquid path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
54-
</div>
55-
<div class="col-sm-4 mt-3 mt-md-0">
56-
{% include figure.liquid path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
95+
I've adapted Google's Code Review manual to a simple rubric that can be implemented in Canvas. Here's what we've got so far:
96+
97+
<div class="row mt-3">
98+
<div class="col-sm mt-3 mt-md-0">
99+
{% include figure.liquid loading="eager" path="assets/img/rubric.png" class="img-fluid rounded z-depth-1" %}
57100
</div>
58101
</div>
59-
<div class="caption">
60-
You can also have artistically styled 2/3 + 1/3 images, like these.
61-
</div>
62102

63-
The code is simple.
64-
Just wrap your images with `<div class="col-sm">` and place them inside `<div class="row">` (read more about the <a href="https://getbootstrap.com/docs/4.4/layout/grid/">Bootstrap Grid</a> system).
65-
To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
66-
Here's the code for the last row of images above:
67-
68-
{% raw %}
69-
70-
```html
71-
<div class="row justify-content-sm-center">
72-
<div class="col-sm-8 mt-3 mt-md-0">
73-
{% include figure.liquid path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
74-
</div>
75-
<div class="col-sm-4 mt-3 mt-md-0">
76-
{% include figure.liquid path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
77-
</div>
103+
This will be what students are asked to fill out to review a student's submission for HW 3.
104+
105+
- If you'd like to take a peek at the HW assignment itself, [click here](https://bain-cs110.github.io/assignments/hw-3)
106+
- If you'd like to see the instructions given for the Peer Review (HW 4), [click here](https://bain-cs110.github.io/assignments/hw-4)
107+
108+
## Analyzing the Peer Feedback
109+
110+
I've begun an initial lexical analysis of the feedback given (with around 330 rubrics filled out, it's quite a bit of data). At the moment, I don't have time to complete a rigorous analysis, but I'll revisit this towards the end of the quarter to fill in more details.
111+
112+
## Peer Feedback Programming Tools
113+
114+
Unfortunately, not all went to plan so we had to design some specialized tools to fix those problems.
115+
116+
- While Canvas **happens** to support previewing `.py` files in its preview window, when assigned as a peer review **it prevents students from downloading the submission** which means they can't actually download it to their computer and run it like a regular computer program (also worth noting a good like 70% of the time, these previews never end up rendering without any error message - just an infinite loading animation)
117+
- In order to make it a "graded" peer review, Canvas insisted I needed to assign rubric items points. Well, my goal was _participation_ in the Peer Feedback process, so I made all rubric selections equal in terms of points (i.e. someone's feedback doesn't affect your grade).
118+
- Turns out...when you do this, Canvas actually _incorrectly displays_ the selections on the rubric to the person who you gave feedback. It'll show the correct number of points, _but it shows category selections wrong_!!!
119+
- If someone didn't submit the assignment that's being peer-reviewed, they don't automatically get assigned a peer's submission to review
120+
- That's fine...but it doesn't say that when you generate the assignments, so I mistakenly assigned those people a peer's submission to review which Canvas then notifies them about...**but won't actually allow them to submit it.**
121+
- As usual, a small number of students took advantage of my lack of specificity in the instructions "leave a comment on each rubric item indicating why you selected that rubric item" and simply wrote one word answers to most of the comments.
122+
123+
You can find all the code I used to solve those problems at the below GitHub repo. Over the summer, I plan on narrativizing these programs and making them fit for a non-programming audience since, while this problem occurred in my class because I wanted to students to give feedback on programs, this same process could apply to any class where students are unable to give feedback using Canvas' built-in feedback tool (basically anything beyond a `txt`, `docx`, or `pdf` file).
124+
125+
{% if site.data.repositories.github_repos %}
126+
127+
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
128+
{% for repo in site.data.repositories.github_repos %}
129+
{% include repository/repo.liquid repository=repo %}
130+
{% endfor %}
78131
</div>
79-
```
132+
{% endif %}
133+
134+
## Special Thanks
135+
136+
Thanks to the Searle Fellows Program and a special thanks to my Mentor, [Dr. Michael Fagen](https://www.feinberg.northwestern.edu/faculty-profiles/az/profile.html?xid=31193) and Project Group Leader [Kate Flom Derrick](https://searle.northwestern.edu/about/staff-grad-postdoc/kate-flom-derrick.html).
80137

81-
{% endraw %}
138+
Also thanks to the folks in my Project Group who were supportive throughout the year!

_projects/2_project.md

Lines changed: 0 additions & 81 deletions
This file was deleted.

_projects/3_project.md

Lines changed: 0 additions & 81 deletions
This file was deleted.

0 commit comments

Comments
 (0)