Skip to main content Skip to local navigation
Home » Posts tagged 'VPL'

VPL

Automated Student Evaluations in C (part 3)

Automated Student Evaluations in C (part 3)

This is the third post in the series on evaluating student assignments in VPL with C and unit testing. We're targeting using VPL on Moodle / eClass. Specifically, the bash scripts are based on the fantastic work of Smith College professor emeritus, Dr. Dominique Thiébaut. He wrote about his VPL work here and while his […]

Virtual Programming Lab: Basic Examples

Virtual Programming Lab: Basic Examples

Heard about Virtual Programming Lab (VPL) and eClass at York and want to "kick the tires" a little? If you haven't already, VPL is a plugin for Moodle (eClass at YorkU) that allows instructors to create interactive programming activities for students. Here is some introductory material. [this may need an update after the update in […]

Automated student testing of Matlab code, Part 1

Automated student testing of Matlab code, Part 1

It's important to have dynamic 24/7 interactive activities for programming classes. There are plenty of solutions out there, including Matlab Grader and Möbius. The folks at Jetbrains have their Academy system, too. What I need, at this stage, is a no bells-and-whistles, auto-grader for Matlab code that can run a unit test on a student's […]

Ad-hoc unit testing on simAVR and VPL

Ad-hoc unit testing on simAVR and VPL

In the previous post I showed you how to use VPL and simAVR together to write a basic activity that would test to see if a student could change or assign the value of a register in the simulated microcontroller using the C programming language. While it was the most straight-forward way that I could […]

VPL, Vectors and Java

VPL, Vectors and Java

This is an example exercise in VPL. Grade is out of 1. All the students have to do is uncomment the creation of the MathVector object. Want to reproduce this example? PreLabC.java (the template for the student to work on) solution.txt (what the student's solution _could_ look like) MathVector.java (the class with all the methods […]

VPL & Java 17

VPL & Java 17

In our first year programming class for engineering students, EECS 1021, we're using modern features like jShell and var. Unfortunately, the OS that our VPL instance sits on came with an older version of Java, so we've had to modify our scripts to point to the Java 17 JDK. If you get an error like […]

Verilog in Virtual Programming Lab

Verilog in Virtual Programming Lab

Unit testing is really important in general programming, but it's also really useful when creating interactive programming assignments. With Java, I like to use JUnit and with C I like to use the Unity unit tester. With Verilog it's actually really straight-forward to set up testing frameworks. In the EECS 2021 (Computer Organization) labs written […]

VPL: Simple C Assignment with Unit Testing

VPL: Simple C Assignment with Unit Testing

August 2021 Background Here, we're going to apply ThrowTheSwitch's Unity unit test framework to C programs. The test framework is available on GitHub. Three files need to be downloaded from the GitHub. There are a few more files that need to be developed within VPL to make it work, and those are described below. We're […]

VPL: Using Maple for Math Assignments

VPL: Using Maple for Math Assignments

One of the places that Moodle falls down in is in supporting math assignments. It occurred to me that we could treat math assignments like we do programming assignments by extending the Virtual Programming Lab plugin for Moodle to support Maple. This doesn't replace existing products like the Maple / DigitalEd Möbius platform, nor does […]

VPL: Basic Custom Evaluation Example

VPL: Basic Custom Evaluation Example

Sometimes you need to go beyond the default settings in VPL. That means creating a custom "run" and "evaluate" setup. Here, I'll simplify a great example by Dominique Tiebaut, Emeritus prof at Smith College, written for an assignment in C. (archive) We'll check a "hello world" example in C, but won't use the default evaluate.cases […]