Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-01-05 | monkey.edits: cache test results | Timotej Lazar | |
2016-01-05 | monkey.edits: only add solutions to predicates that are actually used when ↵ | Timotej Lazar | |
testing | |||
2016-01-04 | Fix: use correct action types in monkey.edits | Timotej Lazar | |
2015-12-23 | Prolog: pass aux. code to problem's test function | Timotej Lazar | |
This allows us to simplify individual problem test functions. | |||
2015-12-22 | Fix off-by-one when extracting edits | Timotej Lazar | |
2015-12-22 | Remove a stray "pass" | Timotej Lazar | |
2015-12-11 | Rename a function | Timotej Lazar | |
2015-12-11 | Use a more general method for extracting edits | Timotej Lazar | |
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found. | |||
2015-12-10 | Add copyright info | Timotej Lazar | |
2015-10-15 | Store identifiers instead of IDs in Problem model | Timotej Lazar | |
2015-09-24 | Remove trailing . from historical Prolog queries | Timotej Lazar | |
2015-08-20 | Convert monkey.edits to use the new DB | Timotej Lazar | |
2015-08-11 | Add code to check for typos | Mehmet Akalın | |
2015-08-11 | Do not look for edits in problems with no traces | Timotej Lazar | |
2015-08-11 | Ignore attempts from all non-student users | Timotej Lazar | |
2015-08-11 | Ignore edits a→b where a or b has multiple parts | Timotej Lazar | |
This happens for instance when a user writes more than one goal on the same line. A better way would be to handle this when building a graph (use annotate instead of splitting on newlines). | |||
2015-08-11 | Exclude admin and test users when analyzing traces | Timotej Lazar | |
2015-08-11 | Don't store solution-line frequencies | Timotej Lazar | |
This is currently unused. | |||
2015-08-11 | Simplify monkey.edits.get_edits_from_traces | Timotej Lazar | |
2015-08-11 | Rename monkey.edits.edit_graph to trace_graph | Timotej Lazar | |
2015-08-11 | Cleanups | Timotej Lazar | |
2015-08-11 | Fix recording replacements (remove/insert) | Timotej Lazar | |
2015-08-11 | Move normalize to prolog.util | Timotej Lazar | |
2015-08-11 | Ignore edits after the first correct version | Timotej Lazar | |
2015-08-11 | Clean up monkey.fix.step | Timotej Lazar | |
2015-08-11 | Simplify get_edits_from_traces | Timotej Lazar | |
2015-08-11 | Remove all trailing punctuation from lines | Timotej Lazar | |
Remove trailing sequences of COMMAs and PERIODs when extracting edits from a trace. This is because subgoal order is rarely important in Prolog, and we don't care if the edit happened on the last line or not. This means that we treat for example "conc(A,B)," → "conc(A,B,C)." the same as "conc(A,B)" → "conc(A,B,C)". | |||
2015-08-11 | Small cleanups | Timotej Lazar | |
2015-08-11 | Clean up monkey.edits.get_paths | Timotej Lazar | |
2015-08-11 | Move monkey.prolog to root module | Timotej Lazar | |
2015-08-11 | Clean up monkey.prolog.util | Timotej Lazar | |
2015-08-11 | Pickle frequent edits when calling monkey.edits | Timotej Lazar | |
Resulting file contains a 4-tuple with edit, line, submission and query frequencies. Each element of the tuple is a dictionary of the form <pid>: dictionary of frequencies The data in this file will be loaded by the tutor app and used for generating hints. | |||
2015-08-11 | Use relative imports in monkey modules | Timotej Lazar | |
2015-08-11 | Move pymonkey stuff to monkey/ | Timotej Lazar | |
Importing pymonkey into webmonkey, let's see how this works. |