Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge MIT production branch into main #3799

Open
wants to merge 177 commits into
base: main
Choose a base branch
from
Open

Merge MIT production branch into main #3799

wants to merge 177 commits into from

Conversation

milescalabresi
Copy link
Contributor

Step 3 of #3796 with encouragement from MIT ESP Chairs

betaveros and others added 30 commits July 9, 2017 19:17
there is no code that handles this in the class changes lottery yet,
also I don't know if everybody who wants class changes lotteries wants
three choices for them and three is hardcoded, so this just goes on prod
Make the lottery accept multiple requests per student per timeblock with
priority, specified by a list of StudentRegistration types.
This might be kind of unfair since all of their requests are now
"stronger" than even the first request from a student with at least one
class. However, it's calculated dynamically so the advantage disappears
once they get their first class, and they don't get any extra priority
when we try to kick students, mostly just because that part of the code
is hard to reason about.
Classify requests by priority, calculate student happiness crudely, and
flag potentially buggy requests.
Take note of the "badness" of the assignment, which is how much it
overflows true class capacities, and add a "pessimism" parameter that
makes the algorithm more conservative about guessing that everybody who
wants to switch out will get to. This way the lottery can be tuned to
not overflow classes. This is a hacky workaround to patch the confusing
student-kicking algorithm applied to "fix" the greedy student-assigning
process, which doesn't always manage to get enrollments below true class
capacities.
This allows for better introspection (shell_plus can autocomplete the
parameters names), alerts you if you misspell a parameter name, puts the
default values right next to the option names, and generally shortens
the code a little.
Separate "orig" and "base" enrollments and capacities, "base" referring
to the state of enrollments after unenrolling students from classes they
want to switch out from, so that enroll_orig and section_capacities_orig
(among others) are consistent with each other about the state of
enrollments, and so that we have the section capacities needed to
print_stats accurately after assignments are saved.
- Make the previously hard-coded check-in room an option, and prompt for
  it as needed
- Slightly paranoidly confirm which email to send the class changes
  email from
- Text formatting
This is an extremely inflexible way to do this, but we want to make it
happen for now.
A lot of sums along some axes should have been "any"s.
This displays the observers in one's classes and some limited data about
the sections one is observing, although it contains no front-end for
adding observers or any schedule checks whatsoever.

A notable change orthogonal to observers is that section data is shown
for Unreviewed classes; this may not be desirable in general and we
should discuss it more, but is needed for Spark.

Related to #1990; I couldn't justify naming the thing I added
"assistant" or "TA", though, since those concepts seem more likely to be
per-class, while observers per section make sense. Generally "observer"
assumes less about the role, I think.
- Pass dictionaries with sensible keys instead of tuples into the
  template for rendering.
- Display all sections scheduled at a particular time, including all
  sections being taught and observed, even if there are multiple.
- Vary the styling/color of different kinds of availability more, and
  add glyphicons. Move the styling to theme CSS.
- Style the search button.
- List observed classes in teacher printable
- Include all sections of a class in check-in, not just the first one,
  since now an early section being accounted for does not imply a late
  section being accounted for
- Only sort classes with all teachers and observers accounted-for to the
  bottom, instead of classes with at least one teacher
- Fix up check-in HTML
- Rename a few things
add background check and observer option in minors policy form
matthewjcox and others added 23 commits January 4, 2023 02:06
…eation-changes

Mit minor program creation changes
Change “approved” to “applied” in finaid notification email sent to directors
…ut-us-question

Adding "how did you hear about us" to user reg flow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.