Skip to main content Skip to local navigation

Search Results for: vpl

VPL: Circuit Simulation Assignments with SPICE

Introduction In YorkU’s EECS Department, we have access to NGSPICE on our department’s Linux machines (via RemoteLab). NGSPICE is yet another variation on the venerable SPICE circuit simulator. Our the University’s Moodle system, eClass, we have access to Virtual Programming Lab, a framework for making interactive exercises for students. It is typically used with programming […]

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

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

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 […]

VPL: Simplest Working Example

Virtual Programming Lab can be a little intimidating to use, but once you get the swing of things, it’s pretty good. So, let’s get you started with the simplest possible working example. We assume that: you have Moodle working at your institution someone has installed VPL on Moodle and you don’t need or have access […]

Spike Simulator for learning: C vs. Assembler

RISC-V processors, like ARM processors, are complex beasts, making them challenging to teach with. When teaching with them it’s important to have appropriate development tools to reflect the immediate pedagogical goals but also to provide students with a pathway for further learning and application. When I teach courses on computer architecture, like EECS 2021 at […]

ChatGPT: “I’m sorry but I couldn’t find any information”

While chatbots like ChatGPT are truly ground-breaking, they have limitations. In fact, there are many cases in which chatbots simply cannot return an answer due to the limitations of the LLM structure and dataset. Experts quickly find the limitations of chatbots, but novices to a topic are very likely to get tripped up by the […]

Unit Testing a Question Bank

I’m working on question sets for introductory programming classes in languages like Java, C and Matlab, with a possibility of extending into other commonly-used languages (in our department) like Python and Verilog. The idea is that these questions could be deployed into a protected lab test or an open in-class “flipped homework” environment. Key to […]

Automated Student Evaluations in C (part 5)

This is the fifth in the series of postings on automated grading in C. Here, I’ve modified the VPL exercise to include four possible flowcharts that the students can implement, but the particular flowchart now get assigned to the student based on the time of day. The VPL output (both “run” and “evaluate” looks like […]

Automated Student Evaluations in C (part 4)

In this fourth post, I’m going to modify the way the unit tests in C get picked up by the VPL “run” and “evaluate” scripts so that rather than look for a particular phrase returned by the unit test (something like “The unit test expected to see 5 but the student’s function returned 1”), it’s […]