kainliu
7/17/2017 - 8:50 AM

idea on new system

idea on new system

Here I would like to propose the desgin of a web-based e-learning system.

Workflow

Test Givers

For test givers, the workflow will be:

1. Create a document of questions in `RStudio` with `R Markdown`
• use all R and R markdown legacy
• use a new defined function to replace variables(see Example below)
2. Export it as a collection of
• markdown files (`.md`,`.rmd`)
• plot images (`.png`,`jpg`,etc.)
3. Preview as a student
• in a web browser
• check questions and parameters
4. Upload exported collection to the server
5. Done!

Students

For students, they will:

2. See a list of individually selected questions with randomly selected parameters

1. Install `Node.js` to render self-customized `R markdown` documents into web `html` pages.
2. Install a CMS system
• usually a `ftp` service

Example

This is a `R markdown` example that a test giver will assemble questions.

``````
### Problem 1

Two numbers N and {{M}} have LCM = {{LCM}} and GCF = {{GCF}}. Find N.

'''{r echo=FALSE}
df <- data.frame(M = c(16, 8, 4),
LCM = c(48, 24, 12),
GCF = c(8, 4, 2)
)
df
'''
``````
MLCMGCF
16488
8244
4122

And one student will see:

``````### Problem 1
Two numbers N and 16 have LCM = 48 and GCF = 8. Find N.
``````

The idea is to using a data frame to output all possible value range/combinations.

Another example is as follows,

``````### Problem 2
If the area of a circle is {{N}}pi square feet, find its circumference.

'''{r echo=FALSE}
df <- data.frame(N=(3:6) ^ 2)
df
'''
``````
N
9
16
25
36

The student will see,

``````### Problem 2
If the area of a circle is 25pi square feet, find its circumference.
``````

1. Compared to `Latex`, `R Markdown` is much easier to implement, customize and more efficient in compilation.
2. With `R Markdown`, we could fully use the R package, functions, markdown syntax, equations, plots, tables to generate high-quality documents.
3. With self-customized functions in `Node.js`, it is convenient to extend the syntax for furthur individual needs.