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 SWAP Sprint 2 (Week 5).

Career Development

The Career Development segment is made up of several pieces, most of which are to be submitted by 9AM on Monday of Week 6 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.

  • Summaries of at least 6 “cold outreach” contacts. You are asked to complete two by the end of week 2, two by the end of week 3, and two by the end of week 4 with a summary of all contacts submitted on Monday of week 5 and following these guidelines
  • Provide a link to your completed Turing portfolio, complete with your name, photo, description, 3 projects, and resume
  • Documentation of practice interview participation using these guidelines.
  • Ensure that your GitHub, LinkedIn, and StackOverflow accounts are properly setup by linking to them in your Census account. We will run an automated check on these and send you a follow up if needed. No submission is necessary beyond putting the info in your Census account

Not required for your portfolio or graduation, but is required for continued job support:

  • Completed action plan for the post-grad job search – template is forthcoming. Check with Allison if you have questions.

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.

Portfolio

To document all of the work you’ve done this module, include each of the items above (except the Career Development portion) in your portfolio, which is due on Thursday 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 communicate across applications (familiarity)
  • 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 SOLID patterns 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)

Node & Express

  • Students implement a stand-alone web service with Node and Express (functional)
  • Students interact with SQL databases by writing raw SQL (functional)
  • Students render views from an Express application (familiarity)

JavaScript Tools and Libraries

  • 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 intelligently structure/normalize data so as to maintain reasonable performance as the data size increases (functional)
  • Students use the CLI to understand the structure and data of their database (ex: list databases, tables, table structure) (familiarity)