Skip to content

jedliks-toy-car: describe Analyzer feedback in .meta/design.md #2676

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sanderploegsma opened this issue Jan 30, 2024 · 2 comments
Open

jedliks-toy-car: describe Analyzer feedback in .meta/design.md #2676

sanderploegsma opened this issue Jan 30, 2024 · 2 comments
Labels
x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept-exercise Work on Concept Exercises x:size/small Small amount of work x:type/content Work on content (e.g. exercises, concepts)

Comments

@sanderploegsma
Copy link
Contributor

sanderploegsma commented Jan 30, 2024

The .meta/design.md file of each concept exercise should contain a section describing what feedback the analyzer should provide and when. This is a prerequisite for implementing the analyzer for each of these exercises.

The section should clearly describe what should be checked by the analyzer, what feedback should be given to the student and the type of each comment (essential, actionable, informative or celebratory, see the documentation).

Here is a good example of what it might look like: https://github.com/exercism/javascript/blob/main/exercises/concept/mixed-juices/.meta/design.md

When writing the analyzer section for this concept exercise, make sure to keep the following guidelines in mind: https://exercism.org/docs/building/tooling/analyzers/comments

@sanderploegsma sanderploegsma changed the title elons-toy-car elons-toy-car: describe Analyzer feedback in .meta/design.md Jan 30, 2024
@sanderploegsma sanderploegsma added x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept-exercise Work on Concept Exercises x:type/content Work on content (e.g. exercises, concepts) labels Jan 30, 2024
@sanderploegsma sanderploegsma added the x:size/small Small amount of work label Jan 30, 2024
@bishabadkri
Copy link

Analyzer

This section outlines how the analyzer should review submissions for the satellite concept exercise and what types of feedback it should provide. The aim is to guide students constructively, reinforcing correct approaches and suggesting improvements where necessary.

The feedback should be targeted, respectful, and encouraging, helping learners better understand vector math, coordinate manipulation, and algorithmic design in the context of satellite data interpretation.


1. ✅ Code Structure and Clarity

What to check: Ensure that the solution follows clean coding practices—such as using descriptive variable and function names, breaking logic into reusable components, and avoiding code duplication.

Why: Clear structure improves readability and maintainability, which are crucial in real-world software engineering.

Feedback type:

  • Informative: When the code is functional but could be cleaner.
  • Actionable: When structure significantly hinders readability.

Example comment:
"Your solution works well! To make it even more readable, consider splitting the coordinate transformation into a separate helper function."


2. 🛰️ Correctness of Coordinate Processing

What to check: Validate whether the student is correctly applying vector math, triangulation logic, or geometry operations to determine the final position based on satellite data.

Why: The core learning goal is to understand how to process and triangulate satellite coordinates accurately.

Feedback type:

  • Essential: If the output is incorrect due to faulty logic.
  • Actionable: If the logic is overly complex or fragile.

Example comment:
"It looks like the coordinates are being summed directly rather than triangulated. You may want to review how trilateration works with distances from multiple points."


3. 🧮 Use of Mathematical Abstractions

What to check: Encourage the use of vector operations (like dot product, cross product, distance formulas) instead of manually coded logic that’s harder to generalize.

Why: Reinforces abstraction and the use of standard mathematical tools rather than reinventing them manually.

Feedback type:

  • Actionable

Example comment:
"Great effort! To simplify your solution and reduce potential errors, you might consider using built-in vector operations or libraries."


4. 🧠 Algorithmic Efficiency

What to check: Examine if the solution unnecessarily loops through the same data or recalculates results multiple times.

Why: Promotes optimization and efficient problem-solving—a key concept in all technical interviews and real applications.

Feedback type:

  • Actionable

Example comment:
"You’re iterating through the satellite list multiple times. A single-pass solution may improve performance and clarity."


5. 💥 Edge Case Handling

What to check: Review how the code responds to missing, malformed, or incomplete satellite data.

Why: Teaches students the importance of robustness and resilience in their code.

Feedback type:

  • Essential or Actionable

Example comment:
"Consider what happens if a satellite has missing coordinates. Adding input validation can make your code more reliable."


6. 🎉 Positive Reinforcement

What to check: If a submission is clean, correct, and well-structured, acknowledge the quality.

Why: Encouragement boosts confidence and helps learners recognize good habits.

Feedback type:

  • Celebratory

Example comment:
"Outstanding job! Your code is clean, efficient, and mathematically accurate. Keep it up!"


📌 Notes

  • All feedback should align with the comment types defined by Exercism: essential, actionable, informative, and celebratory.
  • The analyzer should never discourage experimentation but should gently guide toward best practices.

@kahgoh
Copy link
Member

kahgoh commented Apr 11, 2025

@bishabadkri did you mean to comment in a different place? This issue is for the Elon's toy car exercise (since renamed to Jedik's toy car) on the Java track, not the Satellite exercise

@kahgoh kahgoh changed the title elons-toy-car: describe Analyzer feedback in .meta/design.md jedliks-toy-car: describe Analyzer feedback in .meta/design.md Apr 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept-exercise Work on Concept Exercises x:size/small Small amount of work x:type/content Work on content (e.g. exercises, concepts)
Projects
None yet
Development

No branches or pull requests

3 participants