Tips for making better use of Grok in your university course when teaching remotely
The recent COVID-19 pandemic has accelerated the demand for university course material to be available online. A common use of Grok by university educators is to host programming exercises that students can work through as part of their studies (see https://groklearning.com/universities/ for more information). However, there are plenty of opportunities to provide a more comprehensive and richer online educational experience. We’ve learned some lessons through supporting our university partners’ courses, and from hosting the NCSS Challenge for school students, so here are some suggestions for making more of your course available online, and to improve the online educational experience for your students.
Move more content into Grok slides
A lot of university material is often distributed in hardcopy, or through PDFs or Powerpoint slide decks. You can weave this material into your Grok exercises as slides. Our content editor supports Markdown, HTML and LaTeX, and can include a wide variety of media types.
Use runnable code blocks for worked examples
If you have self-contained code examples, these can be presented within your Grok slides in line with your other content, allowing students to run the examples for themselves. Each runnable code block can feature multiple code and data files, and can run in a terminal to respond to user input, or can generate graphical output.
Since the runnable code blocks are editable by the user, you can also incorporate small exercises by requiring students to modify the code and observe the change in behaviour. For a really polished result you can also make use of our interactive steps feature to visually reward students for completing each step of an exercise. This takes a bit of crafting, so reach out to us for support in making use of this feature.
Add multiple choice questions
While Grok has been designed principally to provide an interactive programming experience, we also support multiple choice questions so that you can break up slide content to help students check that they have correctly understood key concepts. These are usually implemented as problems in the same way as for coding problems, allowing the outcome to be used in calculating a score for the student’s progress. Alternatively, more sophisticated versions can be created using interactive steps within a content slide.
Add more tests to programming exercises to improve feedback to students
It’s often sufficient to test a single outcome of a student’s submitted code for a programming exercise, but you can make a problem more accessible (and easier for a student to attempt unaided) if you test multiple outcomes. Ideally, each problem should include:
- A simple check that the submitted code generates the same output as a reference solution;
- A check with alternative data (to deter students from hard-coding for a single known outcome);
- Checks of important edge cases (e.g., zero or null inputs).
If your test is purely formative (i.e., intended to help a student learn), it’s good practice to use the default response, so that students are shown the output their code produces, compared to the expected outcomes. Students will appreciate clear feedback that they can use to improve their submissions.
Provide Grok problems as quizzes and assignments
Not all tests in a problem need to be formative, such that a student is given enough information to correct their submission. You can add tests that are performed on hidden data, and for which the results are hidden from the student until after a specified time. This is useful to create modules specifically for summative tests (i.e., those intended to assess a student’s knowledge or ability) such as mid-term quizzes, exams or project assignments. Final submissions can be exported by the lecturer to mark manually, or using the test outcomes, as well as to run through similarity checkers such as MOSS.
Use online tutoring support
University courses can make use of our live tutoring facility to allow tutors to respond to students’ questions from within the Grok platform. Tutors can review students’ previous attempts, and try out changes to the code without affecting the student’s own version, before responding to students via a private chat thread. We use this extensively to support school students during our NCSS Challenge and Web.Comp competitions, and it’s an excellent resource to provide personalised online support by tutors to students.
Host Jupyter notebooks
Sometimes you’ve gone to the effort of writing a Jupyter notebook to show your students how to do some complex analysis, and it’s either inconvenient or impractical to change this into code blocks or problems. One solution is to just keep it as it is, and host the whole notebook in Grok. This is a special extra service, so talk to us on firstname.lastname@example.org to find out more.
Give it a try
Hopefully we’ve given you some food for thought. There is supporting authoring documentation for many of the above features. We can also provide examples content to get you started, so get in touch on email@example.com to let us know how we can help. And if you’ve done something interesting that you’re happy to share, let us know so we can include in a future article.
Thanks to the course authors who permitted us to share screenshots of their courses:
- Willem Vervoort, José Padarian and Magda Guglielmo from the University of Sydney for Analysing and Plotting Data: R (OLET1601)
- Tara Murphy from the University of Sydney for Data-Driven Astronomy https://www.coursera.org/learn/data-driven-astronomy
- Bruce Fuda from the Australian Computing Academy for Cryptography — Cyber Security Challenge https://aca.edu.au/projects/cyber-challenges/
- Robin Harper from the University of Sydney for Foundations of Quantum Computing (OLET2610)
Thanks also to Christie McMonigal and Dom Poznic for their input in writing this article.