-
Notifications
You must be signed in to change notification settings - Fork 294
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
Programming exercises
: Add visualization of test case errors
#9213
Programming exercises
: Add visualization of test case errors
#9213
Conversation
Programming Exercises
Template for Visualization of Test Case ErrorsProgramming Exercises
: Template for Visualization of Test Case Errors
Programming Exercises
: Template for Visualization of Test Case ErrorsProgramming Exercises
: Add Visualization of Test Case Errors in a Table
…d-errorfiltering-page
WalkthroughThe updates introduce a "Feedback Analysis" feature within the grading interface, enhancing the retrieval and analysis of detailed feedback on programming exercises. This implementation includes new methods, API endpoints, and data transfer objects to facilitate the management and presentation of feedback data, along with improvements to the user interface for better navigation. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GradingComponent as Grading Component
participant FeedbackAnalysis as Feedback Analysis Component
participant FeedbackAnalysisService
participant ResultService
User->>GradingComponent: Select "Feedback Analysis" tab
GradingComponent->>FeedbackAnalysis: Load feedback details
FeedbackAnalysis->>FeedbackAnalysisService: Fetch feedback details for exercise
FeedbackAnalysisService-->>FeedbackAnalysis: Return feedback details
FeedbackAnalysis->>ResultService: Load additional result details
ResultService-->>FeedbackAnalysis: Return result details
FeedbackAnalysis->>User: Display feedback analysis results
Possibly related issues
Tip We have updated our review workflow to use the Anthropic's Claude family of models. Please share any feedback in the discussion post on our Discord. Recent review detailsConfiguration used: .coderabbit.yaml Files selected for processing (1)
Additional context usedPath-based instructions (1)
Additional comments not posted (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
...app/exercises/programming/manage/grading/programming-exercise-configure-grading.component.ts
Outdated
Show resolved
Hide resolved
...pp/app/exercises/programming/manage/grading/testcase-analysis/testcase-analysis.component.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
...pp/app/exercises/programming/manage/grading/testcase-analysis/testcase-analysis.component.ts
Outdated
Show resolved
Hide resolved
...pp/app/exercises/programming/manage/grading/testcase-analysis/testcase-analysis.component.ts
Outdated
Show resolved
Hide resolved
...pp/app/exercises/programming/manage/grading/testcase-analysis/testcase-analysis.component.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens with test results that are very long? Our tests typically contain a lot of output.
The output in the table will be limited in the follow up PRs and a detail button will be added, allowing one to see the whole Feedback message. |
What happens on different output for the same test? Are the different outputs in different lines? |
Yes, different outputs are seperate table rows with the corresponding testcase listed in that column |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One (optional) translations comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reapprove
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reapprove
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks fine + Tested locally on Aniruddh's machine with 1014 Students with 2 submissions each
...pp/app/exercises/programming/manage/grading/feedback-analysis/feedback-analysis.component.ts
Show resolved
Hide resolved
…d-errorfiltering-page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Checklist
General
Client
authorities
to all new routes and checked the course groups for displaying navigation elements (links, buttons).Motivation and Context
Instructors should have clear insights into why specific tests are failing. Such insights facilitate a
deeper understanding of both internal errors and student mistakes, empowering instructors to rectify errors in exercises.
Having a deeper understanding of such errors leads to high-quality feedback, enabling students to identify faulty portions
of their code and understand why certain parts do not work as expected. As a result, a smoother and more intuitive workflow, enhancing the learning experience for both instructors and students. Creating an easy-to-access visualization of common mistakes made by students, organized by occurrence, helps instructors identify misunderstandings and refine their teaching methods.
Description
Created an easy-to-access visualization of common mistakes made by students, organized by occurrence. This helps instructors identify low quality feedback on testcases. Being able to filter or sort these table entries will be covered in follow up PRs. I introduce a
TestcaseAnalysisComponent
for analyzing test case feedback, providing detailed insights into programming tasks. This provides a structured layout for displaying test case occurrences and feedback with a new section for error analysis and for improving clarity of error feedback. Currently one can see the occurence and the feedback details. The columns have following information right now: Occurence, Error Message, related task, related testcase and a Error Category which will be another feature (will be introduced in follow up PRs)This PR was tested on a Course with 1500 test students and no performance issues were found.
Before:
After:
Steps for Testing
Prerequisites:
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Review Progress
Performance Review
Code Review
Manual Tests
Test Coverage
Summary by CodeRabbit
Summary by CodeRabbit
New Features
User Interface Enhancements
Internationalization
Tests