sdmay24-33 • Interactive Embedded Systems Learning Using the Prairie Learn Framework

Project Overview

The objective of this project is to use the Prairie Learn framework (https://www.prairielearn.org/) to develop an interactive learning environment for use in CPR E 288 (Embedded Systems), which can be found here https://cpre288-pl-f2023.ece.iastate.edu/pl/login. This will primarily involve:

  1. Using Python, JavaScript, and C to develop interactive questions/activities that can be randomized, and auto-graded, and
  2. Integrating third party tools such as microcontroller emulators to create an interactive environment in which students can learn and practice Embedded Systems concepts introduced in CPR E 288.

A stretch goal would be to have an emulated (and perhaps actual) Cybot robot interface with the framework. A significant portion of the team will need to be very comfortable with the material covered in CPR E 288.

Interactive questions/activities developed will cover topics such as:

  1. Converting numbers between bases
  2. Writing simple C programs
  3. General Purpose I/O
  4. Bitwise operations
  5. UART communication
  6. Analog to Digital Conversion
  7. Timers
  8. Pulse wave generation
  9. Assembly Programming

A larger vision for this project is to act as an example that other courses in the department can use to develop interactive learning environments. Depending on the progress of the team, there is an opportunity to experiment with developing interactive educational material for courses beyond CPR E 288.

Expected Deliverables:

  1. Refinement of existing interactive questions for initial student feedback by mid Fall 2023,
  2. A larger set of more advanced interactive questions/activities to be completed by the end of Fall 2023 so that they can be deployed to CPR E 288 in the Spring of 2024,
  3. A final large set of interactive questions/activities that will be used by CPR E 288 students in the Summer of 2024, and
  4. Developer documentation, and tutorial videos to help others quickly get up to speed with setting up a PrairieLearn server, and developing interactive questions/activities for courses in the department

Team Members

Tyler Weberski

Project Manager

Software Engineering

Matt Graham

Consultant

Software Engineering

Chris Costa

Quality Assurance

Software Engineering

Andrew Winters

Construction

Electrical Engineering

Carter Murawski

Scrum Master

Electrical Engineering

Mitch Hudson

Technical Lead

Cyber Security Engineering


Design Documents

Final Design Document

Previous Design Documents


Weekly Reports

Status Reports

Advisor Reports


Lightning Talks

Video Presentations

Slideshows


Project Documentation