Module 4 Success

Graduation Requirements

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

Final Assessment

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

Assessment requirements will be provided on the first week of the module.

Independent Work

Expected: Students will contribute to external Open Source in Weeks 2 - 6 as a side project.

Optional: Students are encouraged to include the results of their in-class work and tutorials.

Group Work

Expected: Students, as a pair, document the results of their Quantified Self project.

Expected: Students, as a project team, are responsible for passing rubric scores by the end of their Capstone Project Sprint 2 (Week 5).

Career Development

The Career Development segment is made up of several pieces, all of which are to be submitted by 9AM on Monday of Week 5 unless otherwise noted though it is suggested that you send them earlier if possible. All deliverables except for your Census account check should be submitted in the Career Development deliverables submissions folder.

  • Cold Outreach & Networking: For this deliverable, you have 3 options to choose from - you can find them listed here. To fulfill the deliverable requirement, you only need to submit documentation of 1 option although you’re absolutely encouraged to do more than one.
  • Add two projects to your Turing portfolio and add a link to your Turing portfolio.
  • Document practice interview participation using these guidelines.
  • Complete action plan for the post-grad job search here.

Feedback & Community

As stewards of the larger Turing community, Module 4 students are expected to facilitate a Gear-up session that they’ve designed with other Mod 4 students.

When documenting your community contribution, say a few words about the facilitation experience.


To document all of the work you’ve done this module, follow the guidelines stated in the B4 portfolio template here. A Pull Requested submitting your portfolio is due Wednesday of Week 6.

Turing Story Presentation

On Thursday of Week 6, you’ll present the story of your journey at Turing to your classmates and staff.

Your presentation…

  • should be about 4 minutes
  • should include the time leading up to Turing
  • should include your time at Turing
  • should include the trajectory you’re on as you start your new career
  • should include thoughtful reflection and describe how you’ve grown and changed
  • can include a slide deck, or any other visual aids you’d like

After you present, instructors will ask you a couple questions, mostly to dig into things we found interesting about your story. There’s not specific answers we’ll be looking for.

If you’re unsure how to cover your time at Turing, a common pattern is to simply talk about each module. Talk about your favorite project, or what the biggest takeaway was for you, or just a fun story from that module.

You’re required to present, but there’s no grade. As long as you get up and speak, you’ve met the requirement.

Skill Proficiencies

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

Each of the following skills is covered in the curriculum, and most are covered by an assessment or project rubric.

Professional Skills

Agile Processes

  • Students use an agile process to turn acceptance requirements into deployed software (mastery)
  • Students estimate complexity of user stories (functional)
  • Students translate acceptance requirements into user stories that are ready for work (mastery)
  • Students verify acceptance requirements using automated testing (mastery)

Technical Communication

  • Students formulate questions by synthesizing what was expected vs what was observed (mastery)
  • Students explain intent and execution of their code (mastery)
  • Students document intent and usage of their code for effective collaboration (functional)
  • Students use pull requests to organize discussion about features (functional)
  • Students implement feedback from a code review to improve quality (functional)
  • Students provide feedback in the form of a code review to improve quality and share knowledge (familiarity)

Core Technical Skills

Architecting for Scalability

  • Students divide applications into components and domains of responsibilities to facilitate multi-developer teams (functional)
  • Students abstract external dependencies and services to provide flexibility (familiarity)
  • Students integrate outside data sources (Files, APIs, databases) (functional)
  • Students coordinate data and events across applications (functional)
  • Students build applications that execute in development, test, CI and production environments (functional)
  • Students securely apply authentication and authorization patterns (functional)
  • Students apply cacheing patterns to improve application performance (familiarity)

JavaScript Essentials

  • Students apply knowledge of Ruby collections to JavaScript arrays (mastery)
  • Students create and use functions with parameters (mastery)
  • Students apply good development patterns, like DRY and separation of concerns, to JavaScript functions (mastery)
  • Students organize functions into classes and objects (functional)
  • Students make effective use of this in multiple contexts (functional)
  • Students differentiate between JavaScript written in ES5 and ES6 (mastery)
  • Students translate between JavaScript written in ES5 and ES6 (familiarity)
  • Students unit test JavaScript (functional)

JavaScript in the Browser

  • Students use event listeners to attach code to event-element combinations including document-ready and element-click (functional)
  • Students write precise CSS-style selectors in multiple contexts like DOM manipulation and integration testing (functional)
  • Students read form content and manipulate DOM via JavaScript (functional)
  • Students integrate outside data sources in the browser (AJAX, local storage) (functional)
  • Students use integration testing to verify JavaScript functionality (functional)

JavaScript Tools and Libraries

  • Students implement a stand-alone web service with Node and Express (functional)
  • Students use the Node Package Manager to manage dependencies (functional)
  • Students use WebPack as a build tool for organizing their code into modules (functional)

PostgreSQL & SQL

  • Students write basic SQL statements without the assistance of an ORM (functional)
  • Students use the CLI to understand the structure and data of their database (ex: list databases, tables, table structure) (familiarity)