Learning Goals

Skill Proficiencies

Academic success in B3 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

Project Management

  • Students use pull requests to organize discussion about features.

Interpersonal Skills

  • Students formulate questions by synthesizing what was expected vs what was observed.
  • Students explain intent and execution of their code.

Self-Directed Learning

  • Students find resources online or in print to help them learn new technologies.
  • Students read documentation and implement strategies described.
  • Students ask meaningful questions.
    • Example: Don’t ask “How do I get this to work?” Instead, mention what has been tried, what happened, what was expected with a goal of understanding where you have made a wrong assumption.

Agile Processes

  • Students verify acceptance requirements using automated testing.

Advanced Rails

  • Students are able to develop and test secure internal APIs using Rails.
  • Students are able to consume external APIs and test the consumption.

Functional

Project Management

  • Students communicate with product owners with regard to missing deadlines.
  • Students introduce how acceptance requirements are turned into stories and feature requirements.

Interpersonal Skills

  • Students collaborate with teammates with tools that could be used by remote teams.
  • Students communicate around code, explaining what it does and why.
  • Students document intent and usage of their code for effective collaboration.
  • Students use pull requests to organize discussion about features.

Self-Directed Learning

  • Students utilize mentors and other community members to identify and discuss the merits of various implementations.

Agile Processes

  • Students use an agile process to turn acceptance requirements into deployed software.
  • Students translate acceptance requirements into user stories that are ready for work.

Advanced Rails

  • Students are able to send email from a Rails app.
  • Students compose advanced ActiveRecord queries to analyze information stored in SQL databases.
  • Students utilize and debug the Rails asset pipeline locally and in production.

JavaScript in the Browser

  • Students are able to use jQuery to traverse and manipulate the DOM.

PostgreSQL & SQL

  • Students write basic SQL statements without the assistance of an ORM.

Familiarity

Project Management

  • Students understand the process by which business requirements are turned into acceptance requirements.
  • Students utilize project management tools to communicate across technical teams and stakeholders/clients.

Interpersonal Skills

  • Students implement feedback from a code review to improve quality.
  • Students provide feedback in the form of a code review to improve quality and share knowledge.

Advanced Rails

  • Students are able to contrast the different approaches between working on greenfield and brownfield projects.
  • Students are able to critique previous projects for fundamental security flaws and understand how to prevent them.

App Performance

  • Students are able to explain when to use caching strategies to improve performance in Rails.
  • Students are able to explain the scenarios that would benefit from using background workers in Rails.

JavaScript in the Browser

  • Students are able to make API calls using fetch calls.

PostgreSQL & SQL

  • Students intelligently structure/normalize data so as to maintain reasonable performance as the data size increases.
  • Students use the CLI to understand the structure and data of their database (ex: list databases, tables, table structure).
  • Students implement indexes to address slow queries.