Module 2 Success

Graduation Requirements

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

Follow the Guidelines and Expectations

Assessments and Final Project

Students are expected to satisfactorily complete all written and timed assessments.

Each student will be required to complete a final solo project which will is a major determining factor for promotion to Module 3.

Class Participation

Students are expected to follow Turing’s Code of Conduct and be respectful in class with regards to timeliness, paying attention to instructors, and contributing well in class for turn-and-talk sessions, journaling and note-taking, and answering prompted questions.

Group Projects

Students are expected to be a contributing team member in all group projects in Module 2. Students are expected to complete the checklists provided for each project and provide feedback for one another.

Blog Post

Write a minimum of 1 technical blog post about a topic of your choice, must include screenshots or visuals, and should be about some aspect of coding or software development. 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

Mastery in the following skills

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

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

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