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

What is Gradescope?

What is Gradescope? An honest explainer of what it does, what it is good at, and when a code-first alternative like CodeGrade fits better. Start free up to 50.

Exam Heartbeat: Live Monitoring for Proctored Coding Exams

Exam Heartbeat detects when students leave the exam window mid-session. Live monitoring for proctored coding exams, no extra setup.

CodeGrade vs CodeRunner: A Moodle Plugin vs a Full Autograding Platform

GitHub Classroom updates have slowed and GitHub now points instructors to Codio. Here's what has actually changed in 2026, what professors are reporting, and what it means for your fall planning.

Sign up to our newsletter