From 186adba3c2d6ac2a787c42b2a4d1154eb5caf6d0 Mon Sep 17 00:00:00 2001 From: Chris Simmons Date: Fri, 24 Feb 2023 11:40:43 -0500 Subject: [PATCH 1/3] Changes AR column and scores to Querying, including SQL language --- module2/success/assessments.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module2/success/assessments.md b/module2/success/assessments.md index 053f10c29..e25b94b3f 100644 --- a/module2/success/assessments.md +++ b/module2/success/assessments.md @@ -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 | From 484b8c33584009b5b074c04b5f27c543c439aedd Mon Sep 17 00:00:00 2001 From: Chris Simmons Date: Fri, 24 Feb 2023 11:48:15 -0500 Subject: [PATCH 2/3] Changes AR column and scores to Querying, adjusts language to incldue SQL, changes from 'ActiveRecord helpers' to 'AR methods' --- module2/projects/relational_rails/evaluation.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module2/projects/relational_rails/evaluation.md b/module2/projects/relational_rails/evaluation.md index cc4e00e28..ef47ea6a7 100644 --- a/module2/projects/relational_rails/evaluation.md +++ b/module2/projects/relational_rails/evaluation.md @@ -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. | From 20b0f6b89a01d948c662917ad061c78cd630301e Mon Sep 17 00:00:00 2001 From: Chris Simmons Date: Fri, 24 Feb 2023 11:55:23 -0500 Subject: [PATCH 3/3] Changes AR column and scores to Querying, adjusts language to include SQL, changes from 'helpers' to 'methods'. Realigns Exceptional score to use no ruby. --- module2/projects/bulk_discounts/evaluation.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module2/projects/bulk_discounts/evaluation.md b/module2/projects/bulk_discounts/evaluation.md index 708466260..7bb21b044 100644 --- a/module2/projects/bulk_discounts/evaluation.md +++ b/module2/projects/bulk_discounts/evaluation.md @@ -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.