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

Best Paid Autograders for University Programming Courses (2026)

A side-by-side comparison of the best paid autograders for university programming courses in 2026 — CodeGrade, Gradescope, Codio, and Vocareum — covering pricing, features, and LMS integration.

Best Autograders for University Programming Courses You Can Start Using for Free (2026)

A practical comparison of six free autograders for university programming courses in 2026 — including CodeGrade, GitHub Classroom, Gradescope, Autograder.io, Otter Grader, and nbgrader.

How to Grade Code Quality, Not Just Correctness

Learn how to automate code quality checks in CodeGrade using Flake8, Checkstyle, Semgrep, and clang-tidy — no manual review or custom YAML required.

Sign up to our newsletter