Here I would like to propose the desgin of a web-based e-learning system.
For test givers, the workflow will be:
- Create a document of questions in
RStudio
withR Markdown
- use all R and R markdown legacy
- use a new defined function to replace variables(see Example below)
- Export it as a collection of
- markdown files (
.md
,.rmd
) - plot images (
.png
,jpg
,etc.)
- markdown files (
- Preview as a student
- in a web browser
- check questions and parameters
- Upload exported collection to the server
- Done!
For students, they will:
- Login the system
- See a list of individually selected questions with randomly selected parameters
- Answer and click save.
As the administrator, she/he will:
- Install
Node.js
to render self-customizedR markdown
documents into webhtml
pages. - Install a CMS system
- for students to log in, save, edit, log out
- Implement a uploading service
- usually a
ftp
service
- usually a
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
'''
M | LCM | GCF |
---|---|---|
16 | 48 | 8 |
8 | 24 | 4 |
4 | 12 | 2 |
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.
-
Compared to
Latex
,R Markdown
is much easier to implement, customize and more efficient in compilation. -
With
R Markdown
, we could fully use the R package, functions, markdown syntax, equations, plots, tables to generate high-quality documents. -
With self-customized functions in
Node.js
, it is convenient to extend the syntax for furthur individual needs.