Adding Code Highlighting in Blackboard's Question Import Format
- Jorge Morán
- Teaching , Tips
- July 25, 2024
- 3 min
Blackboard is a popular learning platform that many universities use to manage content and exams. One of the features that Blackboard provides is the ability to manage exams or question banks by importing files that follow a particular format.
In their documentation they offer a sample file with the format . Let’s analyze it quickly to get a rough idea of how it works.
MC Which ocean is the warmest? Atlantic correct Pacific incorrect Arctic incorrect
MA Choose all of the examples or types of carbohydrates Galactose correct Fructose correct Melanin incorrect Sucrose correct
TF Blaise Pascal was a 20th century sociologist who argued for the importance of identifying scientific laws that govern human behavior. false
ESS Give a few examples where you can help preserve marine ecosystems. [Placeholder essay text]
MAT Match the following animals to their native continent Bullfrog North America Panda Asia Llama South America
FIB ___ is the silicate mineral with the lowest melting temperature and the greatest resistance to weathering. Quartz
FIB_PLUS "Four [a] and [b] years ago" is the beginning of the [c] delivered by [d]. a score b seven c Gettysburg Address d Abraham Lincoln
NUM Approximately, how many species of birds are there? 10,000 1000
The format is a tab-separated values file (tsv). The first field indicates the type of question. For instance, MC means multiple-choice, MA means multiple answers and TF means true or false.
Let’s import the first and the third questions to Blackboard.
After uploading our file, we’ll obtain two questions ready to use.
As we can observe, our file worked. The problem arises when we want to present code. In my case, I needed to present Java snippets. Although code can be syntactically correct if shown in one line, it is not easy to read, which is not a good experience for students.
I experimented with a few options, I tried embedding linebreaks with
\n
, and I also tried code fences but nothing worked.
After some trial and error, I noticed that embedding HTML worked. However, I needed to understand which CSS classes were necessary to properly highlight code.
Let’s analyze an example of a question that worked for me:
MC Which line causes a compilation error? <pre class="ql-syntax" spellcheck="false">public class Main { <br>public static void main(String[] args) { <br> Main obj; <br> obj = new Main(); <br> System.out.println(obj); <br>} <br>}</pre> There's no error correct Line 1 incorrect Line 2 incorrect Line 3 incorrect
We can notice that inside the question, we have a <pre>
tag that
contains the code. In there, we add the ql-syntax
class. Other than
that, the rest is regular HTML with line breaks and spaces where
needed.
Let’s analyze how the question was rendered after uploading it:
This approach also works for other types of questions such as TF, and for other programming languages such as Python. Let’s analyze another example.
TF Will this Python script cause a runtime error? <pre class="ql-syntax" spellcheck="false">class MyClass: <br> def __init__(self, value): <br> self.value = value <br><br>obj = MyClass() <br>print(obj.value)</pre> True correct False incorrect
If we upload this question, we’ll obtain the following result:
Excellent! Our format also worked for Python code and a TF question.
In this post, we have analyzed how to leverage HTML and CSS styles to upload code-highlighted questions to Blackboard.