Skip to content
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

B2 sql rubrics #228

Draft
wants to merge 3 commits into
base: gh-pages
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions module2/projects/bulk_discounts/evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Then, we will walk through the same steps in your code and tests. Be ready to an

## Rubric

| | **Feature Completeness** | **Rails** | **ActiveRecord** | **Testing and Debugging** |
| | **Feature Completeness** | **Rails** | **Querying** | **Testing and Debugging** |
| --- | ---------------------------------------------------------------------------------------------------------------------------| --- | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Exceptional** | One or more additional extension features complete. | Students implement strategies not discussed in class and can defend their design decisions (callbacks, scopes, application_helper view methods are created, etc) | ActiveRecord helpers are utilized whenever possible. ActiveRecord is used in a clear and effective way to read/write data including use of grouping, aggregating, and joining. Very little Ruby is used to process data. | Very clear Test Driven Development. Test files are extremely well organized and nested. Students can point to multiple examples of edge case testing that are not included in the user stories. |
| **Meets Expectations** | Bulk discount is 100% complete| Students use the principles of MVC to effectively organize code with only 1 - 2 infractions. Routes and Actions mostly follow RESTful conventions | ActiveRecord helpers are utilized most of the time. ActiveRecord grouping, aggregating, and joining is used to process data at least once. Queries are functional and accurate.| 100% coverage for models. 98% coverage for features. Tests are well written and meaningful. All tests passing. TDD Process is clear throughout commits. Some sad path and edge case testing. Tests utilize within blocks to target specific areas of a page. |
| **Approaching Expectations** | One to two of the completion criteria for Bulk Discount features are not complete | Students utilize MVC to organize code, but cannot defend some of their design decisions. 3 or more infractions are present. RESTful conventions are only sometimes followed. | Ruby is used to process data that could use ActiveRecord instead. Some instances where ActiveRecord helpers are not utilized. Some queries not accurately implemented. | Feature test coverage between 90% and 98%, or model test coverage below 100%, or tests are not meaningfully written or have an unclear objective, or tests do not utilize within blocks. Missing sad path or edge case testing. |
| **Below Expectations** | More than two of the completion criteria for Bulk Discount feature is incomplete| Students do not effectively organize code using MVC. | Ruby is used to process data more often than ActiveRecord. Many cases where ActiveRecord helpers are not utilized.| Below 90% coverage for either features or models. TDD was not used.
| **Exceptional** | One or more additional extension features complete. | Students implement strategies not discussed in class and can defend their design decisions (callbacks, scopes, application_helper view methods are created, etc) | ActiveRecord methods are utilized whenever possible. ActiveRecord is used in a clear and effective way to read/write data including use of grouping, aggregating, and joining. | Very clear Test Driven Development. Test files are extremely well organized and nested. Students can point to multiple examples of edge case testing that are not included in the user stories. |
| **Meets Expectations** | Bulk discount is 100% complete| Students use the principles of MVC to effectively organize code with only 1 - 2 infractions. Routes and Actions mostly follow RESTful conventions | SQL or AR queries are functional and accurate. Grouping, aggregating, and joining is used to process data at least once. No Ruby is used to process data where a query will suffice. | 100% coverage for models. 98% coverage for features. Tests are well written and meaningful. All tests passing. TDD Process is clear throughout commits. Some sad path and edge case testing. Tests utilize within blocks to target specific areas of a page. |
| **Approaching Expectations** | One to two of the completion criteria for Bulk Discount features are not complete | Students utilize MVC to organize code, but cannot defend some of their design decisions. 3 or more infractions are present. RESTful conventions are only sometimes followed. | Ruby is used to process data that could be included in a query instead. Some instances where ActiveRecord methods are not utilized effectively. Some queries not accurately implemented. | Feature test coverage between 90% and 98%, or model test coverage below 100%, or tests are not meaningfully written or have an unclear objective, or tests do not utilize within blocks. Missing sad path or edge case testing. |
| **Below Expectations** | More than two of the completion criteria for Bulk Discount feature is incomplete| Students do not effectively organize code using MVC. | Ruby is used to process data more often than querying. Many cases where ActiveRecord methods are not utilized.| Below 90% coverage for either features or models. TDD was not used.
10 changes: 5 additions & 5 deletions module2/projects/relational_rails/evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ Students will meet 1:1 with an instructor after the project is turned in. Be pre
## Rubric


| | **Feature Completeness** | **Rails** | **Database Design** | **ActiveRecord** | **Testing and Debugging** |
| | **Feature Completeness** | **Rails** | **Database Design** | **Querying** | **Testing and Debugging** |
| --- | --- | --- | --- | --- | --- |
| **Exceptional** | All User Stories 100% complete including edge cases, and at least one extension story completed | Students use the principles of MVC to effectively organize code. | Clear schema design with detailed and accurate diagram. Migration history reflects table alterations not taught in class. All data types in the schema make logical sense. | Inheritance is utilized to DRY up duplicate queries. | 100% coverage for features and models. Either a gem that enhances testing effectiveness is implemented (orderly, factorybot, faker, etc) or within blocks are used throughout tests. |
| **Meets Expectations** | Students complete all User Stories. No more than 2 Stories fail to correctly implement functionality. | Students can defend any of their design decisions. Routing is organized and consistent and demonstrates use of some RESTful principles. Students can describe how data is passed in their application.| Relationships modeled in the database correctly. Appropriate use of foreign keys. Schema design accurately represents actual database schema and design document is linked in the README | ActiveRecord helpers are utilized whenever possible. ActiveRecord is used in a clear and effective way to read/write data. No Ruby is used to process data. All queries functional and accurately implemented.| 100% coverage for models. 98% coverage for features. Tests are well written and meaningful. Students can point to the difference between integration and unit testing. |
| **Approaching Expectations** | Students fail to complete 3-5 User Stories. | Students cannot defend some of their design decisions. Students inaccurately describe how some of their data is passed through their application. Routes don't demonstrate any use of RESTful design. | Some errors in database schema. Schema diagram lacks detail or accurate representation in database. | Ruby is used to process data that could use ActiveRecord instead. Some instances where ActiveRecord helpers are not utilized. Some queries not accurately implemented. | Feature test coverage between 90% and 98%, or model test coverage below 100%, or tests are not meaningfully written or have an unclear objective. |
| **Below Expectations** | Students fail to complete 6 or more User Stories. | Students do not effectively organize code. | Poor diagram design. Relationships do not make sense or not accurately modeled in the database. Many errors in database schema. | Ruby is used to process data more often than ActiveRecord. Many cases where ActiveRecord helpers are not utilized. | Below 90% coverage for either features or models. |
| **Exceptional** | All User Stories 100% complete including edge cases, and at least one extension story completed | Students use the principles of MVC to effectively organize code. | Clear schema design with detailed and accurate diagram. Migration history reflects table alterations not taught in class. All data types in the schema make logical sense. | All queries use ActiveRecord methods wherever posible, or inheritance is utilized to DRY up duplicate queries. | 100% coverage for features and models. Either a gem that enhances testing effectiveness is implemented (orderly, factorybot, faker, etc) or within blocks are used throughout tests. |
| **Meets Expectations** | Students complete all User Stories. No more than 2 Stories fail to correctly implement functionality. | Students can defend any of their design decisions. Routing is organized and consistent and demonstrates use of some RESTful principles. Students can describe how data is passed in their application.| Relationships modeled in the database correctly. Appropriate use of foreign keys. Schema design accurately represents actual database schema and design document is linked in the README | All SQL or AR queries are functional and accurately implemented. Queries are written in a clear and effective way to read/write data. No Ruby is used to process data.| 100% coverage for models. 98% coverage for features. Tests are well written and meaningful. Students can point to the difference between integration and unit testing. |
| **Approaching Expectations** | Students fail to complete 3-5 User Stories. | Students cannot defend some of their design decisions. Students inaccurately describe how some of their data is passed through their application. Routes don't demonstrate any use of RESTful design. | Some errors in database schema. Schema diagram lacks detail or accurate representation in database. | Ruby is used to process data that could be included in a query instead. Some instances where ActiveRecord helpers are not utilized. Some queries not accurately implemented. | Feature test coverage between 90% and 98%, or model test coverage below 100%, or tests are not meaningfully written or have an unclear objective. |
| **Below Expectations** | Students fail to complete 6 or more User Stories. | Students do not effectively organize code. | Poor diagram design. Relationships do not make sense or not accurately modeled in the database. Many errors in database schema. | Ruby is used to process data more often than queries. Many cases where ActiveRecord methods are not utilized. | Below 90% coverage for either features or models. |
10 changes: 5 additions & 5 deletions module2/success/assessments.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Students will complete the Mid Mod, Final, and Final Retake (if necessary) as in

Independent Assessments will be graded using the following rubric. A passing assessment will receive a score of at least *"Meets Expectations"* in all rubric categories.

| | Completion | MVC | ActiveRecord | TDD |
| | Completion | MVC | Querying | TDD |
| -- | -- | -- | -- | -- |
| **Exceptional** | All user stories and at least one extension complete | Student strictly adheres to MVC principles. | Highly effective and efficient use of ActiveRecord beyond what was taught in class | Tests cover all functionality including extensions and at least one edge case |
| **Meets Expectations**| All user stories complete | Student adheres to the principles of MVC. Student may have one MVC infraction. | Students use ActiveRecord Associations and built-in ActiveRecord methods wherever possible. | Tests fully cover the functionality in the user stories |
| **Approaching Expectations** | All but one user story complete | Student does not adhere to the principles of MVC, demonstrated by 2 or 3 infractions | Student uses ActiveRecord to CRUD resources. Student uses ActiveRecord associations, but may have one instance where they fail to do so when appropriate. Student uses built-in ActiveRecord methods to process data, but may have one instance where they use Ruby instead | Tests partially cover the functionality in the user stories |
| **Below Expectations** | More than one user story incomplete | More than 3 infractions of MVC principles | Student is unable to CRUD resources using ActiveRecord, or student may fail to use ActiveRecord over Ruby on several occasions, or student may fail to use ActiveRecord associations on several occasions | Tests do not cover the functionality in the user stories, or one or more stories is untested |
| **Exceptional** | All user stories and at least one extension complete | Student strictly adheres to MVC principles. | Highly effective and efficient use of ActiveRecord beyond what was taught in class. | Tests cover all functionality including extensions and at least one edge case |
| **Meets Expectations**| All user stories complete | Student adheres to the principles of MVC. Student may have one MVC infraction. | Students use SQL and/or ActiveRecord and AR associations wherever possible. | Tests fully cover the functionality in the user stories |
| **Approaching Expectations** | All but one user story complete | Student does not adhere to the principles of MVC, demonstrated by 2 or 3 infractions | Student uses AR to CRUD resources. Student uses ActiveRecord associations, but may have one instance where they fail to do so when appropriate. Student uses either built-in AR methods or SQL to process data, but may have one instance where they use Ruby instead. | Tests partially cover the functionality in the user stories |
| **Below Expectations** | More than one user story incomplete | More than 3 infractions of MVC principles | Student is unable to CRUD resources using ActiveRecord, or student may fail to use ActiveRecord over Ruby on several occasions, or student may fail to use ActiveRecord associations on several occasions, or student does not write effective SQL or AR queries on several occasions. | Tests do not cover the functionality in the user stories, or one or more stories is untested |