nus-alset / achievements Goto Github PK
View Code? Open in Web Editor NEWAssign 3rd party achievements for students to complete using the Learning Tools Interoperability protocol
License: MIT License
Assign 3rd party achievements for students to complete using the Learning Tools Interoperability protocol
License: MIT License
On clicking the course link I get stuck here until I login. The user should be instructed to login instead of showing the progress bar. Once I login I get redirected to the courses route rather than the course itself as indicated in Issue #19.
On the instructors tab, show an icon besides the delete icon for each student to allow an instructor to add the user to another course that they own. When this icon is clicked, a popup will appear with a dropdown box to let the instructor choose the other course that they own that they would like to add the user to.
The main use case is to enable an instructor to move a student from one course to another by first adding them to the other course and then deleting them from the current course.
If the submitted CodeCombat username is bad and a 404 error is returned from the CodeCombat API, the should be an error message such as "BAD USERNAME" and "Please click on the profile link to confirm your username." Currently there is no feedback.
Hi,
Here is what a course page looks like right now:
Here is what it should look like:
P.S.: Please look at the mock-ups for all pages of the app. The course assignments page does not seem to be moving towards the mock-up right now.
The button to add assistants to a course can be moved from the main course page to the course edit tab. The button should appear besides the ADD ASSIGNMENT button.
This button will only be used one or twice for a course.
The cohort description enables cohort creators to leave a message for all users viewing the cohort.
Add a similar mechanism for course owners to leave a message for course participants. This will be an optional message that will appear above the course assignments table. These messages can be configured with a start and stop date. The course message(s) should be configurable under the course edit tab.
We would like to be able to easily filter out all event logs that are from users with a consumer_key property. Therefore, we will include the consumer_key property in all logs for users that have a consumer_key.
example user at /users/USER2@A_CONSUMER_KEY
{ acceptedEULA: true,
consumerKey: 'A_CONSUMER_KEY',
displayName: 'USER2',
isLTI: true }
example lot at /logged_events/{logKey}
{consumer_key: "A_CONSUMER_KEY",
createdAt: 1519638230014,
type: "ACCEPT_EULA_REQUEST"
uid: "USER2@A_CONSUMER_KEY"}
It appears as if CodeCombat usernames with spaces are not being properly sluggified before fetching profiles from CodeCombat. "Awesome Dad" should be fetched as "awesome-dad".
Create an assignment type that functions like the "Enter CodeCombat Profile" assignment type. Rather than tracking Code Combat progress, this assignment will track how many problems along a specific path each user has solved.
If there are 5 YouTube problems on a path, this assignment type would allow an instructor to see how many of the YouTube problems on the path each user in the course had watched and answered the question for.
The instructor should be able to sort the assignments table by this column.
To create this assignment, instructors pick one of their paths or a public path that they want to track their students progress on.
When a text solution begins with http or https, the solution should be treated as a hyperlink. Rather than showing the text for the url, the work Complete can be hyperlinked to the submitted url.
Visible solutions will be hyperlinked. Non-visible solutions will just have the word Complete.
The instructor's view tab will always have the hyperlinked text.
The isAnonymous: false inclusion in logging is not very useful since we are only logging events for logged in users at this point.
In the column headers for assignments, besides the details link, show the percentage of students who have completed the assignment.
Submit your answer
details (75%)
The logout button has no popup upon clicking on it.
Currently the user's display name is whatever has been returned from Google after logging in. Enables users to edit their display names seen in the application. The edit button can be included on the users profile page and besides their name in the first column of the assignments table.
The Course refresh achievements button does not need to stay viewable as the user scrolls down the assignments table. The button can stay in the top right of the screen and not be seen when the users scrolls down the page. It should work more like the tabs and column headers do. They scroll with the page.
Clicking on the url to a course is being redirected to the courses route rather than taking the user to the course for the url. Course owners and participants should be able to go directly to the course. Others should see the screen to enter the password to join the course.
https://achievements-dev.firebaseapp.com/courses/-L4PPhL1XL4-81WyuggE
Add the properties created and playtime to the userAchievements records. These values, returned from the CodeCombat API, communicate when the level was completed and how long the level was played.
Data should be added to these locations.
userAchievements/{$uid}/CodeCombat/achievements/{$levelId}/playtime
userAchievements/{$uid}/CodeCombat/achievements/{$levelId}/created
Code Combat profiles include a created property. Include this property in UPDATE_ACHIEVEMENTS_DATA logs along with the playtime and levelId properties which are already included.
Example enhanced Code Combat profile object
{
_id: "5a0f9ae45bb2b200431a3697",
changed: "2017-11-24T07:32:20.038Z",
state: {
complete: true
},
codeLanguage: "python",
levelID: "escort-duty-singapore",
levelName: "Escort Duty",
playtime: 9,
created: "2017-11-18T02:28:52.196Z"
}
Example UPDATE_ACHIEVEMENTS_DATA log object
{
"createdAt": 1519909745014,
"isAnonymous": true,
"otherActionData": {
"complete": true,
"levelId": "dungeons-of-kithgard",
"playtime": 95,
"created": "2017-11-18T02:28:52.196Z"
"uid": "Fw4ikgpvvpdJYzm9gqlCBpY2IzB3",
},
"type": "UPDATE_ACHIEVEMENTS_DATA"
}
Text solutions that begin with http are properly being shown as hyperlinks. However, these links can be very, very long. Change the displayed text in the Assignments table for hyperlinked solutions to be "COMPLETE" rather than the text for the link itself. So if solutionVisible=true, the word COMPLETE will be hyperlinked to the student's solution. If solutionVisible=false, only the word COMPLETE will be there (non-hyperlinked).
The instructor view will always have the hyperlinked COMPLETE.
This button should refresh all the CodeCombat profiles for the participants in a course. This would have the same effect as all members pushing their own refresh buttons at once.
The current project is storing user emails in the users node which is viewable by any logged in user. This would allow any user to download the emails of all other users.
The users node is mainly meant to provide public access to a user's display name and any other public information about the user. It is user writeable and publicly readable.
Emails should be saved to another location that only the user can read and write. For example:
userPrivate/$uid/email
Other private properties could be stored here in the future.
If an assignment has a deadline, show the days remaining in the assignment column header so that students can see when assignments are getting ready to be hidden.
(deadline: 1-day)
(deadline: 2-days)
Show the status {numSubmitted}/{numCourseMembers} at the top of assignments columns. This submission status can appear besides the details link for assignments. The status will update each time a student makes a submission until the numSubmitted == numCourseMembers.
Complete assignment 1
details (31/32)
Complete assignment 2
details (5/32)
It should contain list of cohorts that marked as Starred by user
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.