Skip to content

Commit

Permalink
Merge pull request #310 from turingschool/2310_b3
Browse files Browse the repository at this point in the history
B3 2310 inning updates
  • Loading branch information
cjsim89 authored Sep 28, 2023
2 parents ffadc57 + 6e85d93 commit 4ba2f60
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 14 deletions.
4 changes: 2 additions & 2 deletions module3/extensions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ title: Module 3 - Extensions
Students who feel they are grasping the content of the module quickly, and applying it well, are encouraged to dive deeper into the following technical topics or ideas. Talk to an instructor about your interests and be open-minded about the suitability of these tasks:

* Implement [Code Climate](https://codeclimate.com/quality/) in a project (free account for open-source GitHub repos)
* Implement [Rubucop](https://github.com/rubocop-hq/rubocop) for strong Ruby code styling
* Implement [Rubocop](https://github.com/rubocop-hq/rubocop) for strong Ruby code styling
* Learn how to use [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) in JavaScript to call an endpoint of your application to fetch some JSON data, and successfully parse it. Don't forget testing!
* Consider implementing [has_secure_token](https://blog.bigbinary.com/2016/03/23/has-secure-token-to-generate-unique-random-token-in-rails-5.html) in Sweater Weather to generate API keys
* Consider implementing [has_secure_token](https://blog.bigbinary.com/2016/03/23/has-secure-token-to-generate-unique-random-token-in-rails-5.html) to an existing project to generate API keys
* Read about the [OWASP Top Ten](https://owasp.org/www-project-top-ten/) Security Vulnerabilities list and consider how you might protect against these (and examine which of them are already done for you in Rails)
* Use the [Brakeman](https://github.com/presidentbeef/brakeman) gem to see which vulnerabilities exist in your application, and how you can fix/patch them.
* Examine how Caching is built into Rails, and implement Redis instead
4 changes: 2 additions & 2 deletions module3/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ In Module 3, we will look beyond the basics of building Rails web applications w

## Instructors

* Mike Dao (Anchor)
* Chris Simmons
* Tracey Monteiro
* Jamison Ordway
* Chris Simmons (anchor)

## Curriculum

Expand Down
4 changes: 3 additions & 1 deletion module3/lessons/consuming_an_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,9 @@ There's one more improvement we should make to our code. If you look in the cont

What we really want is to put our environment configuration somewhere that is specific to this project. Luckily there is a handy gem called [Figaro](https://github.com/laserlemon/figaro) that allows us to do just that. Read through the docs to figure out how it works.

First we will need to add the Figaro gem to our Gemfile outside of the `:development`/`:test` blocks. Then, run `bundle exec figaro install` from the command line. This will create a file `config/application.yml`. This file will contain our keys. We don't want to push this file to GitHub for the same reason we don't want the keys hard coded in our program, so this file should be added to the `gitignore`. Luckily, Figaro automatically adds this file to the gitignore for us.
First we will need to add the Figaro gem to our Gemfile outside of the `:development`/`:test` blocks. Then, run `bundle exec figaro install` from the command line. This will create a file `config/application.yml`. This file will contain our keys. We don't want to push this file to GitHub for the same reason we don't want the keys hard coded in our program, so this file should be added to the `gitignore`.

🚨 **NOTE:** Figaro is _supposed_ to add this new config file to your .gitignore automatically, but there is a bug that may produce an error and prevent it from adding it for you. **Before proceeding, manually check your `.gitignore` file and add `config/application.yml` if it is not there!**

Inside the `application.yml` file, add your API key:

Expand Down
8 changes: 4 additions & 4 deletions module3/misc/intermission_work.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ subheading: Intermission Work

# Required

You must complete and submit all of these assignments. *It is due the Saturday before the start of the inning at 5pm*
You must complete and submit all of these assignments. *It is due the Saturday before the start of the inning at 5pm.*

Submit your work here: [Survey Link](https://forms.gle/SzrTxMFjYUQLbqbY8)

You must use Ruby 3.2.2 and Rails 7.0.x for all of the work in this module. You can check your version by running `ruby -v` and `rails -v` in your terminal.

Note: If you are installing Ruby 3.2.2 for the first time, you WILL have to reinstall all of your gems. Gems reside on your computer per version of Ruby, and every time you add a new version of Ruby, you will have to reinstall all of your gems for that version of ruby.

If you need a guide on how to upgrade [check this out](https://backend.turing.edu/module3/misc/ruby_and_rails_versions)
If you need a guide on how to upgrade [check this out](https://backend.turing.edu/module3/misc/ruby_and_rails_versions).


## Core Learning Goals of Mod 3
Expand All @@ -28,7 +28,7 @@ If you need a guide on how to upgrade [check this out](https://backend.turing.ed

### Professional Development

[Complete the tasks outlined in this document](https://docs.google.com/document/d/1i6O5-l6RS1I6dlM-uL-xAtYohrOENj1DR0YsqCl2gwE) to have the foundations for a technically rich resume.
To start your Professional Development work in mod 3, plan to spend 60-90 minutes completing [this async lesson on crafting your Resume](https://docs.google.com/presentation/d/13IGrf4TKWQ47tIuP0Ls8YjHjjpXuGJ3S6DEHT26wkgE/edit#slide=id.p1).

### Intro to APIs

Expand All @@ -42,7 +42,7 @@ Here are some helpful videos and tutorials that you can use to familiarize yours

#### Do all of these
* [Build an API in Rails Tutorial](https://github.com/turingschool/backend-curriculum-site/blob/gh-pages/module3/lessons/exercises/building_an_api.md)
* [Play with Postman in order to test the API you built out in the last lesson.](https://learning.postman.com/docs/introduction/overview/)
* [Play with Postman in order to use the API you built out in the previous lesson.](https://learning.postman.com/docs/introduction/overview/)
* [Consuming an API](https://github.com/turingschool/backend-curriculum-site/blob/gh-pages/module3/lessons/consuming_an_api.md)
* Review your reflections on your M2 projects, and revise / add onto them.

Expand Down
4 changes: 2 additions & 2 deletions module3/misc/promotion.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ In Week 3, students will complete a series of challenges. Completion of these ch

### Career Development

The Mod 3 [career development](https://careerdev.turing.edu/module_three) curriculum centers around learning to tell your story and beginning your job hunt.
The Mod 3 [career development](https://backend.turing.edu/professional_development/Mod3/index) curriculum centers around learning to tell your story and beginning your job hunt.

### Portfolio

Each student will prepare a presentation following the requirements outlined in the [Mod 3 Portfolio](./portfolio_requirements).
Each student will prepare a presentation following the requirements outlined in the [Mod 3 Portfolio](./final_project_and_portfolio_guide).
6 changes: 3 additions & 3 deletions module3/projects/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ layout: page
title: Module 3 - Projects
---

* [Viewing Party](./viewing_party_lite), paired project, week 1
* [Market Money](./market_money), week 2
* paired project, week 1
* solo project, week 2
* [Consultancy Project](./consultancy), group project, week 4 and 5
* [Sweater Weather](./sweater_weather), solo project, week 6
* final solo project, week 6


### Resources
Expand Down
70 changes: 70 additions & 0 deletions module3/syllabus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
title: Module 3 Syllabus
layout: page
---

## Projects

Projects require students to apply new concepts from class and build on existing knowledge from prior coursework. All graded projects will be assesed on a scale of Well Below Expectations, Below Expectations, Meets Expectations, and Exceeds Expectations. Meets Expectations is considered a passing score. Students will have a total of 4 projects in Module 1:

* **Paired Project** - Begin Monday week 1, due Friday week 1.
* Students must pass either the **Paired Project** or **Group Project** to be promoted.
* The goal of this project is for students to practice all of the key concepts of module 1 covered in the prework and week 1.
* **Solo Project #1** - Begin Monday week 2, due Friday week 2.
* This project is "safe to fail", meaning it will not count towards the final promotion decision at the end of the module, but students must attempt the project.
* Students will be given feedback on their project, but scores will not count towards promotion.
* **Group Project (Consultancy)** - Begin Monday week 4, due end of week 5.
* Students must pass either the **Paired Project** or **Group Project** to be promoted.
* **Final Solo Project** - Begin end of week 5, due Wednesday week 6.
* Meets Expectations is considered a passing score and this project cannot score "Well Below Expectations" in any category.
* Students must pass the **Final Solo Project** to be promoted.

In summary, students must submit each completed project to be eligible for promotion, and must pass _either_ the Paired or Group projects, in addition to successfully completing the Final Solo project.

## Challenges

In week 3, students will participate in 3 **Independent Challenges** that will build on previous projects. The challenges given will correspond directly with classes on topics explored in the morning, with sufficient work time given that day to complete the challenge. It is for this reason that students are recommended to complete their paired and solo projets _in their entirety_ to be successful during the week 3 challenges. Students can ask for specific instructor feedback on completed challenges if they wish.

## Independent Practice

Students can independently practice any and all topics explored in classes or through projects in their own free work time during the week's scheduled work time, or over a given weekend. They can use [this resource](https://github.com/turingschool-examples/M3_weekend_practice) as a starting point, or reach out to an instructor to get more targeted suggestions.

## MidMod Assessment

In week 3, students will participate in the **MidMod Assessment**. The MidMod is not counted towards promotion and is meant to mimic the same format and similar difficulty to the final assessment in week 6.
Students can work on a practice assessment at [this link](./practice_assessments/practice_assessment).

## Scores

Projects, Assessments, and Independent Assessments will be assessed on the following scale:

* Below Expectations
* Approaching Expectations
* Meets Expectations (Passing)
* Exceeds Expectations (Exceptional)

Projects, Independent Challenges, and Assessments will be broken into 3-4 sections. Direction will be given for each project or assessment as to what is considered "meeting expectations", and beyond which point would be considered "exceptional".

## Support

**Mentors / Rocks**: Students can reach out to their colleagues in mod 4 or alumni mentors to be paired with for a specific amount of time/project or an entire inning, depending on availability.

**One-on-Ones**: Students can request to meet with an instructor to talk about non-technical topics at any time. This can include a student’s progress, stress management, suggestions for improvement, etc. This conversation should not involve coding, whiteboarding, etc. These will be guaranteed if requested, and will often appear on the calendar along with a provided sign-up sheet.

**Instructor Pairing**: Students can request paired work time with an instructor.

**Feedback from Instructors**: Students will receive feedback and/or scores from instructors for each project, challenge and assessment. In addition, students can request additional feedback on a project or independent practice at any point in the inning.

## Portfolios

Students must complete a Portfolio, and participate in a Portfolio Review. Instructions for the Portfolio can be found [here](./misc/final_project_and_portfolio_guide).

## Slack

Instructors will use the cohort Slack channel as the primary means of communication with students.

When sending a direct message (DM), students should DM ALL instructors. Exceptions are when a DM only applies to one instructor, for instance scheduling a one-on-one.

## Attendance

Attendance is required at **80% or above** to pass Module 3. Attendance will be counted at all scheduled activities from 9:00 am to 4:00 pm, and specific methods for counting attend. Per the Student Course Catalog, tardiness will be counted as absence.

0 comments on commit 4ba2f60

Please sign in to comment.