Discover how to enhance Systems Programming assessments and boost learning objectives.
June 27, 2024

Course Spotlight: How to set up a Systems Programming course

In 30 seconds...

Learn all about what it takes to set up an engaging and effective Systems Programming course, with insights from CS Undergraduate Director, Kevin McDonnell, from Stony Brook University. We discuss assignment types, engagement tips and more!

Designing a systems programming course presents unique challenges and opportunities. We spoke with Kevin McDonnell, a seasoned educator from Stony Brook University. His course structure and pedagogical insights offer a compelling blueprint for educators aiming to navigate this field.

Understanding the Course Structure

McDonnell's course at Stony Brook encompasses two critical components: systems programming, and computer organization and architecture. The overarching learning objectives are designed to equip students with foundational skills, such as the ability to:

  • Determine the Machine level representations of primitive and structured data types.
  • Determine the correspondence of program constructs written in C and in Assembly Language.
  • Implement non-trivial algorithms and both static and dynamic data structures in the C.


"These are the main things that we emphasize," McDonnell explains. These objectives not only underscore the importance of low-level programming proficiency but also emphasize the practical applications in real-world system development.

Assignments and Assessment Strategy

The course contains five assignments: four in C, and one in Mips Assembly language. Kevin starts by covering the basics of C, moving on to pointers and dynamic data structures, and ending with Assembly, so students have some exposure to low level programming. Assessments are predominantly formative but take place over the course of two weeks. These larger projects give students the opportunity to grasp the content of the course.

Craft effective computer science courses with CodeGrade today!

Continue reading

The Terminal Is Here: CodeGrade's Editor Grew Up

The Terminal is here in beta: a real Ubuntu command line in CodeGrade's redesigned browser editor. Email support for access and a guided setup session.

You Can Now Limit Copy-Pasting in the CodeGrade Code Editor

Prevent copy-pasting in coding assignments. CodeGrade lets you cap or block pasting in the code editor, per assignment. You set the limit. Start free.

Everything CodeGrade Shipped in Q2 2026

See all 14 CodeGrade releases from Q2 2026: simpler login and enrollment, faster AutoTest setup, a context-aware AI assistant, and exam fixes. Start free.

Sign up to our newsletter