Module 2 Learning Goals

Skills and Topics

Skill Proficiencies

In addition to our guidlines and expectations, 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

Models

Mastery in the following skills
  • Differences and use cases between a model that inherits from ActiveRecord vs a PORO
  • Class methods vs. instance methods

Views

Mastery in the following skills
  • Template a view in Rails using a templating language (eg, erb)
  • How to create a form in a view using Rails, including a form using nested resources.

Controllers

Mastery in the following skills
  • Understand the controller’s role as a dispatcher between client and server
  • Be able to build RESTful CRUD actions: index, show, new, create, edit, update, destroy

Routing

Mastery in the following skills
  • Understand best use of route helpers and path helpers
Functional in the following skills
  • Implement RESTful routes for resources
  • Implement and understand namespace and nested routes

HTTP

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

  • Have deep understanding ActiveRecord query methods, including differences between find find_by and where
  • Understand how to CRUD resources with ActiveRecord
  • Create relationships between resources using ActiveRecord
Mastery in the following skills
  • Model testing with RSpec including validations, and class and instance methods
  • Feature testing with RSpec / Capybara

SQL and Database Planning

Mastery in the following skills
  • Articulately speak to one-to-one, one-to-many, many-to-many relationships

ActiveRecord

Mastery in the following skills
  • Have deep understanding ActiveRecord query methods, including differences between find find_by and where
  • Understand how to CRUD resources with ActiveRecord
  • Create relationships between resources using ActiveRecord

HTML, CSS

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

SQL and Database Planning

Functional in the following skills
  • Be able to design database schemas that represent relationships between resources
Familiarity in the following skills
  • Writing and executing ‘raw’ SQL statements that insert, select, calculate, join, order and group

General Topics

Mastery in the following skills
  • Diagram and explain the MVC model
Functional in the following skills
  • Be able to implement authentication and authorization within a Rails application
  • Make use of flash messages