AlgoArena Team 5 min readThe Student Side of a Class
A class is now a page a student can open, with the stream, due dates and their own progress, plus a question board on each assignment so one answer reaches the whole class.
Students could already play a live round or work through an assignment, but the class those assignments came from was hard for them to reach. Only one page in the app accepted a class code, and nothing in the navigation pointed to it. A student who found that page and joined still could not open the class, because the class page was built for the teacher alone. The changes below give students their own side of each class, from getting in to asking questions on an assignment.
Getting in
Teachers hand out two kinds of code, one for a live game and one for a class. Both are six characters long and easy to mix up. The code boxes on the classroom page and the dashboard used to look up live games only, so a class code came back as a game that could not be found. Now a class code typed into either box puts the student on the roster and takes them to their classes. A game code still works the way it did, including for a guest. Joining a class asks the student to sign in, because the class has to recognize them each time they come back.
A Classes link now sits in the student navigation on desktop and on phones. Teachers can also email the code to students from the class card or the People tab. The email has the code and a link that opens the join box with the code already filled in.
What a student sees
The Classes page shows a card for each class the student is in. The banner on each card uses the same color the teacher sees and shows the class name, section, teacher and class size. Under the banner is the next thing due, written the way a person would say it ("Due tomorrow," "Due Friday"), with a link straight to that assignment. Below the cards is one list of all the student's assigned work, with how many problems they have solved in each.
A card opens the class page, whose stream shows teacher posts and new assignments, newest first, next to a short list of what is due soon. The Classwork tab lists the class's assignments with each one's due date, whether it is still open, and the student's own progress. The page leaves out the roster, other students' emails and the join code.
Students can reply under a teacher's post and give it a thumbs-up, though starting a new post is still up to the teacher. A student who is done with a class can unenroll from the menu in the corner of its card. The teacher keeps anything that student already submitted, and the student can rejoin later with the class code.
Questions on the assignment
Each assignment now has a question board. It sits on the page students already open to do the work, under the assignment's title and above its problems. Anyone on the assignment can ask a question or answer someone else's.
Anything the teacher posts is labeled as coming from the instructor. The teacher can mark one answer to a question as correct, which puts an "Instructor endorsed" label on it for everyone. Only one answer per question can hold that mark at a time. The teacher can also mark a whole question as answered, which moves it below the questions still waiting for help. The box for asking reminds students not to paste their whole solution. Students can delete what they posted, while the teacher can delete anything on the board.
When one line of a spec is unclear, a class of thirty can get stuck on it, and each student ends up emailing the teacher separately. On the board, the first student asks and the teacher or a classmate answers. Everyone who hits the same line later finds the answer on the page they already have open. The correct mark is what makes the board safe to rely on, because without it a confident guess from a classmate would look the same as an answer the teacher stands behind.
Where it points
Anything a teacher gives a class should have a place on the student's side, reachable from the class page. Posts, due dates, classwork and assignment questions all have that place now, and the next thing built for classes should get one from the start.