The Progressive Learning Platform for computer engineering

David Jakob Fritz, Wira Mulia, Sohum Sohoni, Kerri S. Kearney, Mwarumba Mwavita

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


This paper describes the Progressive Learning Platform (PLP), a system designed to facilitate computer engineering education while decreasing the overhead costs and learning curve associated with existing solutions. The PLP system is a System on a Chip design with accompanying tools reflecting a contemporary CPU architecture. It is unique in that it can be used in a number of courses (Digital Logic Design, Microcomputer Principles, Computer Architecture, Compilers, Embedded Systems) as students progress through a Computer Engineering curriculum. The system consists of a fully pipelined, MIPS like processor with surrounding support hardware. The support hardware includes a programmable interrupt controller, VGA controller and framebuffer, UART, memory controller, simple cache, timer, and GPIO hardware. All components are written in Verilog HDL, are open-source, and are freely available. To support the hardware components, a unified assembler, cycle accurate emulator, and board interface software package is included. The software is written in Java, works on Linux, Windows, and Mac OS, is open-source, and is freely available. With only a brief learning curve on the PLP system, students can work on course objectives immediately. The system and accompanying curriculum emphasize inter-and intra-team collaborative learning by compartmentalizing components of the design process used in lab to individual teams. The goal is to expose students to a less controlled environment representative of real-world design practice. Student teams are responsible for the design decisions of their assigned component, as well as ensuring that components are compatible for use in the larger, class-wide system. Other highlights of the PLP system are: a "hands-on? experience with real hardware early in the computer engineering curriculum, low overall cost for students and institutions, and cross-course application of concepts. The latter is of great importance since students often fail to see how concepts learned in one course apply to another. With an overarching system like PLP, where different aspects of it are taught and used in a variety of courses, student can make direct connections and see how concepts in computing are related. In this paper we present a case study of the PLP system in use in an undergraduate Computer Architecture course at Oklahoma State University. We also provide the rationale behind the development of each aspect of PLP and the expected impact on student learning, motivation, and retention.

Original languageEnglish (US)
JournalASEE Annual Conference and Exposition, Conference Proceedings
StatePublished - 2011
Externally publishedYes

ASJC Scopus subject areas

  • Engineering(all)


Dive into the research topics of 'The Progressive Learning Platform for computer engineering'. Together they form a unique fingerprint.

Cite this