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 are expected to satisfactorily complete both the written and timed assessments.

Group Projects

Students are expected to be a contributing team member in both of their group projects in Module 2. Students are expected to complete the checklists provided for each 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

MVC / Rails

  • Diagram and explain the MVC model (Mastery)
  • Be able to implement authentication and authorization within a Rails application (Functional)
  • Make use of flash messages (Functional)
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 (eg, erb) (Mastery)
  • How to create a form in a view using Rails, including a form using nested resources. (Mastery)
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)
Routing
  • Implement RESTful routes for resources (Functional)
  • Understand best use of route helpers and path helpers (Mastery)

HTTP, HTML, CSS

HTTP

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

HTML, CSS

  • Understand basic HTML tabs, elements, nodes (Functional)
  • Target specific HTML content with CSS selectors (Functional)
  • Basic use and understanding of modern CSS grid systems (Familiarity)

Testing

  • Model testing with RSpec including validations, and class and instance methods (Mastery)
  • Feature testing with RSpec / Capybara (Mastery)

ActiveRecord, SQL, Database Planning

SQL and Database Planning

  • Writing and executing ‘raw’ SQL statements that insert, select, calculate, join, order and group (Familiarity)
  • Be able to design database schemas that represent relationships between resources (Functional)
  • 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)

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