marshall62 / partner Goto Github PK
View Code? Open in Web Editor NEWSmith lab partner generator
Smith lab partner generator
To run production version (heroku): http://pairup-dm.herokuapp.com/ https://pairup-dm.herokuapp.com/ How to run app from command line: source venv/bin/activate flask run (maybe export FLASK_APP=partner) Create an instructor login by POSTING: /rest/login-instructor email:[email protected] password:whatever Getting rosters from Banner: The admin section of the app (/admin) must be used to create course sections each semester. Steps: Use the sections tab to create the mapping from lab numbers to titles e.g. 1 -> Thurs 1 PM Once sections are created, use the roster tab to load the spreadsheet roster. This will create Student objects and add them into the roster for the section. Because the roster may be changing over time this process can be used repeatedly to update the roster to reflect the current registration. When the spreadsheet is reloaded it will reset the roster to empty and then add the students back into it. Student objects are not overloaded with new info. This assumes that basic data about students coming from the spreadsheet remains constant. The app does allow editing the student name and assumes that the first word in the name is a new nickname that is different from what came out of the spreadsheet. Hand-edits will be placed in the nick_name field and should persist across roster reloads. Instructions for getting a roster: Go to Banner Click Get *New* Class list. Click in the first column (not shown as a link but clickable) to view the roster Click Export in upper right Select xlsx format Download to the rosters directory within partner The pair-up algorithm: Problem: Given a list of student ids and pairs that have been generated previously, generate a set of pairs such that every student is assigned to and no previous pairing is reused. Algorithm: 1. shuffle the id list 2. Generate all possible pairs Recursive search with backtracking (similar to N-queens) . Walk through all possible pairs if pair isn't a previously used one and both students are not currently assigned: hold the this pair as a potential group Recursively search the remaining possible pairs If the recursive search is successful, add the held group to what is returned and return the list. else continue walking the list of possible pairs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.