Module 2 Success

Graduation Requirements

In order to graduate from Module 2, students must complete each of the following:

Follow the Guidelines and Expectations.

Final Assessment

Students must earn a score of 3 or greater in each category of the final assessment rubric.

Group Projects

Students are expected to be a contributing team member in both of their group projects in Module 2 and receive 3s or upward sloping trend forom a lower score on the first project.

Blog Post

Write a minimum of 1 technical blog post about a topic of your choice and post it to Medium or your personal blog site.

Professional Development

Students are expected to contribute during the Professional Development session and deliver deliverables from that session (see goals below).


Skills and Topics

Skill Proficiencies

In addition to the above, academic success in Module 2 means that students demonstrate proficiency and comfort with the concepts below. The expected mastery level can be understood with the following scale:

  • Mastery: student is able to explain and implement the concept independently or with light reference
  • Functional: student recognizes when to use the concept and can implement it with the support of documentation and/or a collaborator
  • Familiarity: student can recognize and describe the concept when needed/appropriate, but is not able to implement the technology/technique

MVC / Rails

  • Diagram and explain the MVC model (Mastery)
  • Be able to implement authentication and authorization within a Rails application (Mastery)
Models
  • Differences and use cases between a model that inherits from ActiveRecord vs a PORO (Mastery)
  • Class methods vs. instance methods (Mastery)
Views
  • Template a view in Rails using a templating language (either erb or haml) (Mastery)
  • How to create a form in a view using Rails, including a form using nested resources. (Mastery / Functional)
Controllers
  • Understand the controller’s role as a dispatcher between client and server (Mastery)
  • Be able to build RESTful CRUD actions: index, show, new, create, edit, update, destroy (Mastery)
  • Be able to build custom (non-RESTful) actions (Functional)
Routes
  • Implement RESTful routes for resources (Mastery)
  • Be able to modify routes with namespace, module, path, scope (Functional)
  • Make smart use of route helpers (Mastery)

HTTP

  • Diagram and explain the HTTP request/response cycle (Mastery)
  • Understand the different segments of a URL (protocol, host, path, query params) (Functional)
  • Understand what headers, body and status codes are in this context (Familiarity)
  • Understand application state and sessions (Mastery)
  • Make use of cookies and flash messages (Functional)

HTML/CSS

  • Understand basic HTML tags/elements/nodes (Mastery)
  • Target specific HMTL content with CSS selectors (Mastery)
  • Build an application with a user-ready styled experience (Functional)
  • Craft wireframes (Mastery)

Testing

  • Model testing with RSpec (Mastery)
  • Feature testing with RSpec / Capybara (Mastery)

SQL / Database Planning

  • Writing and executing SQL select statements that insert, select, calculate, join, order and group (Mastery)
  • Be able to design database schemas that represent relationships between resources (Mastery)
  • Articulately speak to one-to-one, one-to-many, many-to-many relationships (Mastery)

ActiveRecord

  • Have deep understanding ActiveRecord query methods, including differences between find find_by and where (Mastery)
  • Understand how to CRUD resources with ActiveRecord (Mastery)
  • Create relationships between resources using ActiveRecord (Mastery)
  • Use ActiveRecord for model validations and callbacks (Functional)

Career Development

  • Cultivate empathy when working with others
  • Building teamwork competencies using agile practices
  • Applying personal strengths to a teamwork setting
  • Building professional relationships both with cohortmates and mentors
  • Conduct conversations around feedback
  • Use feedback from teammates to improve own practices