diff --git a/module3/extensions/index.md b/module3/extensions/index.md index c6498af57..537b68673 100644 --- a/module3/extensions/index.md +++ b/module3/extensions/index.md @@ -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 diff --git a/module3/index.md b/module3/index.md index 84e97e3fc..ccf2402a8 100644 --- a/module3/index.md +++ b/module3/index.md @@ -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 diff --git a/module3/lessons/consuming_an_api.md b/module3/lessons/consuming_an_api.md index 337d4b30b..2bcd8ab30 100644 --- a/module3/lessons/consuming_an_api.md +++ b/module3/lessons/consuming_an_api.md @@ -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: diff --git a/module3/misc/intermission_work.md b/module3/misc/intermission_work.md index 46f924317..7f8fc41fd 100644 --- a/module3/misc/intermission_work.md +++ b/module3/misc/intermission_work.md @@ -6,7 +6,7 @@ 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) @@ -14,7 +14,7 @@ You must use Ruby 3.2.2 and Rails 7.0.x for all of the work in this module. You 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 @@ -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 @@ -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. diff --git a/module3/misc/promotion.md b/module3/misc/promotion.md index ef9078e9c..0c92bc6c7 100644 --- a/module3/misc/promotion.md +++ b/module3/misc/promotion.md @@ -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). diff --git a/module3/projects/index.md b/module3/projects/index.md index fd85eb9ef..8b46c7347 100644 --- a/module3/projects/index.md +++ b/module3/projects/index.md @@ -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 diff --git a/module3/syllabus.md b/module3/syllabus.md new file mode 100644 index 000000000..4ea92032b --- /dev/null +++ b/module3/syllabus.md @@ -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.