Skip to main content

Group Assignment 2: Feature Buffet

Overview

In this final implementation assignment, your team selects and implements 2-3 features from a provided menu. Unlike GA1, this assignment is graded primarily on process rather than product—demonstrating thoughtful design iteration, quality code review, and professional documentation matters more than feature completeness.

8-bit lo-fi pixel art illustration for a programming assignment cover. Kitchen/bakery setting with warm wooden cabinets and countertops in browns and tans. Scene composition: A grand kitchen buffet table stretching across the scene from left to right, laden with serving stations — each station represents a selectable software feature displayed as an appetizing pixel art dish on a labeled platter. STANDARD TIER (silver platters on the left half): "Recipe Scaling" shows a recipe card with a size slider growing from small to large, "Shopping List" displays a notepad with aggregated ingredient checkboxes, "Export to PDF" features a printer outputting a formatted page, "Unit Conversion" shows a balance scale with metric weights on one side and imperial on the other, "Keyboard Shortcuts" displays a glowing keyboard with highlighted keys, "Dark Mode" shows a monitor split half-light half-dark, "Cooking Timer" has a pixel stopwatch with steam rising. ADVANCED TIER (golden platters on the right half, slightly elevated): "Multi-Page Import" shows a stack of cookbook pages feeding into a scanner, "Recipe Chatbot" features a chat window with a friendly chatbot giving recipe suggestions, "Meal Planning" displays a weekly calendar grid with recipe thumbnails in each day slot, "Nutritional Info" shows a pie chart with macronutrient segments. FOREGROUND - Floating process portfolio documents are visible above the platters: wireframe sketches showing Version 1 and Version 2 iterations, a git log with commit messages, PR review comment bubbles with checkmarks, and a testing checklist. A sign at the buffet entrance reads "Choose wisely — process over product!" POST-IT NOTE: "Document your journey, not just the destination." TOP BANNER: Metallic blue banner with white pixel text "GA2: Feature Buffet". BOTTOM TEXT: "CS 3100: Program Design & Implementation 2". Color palette: Warm browns/tans for kitchen, silver and gold for platters, cyan/teal for selection highlights and process document accents, cream for recipe cards. 8-bit lo-fi pixel art style, clean outlines, retro game aesthetic with subtle CRT screen texture, 16:9 aspect ratio.

This approach reflects real-world software development: a well-documented, well-tested partial feature is more valuable than a hastily-implemented complete feature with no documentation or tests.

Due: Thursday, April 16, 2026 at 11:59 PM Boston Time

Prerequisites: GA1 (Core Features) must be complete. Your core features should be integrated and working. You will build on this foundation for your GA2 features.

Learning Outcomes

By completing this assignment, you will demonstrate proficiency in:

  • Iterative design through documented design evolution (L27: User-Centered Design)
  • Professional documentation of design decisions and implementation choices
  • Quality code review that improves code and spreads knowledge (L22: Teams and Collaboration)
  • Process reflection that identifies lessons learned and areas for improvement

AI Policy for This Assignment

AI tools are encouraged, but remember: we're grading process, not just product. AI can help you implement features quickly, but it cannot:

  • Make design decisions for your specific users
  • Document why you made the choices you made
  • Provide meaningful code review (AI-generated review comments do not satisfy the code review rubric)
  • Reflect on what you learned

Use AI as a tool, but ensure the thinking is yours. If you use AI assistance for implementation, you must be able to explain the code and design decisions in your own words during TA meetings.

The Feature Buffet

Choose 2-3 features from the buffet below. 3-person teams follow the same Feature Buffet process and grading as 4-person teams — the number of features selected and all process expectations are unchanged.

Standard Features

FeatureDescriptionComplexity
Recipe ScalingAdjust serving sizes with automatic ingredient recalculationMedium
Shopping ListGenerate aggregated shopping list from selected recipesMedium
Export to PDFCreate nicely formatted PDF exports of recipesMedium
Unit ConversionToggle between metric and imperial throughout the appMedium
Keyboard ShortcutsComprehensive keyboard navigation and shortcutsMedium
Dark ModeTheme switcher with system preference detectionLow-Medium
Cooking TimerTimers linked to recipe instruction stepsMedium-High
Cooking ModeStep-by-step cooking interface: one instruction per screen with referenced ingredients, large easy-to-tap navigation buttons, and previous/next step controlsMedium

Advanced Features

FeatureDescriptionComplexity
Multi-Page ImportImport multiple files at once, multi-page PDF support, detect recipe continuation across pagesMedium-High
Recipe Chatbot"What should I make?" meal suggestion assistant using Gemini APIMedium-High
Meal PlanningCalendar-based meal planning with recipe schedulingHigh
Nutritional InfoAPI integration for nutritional dataHigh

Process Portfolio

For each feature from the buffet, your team must submit a Process Portfolio demonstrating thoughtful development. This is the primary grading artifact.

1. Design Rationale (12% of feature grade)

Document (1/2 page):

  • Why did you choose this feature?
  • What user need does it address? (Reference a persona from GA0)
  • What alternatives did you consider?

2. Design Artifacts (28% of feature grade)

Show your design evolution:

  • Version 1: Initial wireframe/mockup
  • Version 2+: At least one iteration with documented changes
  • Rationale: Why did you change the design? What feedback prompted it?

Photos of whiteboard sketches are fine. The goal is showing iteration, not polish.

3. Implementation Journal (22% of feature grade)

Document your implementation process:

  • Git history: Show incremental progress (not one giant commit at the end)
  • PR history: Link to PRs with meaningful review comments
  • Decision log: At least one documented technical decision with alternatives considered

4. Testing & Quality (25% of feature grade)

  • Unit tests for the feature
  • Brief accessibility check: Does it support keyboard navigation?
  • Known limitations documented

5. Feature Summary (12% of feature grade)

  • Screenshots: 2-3 screenshots showing the feature in action
  • Integration notes: How does this feature connect to the rest of the app?
  • Status: What's complete, what's in progress, what's known to be broken?
Demo & Reflection

Your full demo video and project reflections are part of the Final Project Report, due April 20 — a few extra days after the GA2 implementation deadline to finalize these documentation tasks.

Grading Philosophy

A well-documented partial feature scores higher than a complete feature with no process evidence.

ScenarioScore (out of 40)Letter Grade Equivalent
Feature complete, excellent process documentation, meaningful iteration36–40A
Feature partially complete, excellent process documentation32–36B+
Feature complete, minimal process documentation28–32B-
Feature generally broken, but excellent documentation of what was attempted28–32B-
Feature partially complete, minimal process documentation24–28C+
Feature complete, no documentation20–24C-

Grading Rubric

Total: 50 points — 40 points team (Process Portfolios) + 10 points individual (contribution evidence). This equates to 80% team / 20% individual grading.

Team: Process Portfolio (40 points)

Each feature is scored out of 40 points. If your team implements 2–3 features, scores are averaged to produce the 40-point team component. Components scored zero (entirely missing) will produce grades below the philosophy ranges above.

ComponentPointsExcellentSatisfactoryNeeds Improvement
Design Rationale5Clear user need, thoughtful alternatives consideredUser need statedGeneric or missing rationale
Design Artifacts112 versions with clearly documented evolution2 versions shownSingle design, no iteration
Implementation Journal9Regular commits, quality PRs, decisions documentedSome commits, basic PRsLarge commits, no discussion
Testing & Quality10Comprehensive tests; known limitations documentedBasic tests presentMinimal or no testing
Feature Summary5Clear screenshots, integration well-explained, honest status assessmentScreenshots or status presentNo summary provided
Total40

Individual Contribution (10 points)

Scored per team member based on evidence of personal engagement:

ComponentPointsExcellentSatisfactoryNeeds Improvement
Commit history & PR activity5Regular, meaningful commits; substantive PR participationSome commits and PRsMinimal commits; one large dump at the end
Code review quality5Substantive, specific review commentsReviews present but surface-level"LGTM" only or no reviews
Total10

Individual Accountability Adjustment

TA meeting observations and weekly collaboration surveys can adjust an individual's final grade by up to -20 points or award an upward adjustment of up to +20 points. If a team member cannot explain their code in TA meetings while the rest of the team succeeds, their grade may be reduced. The upward adjustment exists for a specific scenario: if your team's project isn't fully complete, but you went above and beyond to support struggling teammates — helping them get unblocked, taking on extra integration work, providing thorough code reviews — you can still earn full marks. This is not an extra credit mechanism; it is unlikely to bring a student above the assignment's total points. Simply doing your own work well is the expected baseline, not grounds for an upward adjustment. The weekly collaboration surveys (due Mar 23, Mar 30, Apr 6, Apr 13) inform this adjustment.

Submission

All deliverables should be merged to main following the Git Workflow for Team Projects. Your main branch is automatically submitted to Pawtograder.

Repository Contents

/menu-features/
/feature-name-1/
RATIONALE.md
design/
v1-wireframe.png
v2-wireframe.png
design-evolution.md
IMPLEMENTATION_JOURNAL.md
FEATURE_SUMMARY.md
/feature-name-2/
...

Checklist

  • 2-3 features selected from the buffet
  • Process portfolio complete for each feature (including feature summary with screenshots)
  • Weekly collaboration surveys up to date (due each Monday via Pawtograder)

Reflection Questions for Team Discussion

Before submitting, discuss as a team:

  1. Which feature had the smoothest development process? Why?
  2. Where did your GA0 design artifacts help most? Where did they fall short?
  3. What would you do differently if starting the group project over?
  4. What's one thing each team member learned from another team member?

These don't need to be submitted, but inform your individual reflections in the weekly team collaboration surveys and the final individual reflection.

Mandatory Submission Gate

As part of the Final Report, each team member must submit an individual reflection. This is a mandatory gate — your individual and team grades for the final report are not released until it is submitted. Keep notes throughout GA2 so you're prepared.