CS374: Principles of Programming Languages - Preparing for Each Class and How Participation Works (0 Points)
Assignment Goals
The goals of this assignment are:- To arrive at each POGIL session ready to build and to discuss
- To read technical and formal material in a way that survives contact with the exercises
- To understand how class activities and participation are evaluated
- To know the many valid ways of contributing to a working session
The Assignment
This course is a build, and the build happens in class. Our meetings are hands-on POGIL sessions in which your team works through activities that develop both the concepts and the code — so class rewards arriving ready far more than it rewards arriving early. “Ready” is not a matter of talent or luck; it is a short routine you can run before every meeting, and this page is that routine, together with a clear account of how the daily work of participating is valued.
Purpose
Two things make a working session productive: that you come having engaged the material, and that you come with something specific to do with it — a question, a stuck point, a half-built idea. This guide gives you a repeatable way to prepare technical reading, a set of things to try when a section will not open, and a transparent picture of how participation is assessed, so the grade rewards preparation and growth rather than the volume of your voice.
How Class Activities and Participation Are Evaluated
Your participation grade (15% of the course) is assessed holistically across the term against four dimensions. You see this rubric here, before the fact, so there are no surprises.
| Dimension | Pre-Emerging | Beginning | Progressing | Proficient |
|---|---|---|---|---|
| Preparation | Arrives without having read or attempted the exercises | Has skimmed the reading but attempted nothing | Has read and attempted the reading exercises | Arrives having read, attempted the exercises, and marked a specific question or stuck point to raise |
| Contribution | Disengaged from the team and the room | Participates only when prompted | Engages actively in the POGIL activity | Advances the group — proposes an approach, catches an error, or asks the question that unblocks the team |
| Collaboration | Works alone or lets the team carry the work | Does the assigned role minimally | Takes the rotating team role seriously | Makes teammates better: explains, listens, and helps others past a bug rather than around it |
| Reflection | Skips the reflection prompts | Reflections are perfunctory | Reflections engage the concepts honestly | Reflections connect ideas across the course and name genuine confusion as a place to grow |
A Routine for Preparing
Run this before each meeting. It turns the assigned reading into readiness, and it pairs with each activity’s own “Before You Begin” box, which lists the specific skills that day assumes.
- Survey first (5 minutes). Skim the assigned reading and the day’s activity: the headings, the “Key Concepts” table, the models, and the exercises. Build a map before you read for detail — know what the session is going to ask you to do.
- Read the technical prose slowly, with a pencil and an interpreter open. Formal and technical writing is read at sentence speed, not paragraph speed. When the text shows a grammar rule, a regular expression, or a snippet, run it — in the Python REPL, on paper, or by hand. A definition you have only read is not yet a definition you know.
- Attempt the reading exercises before class. Try the short reading-linked exercises for the unit (see the Reading Exercises bank). You are not expected to get them all right; you are expected to arrive with an attempt, because an honest attempt is what makes the in-class work land.
- Bring one question or one stuck point. Mark the single thing that resisted you most — a rule you could not derive, a snippet you could not trace, a tradeoff you could not resolve — and bring it to class. This is the accountability check that the reading happened, and the stuck point you bring is usually where the best discussion of the day begins.
Ways to Contribute
Speaking up in whole-class discussion is one way to participate, and a good one. It is not the only one, and this component is designed to value several:
- Work the activity — engage in your POGIL team; the daily learning happens here.
- Take your role — as Manager, Recorder, Presenter, or Reflector, each rotating role is a real contribution; in the project phase, the same is true of Coordinator, Builder, Evaluator, and Scribe.
- Post to the board — when the Recorder posts the team’s answers to the class discussion board, that is participation the whole class learns from.
- Ask — a precise question about a rule, a bug, or a tradeoff moves the room forward as much as an answer.
- Help a teammate — explaining a concept or helping someone past a bug is among the most valuable things you can do in a working session.
Being confused is part of learning this material — it is not a sign you do not belong, and it is never something to hide. If the spoken room is consistently hard for you, the written and role-based channels above are genuine ways to earn this component; talk with me early and we will find the path that fits.
Self-Assessment (Midterm and End of Term)
At midterm and at the end of the term, write a short self-assessment (a paragraph or two) against the four rubric dimensions:
- Preparation and reflection: How reliably have you been arriving with the reading done and the exercises attempted? What does your Reflection Notebook show?
- Contribution and collaboration: Name one session you helped move forward, and one teammate you helped.
- A goal: One concrete thing you will do differently in the second half of the term.
Your own account of your growth is part of this grade, and the self-assessment is where we reconcile your sense of it with mine.
See also
- Reading Exercises — the reading-linked exercise bank you draw on when preparing.
- Reflection Notebook — what to keep in your notebook and how it is evaluated.
- Overview Assignment — the Language Autobiography that anchors your semester-long reflection.
Submission
Nothing to submit. This is a support page; return to it before class throughout the term.Please refer to the Style Guide for code quality examples and guidelines.