forked from jaltekruse/OpenNotebook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes.txt
124 lines (118 loc) · 7.78 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Results from Moodle install - look back at this:
Server checks
Name Information Report Plugin Status
php_extension xmlrpc should be installed and enabled for best results
The xmlrpc extension is needed for hub communication, and useful for web services and Moodle networking
Check
php_setting opcache.enable PHP setting should be changed.
PHP opcode caching improves performance and lowers memory requirements, OPcache extension is recommended and fully supported.
Check
Useful commands for setting up server apache server:
- default mysql port: 3306
- apt-get -y install apache2 mysql-client mysql-server php5
- apt-get -y install graphviz aspell php5-pspell php5-curl php5-gd php5-intl php5-mysql php5-xmlrpc php5-ldap git-core
- sudo /etc/init.d/apache2 restart
- hung ssh: ~.
- todo mail:
- http://askubuntu.com/questions/47609/how-to-have-my-php-send-mail
- apache web root
- /etc/apache2/conf/httpd.conf
- may be in sites-available/000-default.conf instead
Tasks:
- implement simple text file based "student overview" page
- students upload text docs with single answer in it
- skipped this, instead implemented grading with student work for a single
problem on a single OpenNotebook page
- figure out how to kick off something at the time when submission is over to
aggregate the answers that were incorrect
- going to have teachers just pull down all student work, all grading,
automatic an manual will happen on their machine in the java app
- no need to duplicate parsing or doc in-memory structure in PHP, or
require admins to install Java on the server
- xml parsing in php, look for elements with an "answer" field
- allow for teachers to get up the list of expected answers somehow
- compare answers against each solution in each student doc, aggregate incorrect work
- write incorrect work to a file, with link to student ID and problem number, anything
needed to talk to moodle to push partial credit back to the site
- decided against this, see above
- enhance OpenNotebook to layout the "Overview page" on launch
- does not open on launch, but there is a new button now which allows loading a zip file
full of docs and correctly generates the teacher overview page
After looking at a lot of Moodle APIs, this might be easiest to just do in JAVA, where the structures to parse
and traverse documents are already implemented
- I had thought it would need to be in php to make it easier for the teachers to do the automatic grading
- Moodle didn't seem to have a good place for me to store the answer key
- all of the automated grading stuff implemented today is based on their quiz structure
- it looks fairly powerful, but doesn't seem like the best fit, I don't want to force teachers to
create problem sets in a Web UI
- they can just assign problems out of the book and this should still be useful
- I could even grade the student's work against each other, look for most common solutions
- I don't even have to know if they are right, I can just show them to the teacher, they
can compare them to the answer key and assign a score for common answers
- these can be automatically applied to all students who had that answer
- with extra work done by the teacher to more thoroughly evaluate incorrect work for
partial credit
- Moodle has a feature to download a zip file full of student submissions
- and submit back an edited version of the same files
- I can just modify the application to be a viewer of all of the files, I can dynamically
show different subsets of the work
- just manually graded problems
- most troublesome problems
- show all work (even the correct work)
- will need to have a way for a teacher to associate an answer key with the files for grading
- open answer key
- add button "Grade Student Submissions"
- tooltip - Use current document as an answer key to grade a zip file full of student work
- after generating worksheet
- add a new feature to explode it into a "digital version"
- remove answers from doc
- split up to one problem per page so that we can clearly identify what student work belongs with
a particular problem
- during uploaded of the new zip file with feedback
- make sure I have a way of representing scores, including partial credit in each doc
- open the zip, read the score for each student and store it in the gradebook while the existing
code saves it back as the binary file the student can look at to see all of their feedback
TODOs:
- set up maven build
- anticipating adding new depedencies soon, will want to make these easy to manage
- unit tests for existing features
- look at the list of test stubs that were checked in recently
- refactor existing code to make use of the new visitors
- will allow for re-evaluation of various places where during iteration of a doc
we want to recurse down into sub-objects in groupings or not and consolidate
some code in these areas
- can simplify some code where it should be clear if a traversal is going to
modify the incoming document or just look for something or calculate some aggregate
information across all of the pages and objects
- move mouse handling code to a better abstraction to make it more reasonable to understand
what code blocks consume the event and how the event handling for various cases is ordered
- the blocks for each type of event, mouse-click, mouse-up, etc. should only be a few lines
to define the ordering of the various handlers that may end up consuming the event
- refactor attributes to be kept in Maps rather than vectors, if possible remove knowledge
of a given attributes name from the attribute itself and only have a name be managed by
whatever is holding onto it
- do a similiar refactoring with NamedObjectList
- generate output zip full of student docs
- generate CSV with final grades (the sum of automatically graded and manually given scores)
- write plugin for Moodle to allow parsing the grade CSV file and update gradebook appropriately
- write tests for moodle plugin to ensure students get their feedback docs and gradebook is updated
- grading UI improvements
- apply grade given manually to other similar answers
- with a popup? maybe a setting that can be turned on by default
- group objects by similar answers or work
- provide a side panel to see all of the answers for the problem currently being graded
- student UI improvements
- allow students to specify problem numbers
- Use scott's code to parse an assignent description and fill in problem numbers automatically
- allow pages to have different sizes, students can expand to make workspace for a problem larger
- implement grading without an answer key
- implement better interface for creating and editing answer keys
- at the very least make the ordering based on how they are visually given, rather than
the meaningless order they appear in the data structure
- making the data-structure order could possibly allow for auto-tabbing to the next available
object that can be filled in, based on how things are layed out visually
- not sure how to handle rows vs. columns, how can I know how things are arranged?
- this was something that came up in interface testing with users, so it would be
good to think about
- once student was able to understand how to solve problems through the UI, they wanted
to just use their keyboard to move through the assignment