Code Monkey home page Code Monkey logo

terms_workout's People

Contributors

achagin95 avatar akryukov92 avatar

Watchers

 avatar  avatar  avatar

terms_workout's Issues

Inform about multiple answers possibility

Currently: Some riddles have multiple different answers. User don't know if given riddle has different answers.
Desired: User should know that given riddle have multiple answers.

Evaluate coverage

Currently it is unclear which parts of example programs are covered by associated tasks.
Desired: There should be special page, which highlights how often each part of the program is used.

Language selection

Currently: there is no distinction between tasks by language
Desired: On first session, user should select language from list of supported.
On next sessions, system should offer tasks from previously selected language.
On each page should be link to language selection page.
For each language there should be directory.
Tasks for specified language should be stored in appropriate directory.

Evaluate terms usage

Currently it is unclear how much each term is used in tasks.
Desired: there should be list of terms for each theme. For each term there should be list of task links.
Access only to teacher.
List of terms should be collected from needles from all files of the theme.
API URL should be /term_list with argument "theme" - theme name or I'd.

github authentication

Currenly: user and password are hardcoded
Desired: users should log in (only) with github account

Hints

Currently: When user gives incorrect answer, sphinx asks to try again.

Desired: For some incorrect answers it should be possible to define "hint" for user. Hint might be part of whole riddle. Hint should be visible when user gives incorrect answer.

Allow manual selection of haystacks

Currently next task is selected randomly.
Manual selection of haystacks is supposed to simplify automated tests of this application.
This can help to show student progress

trim spaces in multiline answers

Currently: one can get "irrelevant" verdict on attempt to select multiline text with spaces in the beginning.
Desired: valid multiline selection should not produce "irrelevant" verdict

Save journey progress

Currently: user progress is saved in RAM by sessionId.
Desired: save progress by user identifier in some persistent storage.
Depends from #5

Add tool for riddle creation

User should be able to :

  • Upload haystack
  • Choose needles in it
  • Define task
  • Define multiple riddles on single haystack

Track user progress

User should see own progress.
Progress is the list of completed answers.
For each riddle with single answer display:

  • does user gave any matching answer
  • does user gave minimal answer
  • does user gave maximal answer

For each riddle with multiple answers display:

  • amount of matching answers
  • amount of minimal answers
  • amount of maximal answers

For example:
"точка входа в программу" (есть ответ, был самый короткий ответ, был самый длинный ответ)
"строковый литерал" (возможно 4 ответа. дано 3, самых коротких 2, самых длинных 1)
"спецсимвол для вывода кавычки" (еще нет ответа)

Progress should be saved in .xml file in working directory of site.

log assigned riddles and user attempts

Currently: actions of user are not reflected in file
Desired:

  • on each user request print log entry with information about haystack id and riddle id.
  • on each user attempt print log entry with info about haystack id and riddle id, wheat text, expected answers and attempt text

Highlight defined answers

Goal: on creating multiple answers for single riddle it should be clear which text is already answer for this needle.

Currently author have to look to riddle file in text editor

How:
In riddle creation dialog "/creator"
after defining needle in text field
browser should send async request to server and set background color for appropriate text in the wheat field

Associate abstraction levels for needles

Currently there is no associated attribute to differentiate between trivial needles like "tag" and complex needles like "container with text".
Desired:
Each needle should contain attribute "abstraction" with integer value. Low number means trivial term. High number means complex term.
There should be slider in task creation view to set complexity of the term.

Dream: facesmash.
There should be view to show pairs of needles and allow user to choose most trivial from them.

It will help to give student appropriate needles depending on his progress.

Add links for unseen riddles in journey page

Currently: If user has answered any riddle of some haystack, then he will see all riddles of this haystack in journey page. Problem is that user can not open them directly.
Desired: Journey page should contain links to displayed riddles.

Early validation of riddles

Currently, in case when answer don't match wheat, user will see 500 error in process of learning.
This is bad because it breaks immersion.

Desired: Task validation should be done before user might possibly experience such problems.
Possible options:

  • in unit tests
  • on startup of server

Best option is to do validation in unit tests.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.