Skip to main content
Public Library

Building Extensible Systems

Course: CS3620 · Instructor: Ballantyne, Michael · Term: Spring 2025
Community Ratings
Online:3.6-0.80|Course:3.8-0.70|Learning:4.3|Instructor:4.5|Effectiveness:4.8+0.40
n=5
📖

Course Description

Deals with the design of extensible software systems, which enable clients to add functionality both statically as well as dynamically. Examples of such systems are operating systems, game servers, and Web browsers. Describes the classic systems built on C-like languages with unsafe, manual memory control and the more recent systems built on Java-like languages with safe, automated memory management. Introduces the Rust programming language, which combines the efficiency of C with safe manual memory control via type specifications and compiler constraints. Offers students an opportunity to build systems using all three settings but focuses on the Rust approach. Students also have an opportunity to evaluate their work via essays and memos.

📊

Teaching Style Radar

Hover over each label for details

Quick Takeaways

  • Best for: Challenge and Feedback stand out (On Par, On Par).
  • ⚠️Watch out: Clarity is below average.
  • 💡Key insight: No strong dimension pattern detected.

Strengths & Areas for attention

  • Strong: Overall (4.8)
  • On Par: Feedback (4.4)
  • ⚠️Below average: Clarity (4.2)
  • ⚠️Needs attention: Materials (3.2)

Want Evidence-Backed Analysis?

Capture this course to get deeper insights based on all student comments.

View workload breakdowns, pro/con lists, and more in My Library.

🔒

Login Required

Sign in to capture this course and unlock personalized AI analysis.

Developer details
offering_id: bb88b14b-5685-4fc0-9099-967ebd37b66c
offering_key: CS3620_Spring_2025
created_at: 2026-01-26T01:49:35.305714+00:00
agg_updated: 2026-01-26T01:16:31.539473+00:00
enrich_model: none
pipeline: enrich_gemini_v5_profile