From e8c78bcda9a302d9d00b73d063e0d1aa66a58c62 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 5 Dec 2024 19:45:27 +0000 Subject: [PATCH 01/39] stub onboarding copy of ufd --- org-cyf-itp/content/onboarding/_index.md | 8 +++ org-cyf-itp/content/onboarding/prep/index.md | 39 ++++++++++++++ .../content/onboarding/sprints/1/_index.md | 11 ++++ .../onboarding/sprints/1/backlog/index.md | 9 ++++ .../onboarding/sprints/1/day-plan/index.md | 43 ++++++++++++++++ .../onboarding/sprints/1/prep/index.md | 43 ++++++++++++++++ .../onboarding/sprints/1/success/index.md | 9 ++++ .../content/onboarding/sprints/2/_index.md | 11 ++++ .../onboarding/sprints/2/backlog/index.md | 9 ++++ .../onboarding/sprints/2/day-plan/index.md | 42 +++++++++++++++ .../onboarding/sprints/2/prep/index.md | 23 +++++++++ .../onboarding/sprints/2/success/index.md | 9 ++++ .../content/onboarding/sprints/3/_index.md | 11 ++++ .../onboarding/sprints/3/backlog/index.md | 9 ++++ .../onboarding/sprints/3/day-plan/index.md | 51 +++++++++++++++++++ .../onboarding/sprints/3/prep/index.md | 12 +++++ .../onboarding/sprints/3/success/index.md | 9 ++++ .../content/onboarding/success/index.md | 33 ++++++++++++ 18 files changed, 381 insertions(+) create mode 100644 org-cyf-itp/content/onboarding/_index.md create mode 100644 org-cyf-itp/content/onboarding/prep/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/1/_index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/1/backlog/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/1/prep/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/1/success/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/2/_index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/2/backlog/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/2/prep/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/2/success/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/3/_index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/3/backlog/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/3/prep/index.md create mode 100644 org-cyf-itp/content/onboarding/sprints/3/success/index.md create mode 100644 org-cyf-itp/content/onboarding/success/index.md diff --git a/org-cyf-itp/content/onboarding/_index.md b/org-cyf-itp/content/onboarding/_index.md new file mode 100644 index 000000000..0a80a72c2 --- /dev/null +++ b/org-cyf-itp/content/onboarding/_index.md @@ -0,0 +1,8 @@ ++++ +title = 'Onboarding' +description = 'Evaluate and fix code with Lighthouse; use version control with Git and GitHub; Evaluate your learning style and set goals; Enroll as a Trainee' +layout = 'module' +emoji= '๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ' +menu = ['syllabus', 'programming'] +weight='1' ++++ diff --git a/org-cyf-itp/content/onboarding/prep/index.md b/org-cyf-itp/content/onboarding/prep/index.md new file mode 100644 index 000000000..7d79079e4 --- /dev/null +++ b/org-cyf-itp/content/onboarding/prep/index.md @@ -0,0 +1,39 @@ ++++ +title = 'Prep' +description = 'What to do before the module starts' +layout = 'prep' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' +menu_level = ['module'] +weight = 1 +[[blocks]] +name="Check Git" +src="module/induction/check-git-installation" +[[blocks]] +name="Install VS Code" +src="module/induction/install-vscode" +[[blocks]] +name="Create CYF Folder" +src="module/induction/cyf-folder" +[[blocks]] +name="Fork your Planner" +src="https://www.youtube.com/watch?v=cnx0RuAu2tc" +time=5 +[[blocks]] +name="Make your Planning Board" +src="https://www.youtube.com/watch?v=Hbtfil-G0h0" +time=15 +[[blocks]] +name="Set up Planner" +src="https://github.com/CodeYourFuture/Coursework-Planner/tree/main" +time=30 +[[blocks]] +name="Spaced Repetition" +src="blocks/spaced-repetition" +time="30" +[[blocks]] +name="Professional Accounts" +src="module/induction/accounts" +[[blocks]] +name="House Rules" +src="blocks/house-rules" ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/1/_index.md b/org-cyf-itp/content/onboarding/sprints/1/_index.md new file mode 100644 index 000000000..d35040a80 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/1/_index.md @@ -0,0 +1,11 @@ ++++ +title = 'Sprint 1' +description = 'The plan for the week' +layout = 'sprint' +emoji= 'โฑ๏ธ' +menu_level = ['module'] +weight = 2 +theme = 'Version control' ++++ + + diff --git a/org-cyf-itp/content/onboarding/sprints/1/backlog/index.md b/org-cyf-itp/content/onboarding/sprints/1/backlog/index.md new file mode 100644 index 000000000..fa8b4b62a --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/1/backlog/index.md @@ -0,0 +1,9 @@ ++++ +title = 'backlog' +layout = 'backlog' +emoji= '๐Ÿท๏ธ' +menu_level = ['sprint'] +weight = 2 +backlog= 'Module-Onboarding' +backlog_filter='๐Ÿ“… Sprint 1' ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md new file mode 100644 index 000000000..72fc80617 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md @@ -0,0 +1,43 @@ ++++ +title = 'day-plan' +layout = 'day-plan' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ' +menu_level = ['sprint'] +weight = 3 +[[blocks]] +name="Welcome to Code Your Future" +src="https://www.youtube.com/watch?v=QBfhPkBW9Pk" +time=5 +[[blocks]] +name="Energiser" +src="energisers/introduce-yourself" +[[blocks]] +name="Morning orientation" +src="blocks/morning-orientation" +time=15 +[[blocks]] +name="Workshop" +src="module/induction/learning-as-community" +time=120 +[[blocks]] +name="lunch" +src="blocks/lunch" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time=90 +[[blocks]] +name="Code Review" +src="https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls" +time=0 +[[blocks]] +name="Afternoon break" +src="blocks/afternoon-break" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time=60 +[[blocks]] +name="Wrap" +src="blocks/wrap" ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/1/prep/index.md b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md new file mode 100644 index 000000000..d196d40f8 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md @@ -0,0 +1,43 @@ ++++ +title = 'prep' +layout = 'prep' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' +menu_level = ['sprint'] +weight = 1 +[[blocks]] +name="cyf blog" +src="module/induction/cyf-blog" +[[blocks]] +name="development-process" +src="module/induction/development-process" +[[blocks]] +name="version control" +src="module/induction/version-control" +[[blocks]] +name="sharing history" +src="module/induction/sharing-history" +[[blocks]] +name="explore" +src="module/induction/checkout-a-commit" +[[blocks]] +name="previous versions" +src="module/induction/previous-versions" +[[blocks]] +name="forking a repository" +src="module/induction/forking-a-repository" +[[blocks]] +name="working locally" +src="module/induction/working-locally" +[[blocks]] +name="viewing files" +src="module/induction/viewing-files" +[[blocks]] +name="branching" +src="module/induction/branching" +[[blocks]] +name="wrapping up Git" +src="module/induction/wrapping-up" +[[blocks]] +name="backlog" +src="blocks/backlog" ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/1/success/index.md b/org-cyf-itp/content/onboarding/sprints/1/success/index.md new file mode 100644 index 000000000..80de64748 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/1/success/index.md @@ -0,0 +1,9 @@ ++++ +title = 'success' +layout = 'success' +emoji= 'โœ…' +menu_level = ['sprint'] +weight = 4 +backlog= 'Module-HTML-CSS' +backlog_filter='๐Ÿ“… Week 1' ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/2/_index.md b/org-cyf-itp/content/onboarding/sprints/2/_index.md new file mode 100644 index 000000000..c5bdef8c4 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/2/_index.md @@ -0,0 +1,11 @@ ++++ +title = 'Sprint 2' +description = 'The plan for the week' +layout = 'sprint' +emoji= 'โฑ๏ธ' +menu_level = ['module'] +weight = 3 +theme = "Collecting and formatting data" ++++ + + diff --git a/org-cyf-itp/content/onboarding/sprints/2/backlog/index.md b/org-cyf-itp/content/onboarding/sprints/2/backlog/index.md new file mode 100644 index 000000000..cef86232f --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/2/backlog/index.md @@ -0,0 +1,9 @@ ++++ +title = 'backlog' +layout = 'backlog' +emoji= '๐Ÿท๏ธ' +menu_level = ['sprint'] +weight = 2 +backlog= 'Module-Onboarding' +backlog_filter='๐Ÿ“… Sprint 2' ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md new file mode 100644 index 000000000..3e2a0c01c --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md @@ -0,0 +1,42 @@ ++++ +title = 'day-plan' +layout = 'day-plan' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ' +menu_level = ['sprint'] +weight = 3 +[[blocks]] +name="Energiser" +src="energisers/zip-zap-boing" +[[blocks]] +name="Morning orientation" +src="blocks/morning-orientation" +time=15 +[[blocks]] +name="Welcome to Code Your Future" +src="https://www.youtube.com/watch?v=QBfhPkBW9Pk" +[[blocks]] +name="Workshop: Learning As Community" +src="blocks/workshop" +time="120" +[[blocks]] +name="lunch" +src="blocks/lunch" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time="90" +[[blocks]] +name="Code Review" +src="https://github.com/CodeYourFuture/Module-Onboarding/pulls" +time="0" +[[blocks]] +name="Afternoon break" +src="blocks/afternoon-break" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time="75" +[[blocks]] +name="Retro" +src="blocks/retro" ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/2/prep/index.md b/org-cyf-itp/content/onboarding/sprints/2/prep/index.md new file mode 100644 index 000000000..f7034ed19 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/2/prep/index.md @@ -0,0 +1,23 @@ ++++ +title = 'prep' +layout = 'prep' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' +menu_level = ['sprint'] +weight = 1 +[[blocks]] +name="Forms in 25 minutes" +title="Form building" +src="https://www.youtube.com/watch?v=fNcJuPIZ2WE" +[[blocks]] +name="Spaced Repetition" +src="blocks/spaced-repetition" +[[blocks]] +name="What are Forms" +src="module/html-css/what-are-forms" +[[blocks]] +name="Databases with Google Sheets" +src="module/databases/databases-with-sheets" +[[blocks]] +name="backlog" +src="blocks/backlog" ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/2/success/index.md b/org-cyf-itp/content/onboarding/sprints/2/success/index.md new file mode 100644 index 000000000..4d03ccd8f --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/2/success/index.md @@ -0,0 +1,9 @@ ++++ +title = 'success' +layout = 'success' +emoji= 'โœ…' +menu_level = ['sprint'] +weight = 4 +backlog= 'Module-HTML-CSS' +backlog_filter='๐Ÿ“… Week 2' ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/3/_index.md b/org-cyf-itp/content/onboarding/sprints/3/_index.md new file mode 100644 index 000000000..48ba0f430 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/3/_index.md @@ -0,0 +1,11 @@ ++++ +title = 'Sprint 3' +description = 'The plan for the week' +layout = 'sprint' +emoji= 'โฑ๏ธ' +menu_level = ['module'] +weight = 4 +theme = "Querying data, considering presentation" ++++ + + diff --git a/org-cyf-itp/content/onboarding/sprints/3/backlog/index.md b/org-cyf-itp/content/onboarding/sprints/3/backlog/index.md new file mode 100644 index 000000000..59ef304de --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/3/backlog/index.md @@ -0,0 +1,9 @@ ++++ +title = 'backlog' +layout = 'backlog' +emoji= '๐Ÿท๏ธ' +menu_level = ['sprint'] +weight = 2 +backlog= 'Module-Onboarding' +backlog_filter='๐Ÿ“… Sprint 3' ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md new file mode 100644 index 000000000..bf36a9497 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md @@ -0,0 +1,51 @@ ++++ +title = 'day-plan' +layout = 'day-plan' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ' +menu_level = ['sprint'] +weight = 3 +[[blocks]] +name="Energiser" +src="blocks/energiser" +[[blocks]] +name="Morning orientation" +src="blocks/morning-orientation" +time=15 +[[blocks]] +name="Workshop" +src="blocks/workshop" +time="140" + [[blocks.nested.blocks]] + name="Touch Typing [PD] (60 Mins)" + src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/touch-typing" + time=0 + [[blocks.nested.blocks]] + name="Git CLI [Tech] (60 Mins)" + src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-cli" + time=0 + [[blocks.nested.blocks]] + name="SQL Showdown [Tech] (60 Mins)" + src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/sql-quiz" + time=0 +[[blocks]] +name="lunch" +src="blocks/lunch" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time="60" +[[blocks]] +name="Code Review" +src="https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls" +time="0" +[[blocks]] +name="Afternoon break" +src="blocks/afternoon-break" +[[blocks]] +name="Study Group" +src="blocks/study-group" +time="75" +[[blocks]] +name="Retro" +src="blocks/retro" ++++ \ No newline at end of file diff --git a/org-cyf-itp/content/onboarding/sprints/3/prep/index.md b/org-cyf-itp/content/onboarding/sprints/3/prep/index.md new file mode 100644 index 000000000..a3eee494f --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/3/prep/index.md @@ -0,0 +1,12 @@ ++++ +title = 'prep' +layout = 'prep' +emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' +menu_level = ['sprint'] +weight = 1 +[[blocks]] +name="Record a Goose" +title="Accessibility audit" +src="https://github.com/CodeYourFuture/Project-Record-A-Goose/readme" +time=180 ++++ diff --git a/org-cyf-itp/content/onboarding/sprints/3/success/index.md b/org-cyf-itp/content/onboarding/sprints/3/success/index.md new file mode 100644 index 000000000..617668fa0 --- /dev/null +++ b/org-cyf-itp/content/onboarding/sprints/3/success/index.md @@ -0,0 +1,9 @@ ++++ +title = 'success' +layout = 'success' +emoji= 'โœ…' +menu_level = ['sprint'] +weight = 4 +backlog= 'Module-HTML-CSS' +backlog_filter='๐Ÿ“… Week 3' ++++ diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md new file mode 100644 index 000000000..7560ce7f4 --- /dev/null +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -0,0 +1,33 @@ ++++ +title = 'success' +description = 'How do we know we have completed User Focused Data?' +layout = 'success' +emoji= 'โœ…' +menu_level = ['module'] +weight = 11 +[[objectives]] +1="Link to your PR for [Wireframe to Web Code](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/90)" +2="Link to your PR for [Form Controls](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/88)" +3="Link to your Google Sheet for [Query Data in Google Sheets with SQL](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/104)" ++++ + +### ๐ŸŽฏ You've achieved your learning objectives if you can: + +```objectives +- Track changes to data (your code) over time with Git and GitHub. +- Structure data for presentation and user input with HTML and HTML forms. +- Query and analyse structured data with SQL in a spreadsheet. +- Write one line of Python code that can process and transform data programmatically. +``` + +### ๐Ÿ’ฏ To complete _any_ module, you must: + +```objectives +- Do your work: complete all mandatory backlog issues +- Come to class +- **Submit** the Dashboard step for this module +``` + +## โœ… To complete _this_ module, you must: + +Submit the following items to complete this module on the CYF Dashboard: From 0cabb97f5877c3c44806e7b6e6feeb02826b9ecc Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 5 Dec 2024 19:46:23 +0000 Subject: [PATCH 02/39] editing through for library computer adaptation --- common-content/en/blocks/wrap-party/index.md | 18 +++++++++++++ common-content/en/blocks/wrap/index.md | 19 ++++++++++++++ .../induction/check-git-installation/index.md | 2 +- .../en/module/induction/cyf-folder/index.md | 7 ++++- .../en/module/induction/dot-dev/index.md | 26 +++++++++++++++++++ .../en/module/induction/github-poets/index.md | 2 +- .../en/module/induction/github/index.md | 2 +- .../module/induction/install-vscode/index.md | 3 +-- .../induction/learning-as-community/index.md | 9 +++---- .../en/module/js1/check-unix-os/index.md | 2 -- 10 files changed, 76 insertions(+), 14 deletions(-) create mode 100644 common-content/en/blocks/wrap-party/index.md create mode 100644 common-content/en/blocks/wrap/index.md create mode 100644 common-content/en/module/induction/dot-dev/index.md diff --git a/common-content/en/blocks/wrap-party/index.md b/common-content/en/blocks/wrap-party/index.md new file mode 100644 index 000000000..a8b33716c --- /dev/null +++ b/common-content/en/blocks/wrap-party/index.md @@ -0,0 +1,18 @@ ++++ +title="Wrap Party" +time=180 +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You made it! ๐ŸŽ‰ + +Thank you so much for your hard work. You've learned a lot and built some amazing things. + +Whether you're continuing with another course at {{}} or moving on to employment, we're proud of you. ๐ŸŒŸ + +Now, join the wrap party and celebrate your achievements with your community. ๐ŸŽˆ + +Can you bring a snack or drink to share? ๐Ÿช๐Ÿฅค Or a board game? We love Dixit, Codenames, and Rush Hour in particular. diff --git a/common-content/en/blocks/wrap/index.md b/common-content/en/blocks/wrap/index.md new file mode 100644 index 000000000..e47c130e3 --- /dev/null +++ b/common-content/en/blocks/wrap/index.md @@ -0,0 +1,19 @@ ++++ +title="Wrap" +time=20 +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You are done for the day. Take a moment to reflect on what you have learned and achieved. + +Stand in a circle and share: + +- ๐Ÿ“› your name +- ๐Ÿ’ช๐Ÿฝ one thing you built today +- ๐Ÿ‘ท๐Ÿพ the task you are going to work on next +- ๐Ÿ›Ÿ one thing you need help with + +Give yourselves a round of applause. Now you have earned your rest. Usually people go for a cup of tea or a pint after class. You are welcome to join and wind down together. diff --git a/common-content/en/module/induction/check-git-installation/index.md b/common-content/en/module/induction/check-git-installation/index.md index f62dde354..40c1418ff 100644 --- a/common-content/en/module/induction/check-git-installation/index.md +++ b/common-content/en/module/induction/check-git-installation/index.md @@ -4,7 +4,7 @@ time = 15 facilitation = false vocabulary=[] emoji= '๐Ÿ“‹' -[objectives] +[tasks] 1='Double check Git is installed on your local machine' [build] render = 'never' diff --git a/common-content/en/module/induction/cyf-folder/index.md b/common-content/en/module/induction/cyf-folder/index.md index f7ae5f131..1f71b9267 100644 --- a/common-content/en/module/induction/cyf-folder/index.md +++ b/common-content/en/module/induction/cyf-folder/index.md @@ -14,7 +14,12 @@ emoji= '๐Ÿงฐ' +++ -You'll need to create a {{}} folder to store your projects on the course. +> [!TIP] +> Make a folder called `{{}}` in your home directory. Store all your work for the course in this folder. + +You'll need to create a {{}} folder to store your projects on the course. You can do this any way you like, but here we are using the terminal. + +### How to create a folder using the terminal 1. Open a terminal on your computer. diff --git a/common-content/en/module/induction/dot-dev/index.md b/common-content/en/module/induction/dot-dev/index.md new file mode 100644 index 000000000..ea294c6df --- /dev/null +++ b/common-content/en/module/induction/dot-dev/index.md @@ -0,0 +1,26 @@ ++++ +title = 'GitHub.dev' +description = 'Completing coursework on a library computer' +time = 20 +facilitation = false +vocabulary=[] +emoji= '๐Ÿงฐ' +[objectives] +1='Access the dotdev environment on a library computer' +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +If you do not have a computer of your own yet, here's how to complete your work directly on GitHub without a local environment. + +Each repo on GitHub has a `.dev` environment so you can edit the code in your browser using an online VSCode. + +You can go to this enviroment directly by replacing `github.com` with `github.dev` in the URL. For example, to open the `Module-Onboarding` repo, you can go to + +https://github.dev/CodeYourFuture/Module-Onboarding + +> [!TIP] +> If you do have a computer, you should set up VSCode and a local environment. This is a workaround for people who don't yet have the luxury of a personal computer. diff --git a/common-content/en/module/induction/github-poets/index.md b/common-content/en/module/induction/github-poets/index.md index 82ad14291..5cd23b166 100644 --- a/common-content/en/module/induction/github-poets/index.md +++ b/common-content/en/module/induction/github-poets/index.md @@ -5,7 +5,7 @@ time = 15 facilitation = false vocabulary=[] emoji= '๐Ÿ“– ' -[objectives] +[tasks] 1='Double check Github account is setup' 2='Double check Course planner is setup' [build] diff --git a/common-content/en/module/induction/github/index.md b/common-content/en/module/induction/github/index.md index e1c3d0ff9..dac4c7e7e 100644 --- a/common-content/en/module/induction/github/index.md +++ b/common-content/en/module/induction/github/index.md @@ -16,6 +16,6 @@ emoji= '๐Ÿงฉ' ### Planner on GitHub -In Fundamentals, you should have set up your Coursework planner. +You should have set up your Coursework planner. Ensure you've completed the following issue ๐Ÿ‘‰ https://github.com/CodeYourFuture/Coursework-Planner/blob/main/readme.md diff --git a/common-content/en/module/induction/install-vscode/index.md b/common-content/en/module/induction/install-vscode/index.md index 97d9d20c8..8792b868c 100644 --- a/common-content/en/module/induction/install-vscode/index.md +++ b/common-content/en/module/induction/install-vscode/index.md @@ -14,9 +14,8 @@ emoji= '๐Ÿงฐ' +++ -We use VS Code to write all of our code in the course. It is known as an Integrated Development Environment (IDE) and really helps you write great code! +We use VS Code to write all of our code in the course. It is known as an Integrated Development Environment (IDE) and really helps you write great code. [๐Ÿ”— Download and install VSCode now](https://code.visualstudio.com/) -Watch this video if you'd like a quick introduction to VSCode: {{}}https://www.youtube.com/watch?v=B-s71n0dHUk{{}} diff --git a/common-content/en/module/induction/learning-as-community/index.md b/common-content/en/module/induction/learning-as-community/index.md index 3119b7fd6..1550f2cc1 100644 --- a/common-content/en/module/induction/learning-as-community/index.md +++ b/common-content/en/module/induction/learning-as-community/index.md @@ -20,18 +20,15 @@ In this session, we're going to describe how we harness our community to learn t ### Resources -The facilitator will use this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVPy92Cu8=/) +The facilitator will use this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) ### Preparation -- [ ] Facilitator: Review this [presentation](https://miro.com/app/board/uXjVPy92Cu8=/) before class. +- [ ] Facilitator: Review [how this works](how-this-works) and the Miro board [Learning as a community](hhttps://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) before class. - [ ] Facilitator: Ensure everyone can access the Miro board presentation. - [ ] Facilitator: Split the class into groups of no more than 5. -- [ ] Facilitator: Make sure every group has access to a laptop. -- [ ] Facilitator: Make sure every group has access to a piece of paper and pen +- [ ] Facilitator: Make sure every group has access to a piece of paper and pen if you are in person. ### Introduction The facilitator will use the Miro board presentation to guide trainees and volunteers on a discussion about how we learn together as a community. - - diff --git a/common-content/en/module/js1/check-unix-os/index.md b/common-content/en/module/js1/check-unix-os/index.md index 5941856f9..c487568de 100644 --- a/common-content/en/module/js1/check-unix-os/index.md +++ b/common-content/en/module/js1/check-unix-os/index.md @@ -26,8 +26,6 @@ Code Your Future does not support Windows. We have found that we don't reliably have volunteers at class who can debug Windows problems, and they frequently come up, stopping trainees from making progress. We do not support Windows so as to not waste lots of trainee and volunteer time. We have made this decision even though Windows is a popular operating system and has features like WSL which help to get experience with Unix. - -You *must* use a Unix-based operating system at Code Your Future. {{}} If you have a Mac or Linux machine already, you already have a UNIX based operating system. All CYF-supplied laptops run Mac OS or Linux. If you have your own machine and it runs Windows, you should already have set up a Linux partition. From 675bd5371d7fa99f08c939fed98dd01e78cc7aa5 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Sun, 8 Dec 2024 10:16:33 +0000 Subject: [PATCH 03/39] fix how this works backlogs --- .../content/sprints/self-coordinate/backlog/index.md | 2 +- .../content/sprints/self-educate/backlog/index.md | 2 +- .../content/sprints/self-evaluate/backlog/index.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org-cyf-how-this-works/content/sprints/self-coordinate/backlog/index.md b/org-cyf-how-this-works/content/sprints/self-coordinate/backlog/index.md index 0cc2ea12e..f79048783 100644 --- a/org-cyf-how-this-works/content/sprints/self-coordinate/backlog/index.md +++ b/org-cyf-how-this-works/content/sprints/self-coordinate/backlog/index.md @@ -5,5 +5,5 @@ emoji= '๐Ÿฅž' menu_level = ['sprint'] weight = 2 backlog= 'Module-How-our-curriculum-works' -backlog_filter= 'Self coordinate' +backlog_filter= '๐Ÿ• Self coordinate' +++ diff --git a/org-cyf-how-this-works/content/sprints/self-educate/backlog/index.md b/org-cyf-how-this-works/content/sprints/self-educate/backlog/index.md index 88d11cfb4..a6202b654 100644 --- a/org-cyf-how-this-works/content/sprints/self-educate/backlog/index.md +++ b/org-cyf-how-this-works/content/sprints/self-educate/backlog/index.md @@ -5,7 +5,7 @@ emoji= '๐Ÿฅž' menu_level = ['sprint'] weight = 2 backlog= 'Module-How-our-curriculum-works' -backlog_filter= 'Self educate' +backlog_filter= '๐Ÿ’ก Self educate' +++ This view lists the issues for this sprint. You can think of the issues in this view as **actions** to guide you in your first interactions with the community. diff --git a/org-cyf-how-this-works/content/sprints/self-evaluate/backlog/index.md b/org-cyf-how-this-works/content/sprints/self-evaluate/backlog/index.md index a72f6a002..88f327757 100644 --- a/org-cyf-how-this-works/content/sprints/self-evaluate/backlog/index.md +++ b/org-cyf-how-this-works/content/sprints/self-evaluate/backlog/index.md @@ -5,5 +5,5 @@ emoji= '๐Ÿฅž' menu_level = ['sprint'] weight = 2 backlog= 'Module-How-our-curriculum-works' -backlog_filter= 'Self evaluate' +backlog_filter= '๐Ÿ“ Self evaluate' +++ From cfac9535574d0081ddf324fd876cbc9a380db8f1 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Sun, 8 Dec 2024 17:49:49 +0000 Subject: [PATCH 04/39] minor tweaks on htw --- .../active-learning/index.md | 4 +++ .../community-goals/index.md | 27 ++++++++++++------- .../importance-of-prep/index.md | 7 +++-- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/common-content/en/module/how-our-curriculum-works/active-learning/index.md b/common-content/en/module/how-our-curriculum-works/active-learning/index.md index 25819bebf..421fca01d 100644 --- a/common-content/en/module/how-our-curriculum-works/active-learning/index.md +++ b/common-content/en/module/how-our-curriculum-works/active-learning/index.md @@ -15,3 +15,7 @@ time=10 [Active learning](https://www.pnas.org/doi/10.1073/pnas.1319030111) is at the heart of our educational philosophy. It is about encouraging learners to build, explore and discuss new concepts instead of being passive recipients of knowledge. {{}}https://www.youtube.com/watch?v=-GydYPMc74g{{}} + +Each adult learner is unique, with their own background, experiences and existing knowledge. It doesn't make sense to assume what people do and do not know already, or to broadcast the same information to everyone. Instead, we use questions to find out what people already know, and help each individual bridge their gap to meeting the course goals. + +With active learning we ask specific, targeted questions to find out what we _do not yet know_, so we can work on that together. diff --git a/common-content/en/module/how-our-curriculum-works/community-goals/index.md b/common-content/en/module/how-our-curriculum-works/community-goals/index.md index 79b7f1e68..889203290 100644 --- a/common-content/en/module/how-our-curriculum-works/community-goals/index.md +++ b/common-content/en/module/how-our-curriculum-works/community-goals/index.md @@ -1,9 +1,8 @@ +++ title = 'Community goals' - time = 10 facilitation = false -emoji= '๐Ÿงญ' +emoji= '๐ŸŽฏ' [objectives] 1='Define our community goals' [build] @@ -15,20 +14,28 @@ emoji= '๐Ÿงญ' To achieve our mission, we bring people together to build self-empowered communities of learners. To this end, we have 3 community goals for achieving our mission: -### We build communities that can **self-educate** +### We build communities that can **๐Ÿ’ก self-educate** **Self educate** means the ability to draw on surrounding resources to learn new skills and concepts. Tech changes all the time. We must develop independent learners who can teach themselves new skills and technologies. -### We build communities that can self-coordinate +### We build communities that can **๐Ÿ• self-coordinate** + +**Self-coordinate** means the ability to make things happen with the people we have. Code Your Future isn't a large company with lots of staff. (1-2 technical people on staff, worldwide.) We're a community of motivated people who want to help each other. We can't expect someone else will do everything - we need to make sure we get it done ourselves. + +We use the collective intelligence we have built up over the years to coordinate our courses. This means many problems _have_ been solved by others and many logistical "rules of the road" have been discovered collectively. We all use tools like [classplanner](https://classplanner.codeyourfuture.io/), [dashboard](https://dashboard.codeyourfuture.io/), Slack, [GitHub](https://github.com/CodeYourFuture/Table-of-Contents), and most importantly the curriculum plan to coordinate courses and help new people join our community. But on the ground, there are always unique learning journeys that need supporting, arising from the unique mix of people in each class. + +We are always pragmatic and outcomes focused. If a learner thinks we need a extra time learning a topic, they should suggest it! If a volunteer thinks a workshop on a topic would be helpful, they should give one, or find someone else who can. + +### We build communities that can **๐Ÿ“ self-evaluate** -**Self-coordinate** means the ability to make things happen with the people we have. Code Your Future isn't a large company with lots of staff. We're a community of motivated people who want to help each other. We can't expect someone else will do everything - we need to make sure we get it done ourselves. +**Self-evaluating** means _we_ work out what we're doing well at, and what we need to improve. If you don't understand a topic, you must identify this and get help. If you're expecting to get code review and no one has reviewed your code after a week or so, you must raise this problem and get help. -This doesn't mean we can't ask for help - we can - but we need to make sure we make the best use of the knowledge and abilities of everyone around us. +Every piece of prep, every sprint, every module has learning objectives. Check them before and after you do them. If you aren't confident you understand the learning objectives, talk about it. -If a trainee thinks we need a extra time learning a topic, they should suggest it! If a volunteer thinks a workshop on a topic would be helpful, they should give one, or find someone else who can. +### Communities of adults helping each other -### We build communities that can self-evaluate +Don't assume someone else will notice your problems and fix them. Everybody in our community has agreed to help each other; we must also agree to ask for the specific help we need, or we can't win this game! -**Self-evaluating** means _we_ work out what we're doing well at, and what we need to improve. If you don't understand a topic, you should identify this and get help. If you're expecting to get code review and no one has reviewed your code, you should raise this problem and get help. +**Mentors**, it's so important that you ask questions and model asking for help in productive and methodical ways too. It's really hard to ask for help; it's even harder to ask for help in ways that make it easy for others to help us. Everybody in our community is always learning and working on this very difficult skill. -Don't assume someone else will notice you problems and fix them. Every piece of prep, every sprint, every module has learning objectives. Check them before and after you do them. If you aren't confident you understand the learning objectives, talk about it. +Let's work on being curious, humble, brave and kind together. What a team we can be! ๐Ÿš€ diff --git a/common-content/en/module/how-our-curriculum-works/importance-of-prep/index.md b/common-content/en/module/how-our-curriculum-works/importance-of-prep/index.md index 61e5e083b..cd1dc814c 100644 --- a/common-content/en/module/how-our-curriculum-works/importance-of-prep/index.md +++ b/common-content/en/module/how-our-curriculum-works/importance-of-prep/index.md @@ -16,8 +16,7 @@ In a flipped learning model, learners are expected to **prepare** before they me Trainees should show up to class with questions and problems they didn't understand from the prep they already did. This means that we can use our in-person time to work together to fix real problems people have! {{}} +correct="1" >}} From 26ac626ff6f728abcdc76e38b8ac6c135eba60ee Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 18:55:40 +0000 Subject: [PATCH 05/39] library computer tweaks --- .../en/module/html-css/what-are-forms/index.md | 4 ++-- .../en/module/induction/accounts/index.md | 15 +++++++++------ .../induction/check-git-installation/index.md | 3 +++ .../en/module/induction/cyf-folder/index.md | 5 ++++- .../en/module/induction/install-vscode/index.md | 14 +++++++++++++- .../en/module/induction/wrapping-up/index.md | 7 ++++--- 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/common-content/en/module/html-css/what-are-forms/index.md b/common-content/en/module/html-css/what-are-forms/index.md index a963ca839..c81158e39 100644 --- a/common-content/en/module/html-css/what-are-forms/index.md +++ b/common-content/en/module/html-css/what-are-forms/index.md @@ -48,7 +48,7 @@ So that's the point of all this. ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๐Ÿ’ฌ **Mentor:** Right! You put a piece into a form field; you just put _one thing_ in there. A form has many fields, and a field is a single piece of data. It is the smallest piece. -So we [structure data with forms](https://developer.mozilla.org/en-US/docs/Learn/Forms). And we do that by defining form fields. +So we [structure data with forms](https://developer.mozilla.org/en-US/docs/Learn/Forms). And we do that by defining form fields with [semantic HTML](https://web.dev/learn/html/semantic-html). {{}} @@ -127,7 +127,7 @@ What you need to focus on is _what you're actually doing_. We're structuring dat
๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป๐Ÿ’ฌ Trainee: But then aren't all form elements validation? -๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป๐Ÿ’ฌ **Mentor:** You _could_ say that all the rules you make about what the user can put in a field are also validation. Every `type` we just named - input type checkbox, input type email, number, date... are rules about data. +๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป๐Ÿ’ฌ **Mentor:** You _could_ say that all the rules you make about what the user can put in a field are also validation. Every `type` we just named - input type checkbox, input type email, number, [date](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date)... are rules about data. I think the difference is that there's no way to type into a checkbox: there's no error message, you just can't do it. If you type your birthday into an email field, the browser will tell you that's not a valid email address. So one is just impossible to do and the other gives you an error message, and that's normally what we mean by validation. diff --git a/common-content/en/module/induction/accounts/index.md b/common-content/en/module/induction/accounts/index.md index 29dd5d4ed..3257ae7fc 100644 --- a/common-content/en/module/induction/accounts/index.md +++ b/common-content/en/module/induction/accounts/index.md @@ -10,13 +10,15 @@ hide_from_overview=true +++ -Download and install the following software or register for the apps. +Download and install the following software or register for the apps if you have not done so already Click on the links to go to the registration pages. Keep your login details for all sites/apps consistent and always use your real name. -{{}} -We recognise you may need to keep your birth name private. When we say real name, we mean the name you go by. It does not have to match your birth certificate or any other legal document. It has to be consistent and professional. -{{}} +> [!IMPORTANT] +> +> ##### Real name +> +> We recognise you may need to keep your birth name private. When we say real name, we mean the name you go by. It does not have to match your birth certificate or any other legal document. It has to be consistent and professional. Every time you create an account which can have a profile picture, you should set one up. Follow these [professional image guidelines](https://www.linkedin.com/business/talent/blog/product-tips/tips-for-taking-professional-linkedin-profile-pictures) when picking an image. Use the same picture for every account. @@ -52,9 +54,10 @@ Use your professional Chrome profile for all your {{}} work. You will ### GitHub -You will use [GitHub](https://github.com/signup) to store your code and to collaborate with your peers. +You will use [GitHub](https://github.com/signup) to store your code and to collaborate with your peers. You have already made a GitHub account, but you need to check it is professional. You can change your username in your settings. You can add your professional email address in your settings too. (You can have more than one email address on your account.) -- [ ] I have made a GitHub account using my professional email address. +- [ ] My GitHub account shows my professional name +- [ ] I have added my professional email address to my GitHub account. ### LinkedIn diff --git a/common-content/en/module/induction/check-git-installation/index.md b/common-content/en/module/induction/check-git-installation/index.md index 40c1418ff..1e9129760 100644 --- a/common-content/en/module/induction/check-git-installation/index.md +++ b/common-content/en/module/induction/check-git-installation/index.md @@ -25,3 +25,6 @@ git version 2.40.0 ``` Otherwise, you will need to [install](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) it or ask for support on your Slack channel. + +> [!TIP] +> If you are working on a library computer, you do not have a terminal, but your github.dev account already has Git installed. (It's called "Source Control".) So you can skip this step. diff --git a/common-content/en/module/induction/cyf-folder/index.md b/common-content/en/module/induction/cyf-folder/index.md index 1f71b9267..51feff60c 100644 --- a/common-content/en/module/induction/cyf-folder/index.md +++ b/common-content/en/module/induction/cyf-folder/index.md @@ -14,7 +14,7 @@ emoji= '๐Ÿงฐ' +++ -> [!TIP] +> [!IMPORTANT] > Make a folder called `{{}}` in your home directory. Store all your work for the course in this folder. You'll need to create a {{}} folder to store your projects on the course. You can do this any way you like, but here we are using the terminal. @@ -38,3 +38,6 @@ You'll need a place to store your work for the course. 5. **C**hange **d**irectory into the `{{}}` directory. 6. Double check you're in the right place by **p**rinting your current **w**orking **d**irectory. + +> [!TIP] +> If you're working on a library computer, skip this step. You will store your work in your GitHub account. diff --git a/common-content/en/module/induction/install-vscode/index.md b/common-content/en/module/induction/install-vscode/index.md index 8792b868c..4246b9e70 100644 --- a/common-content/en/module/induction/install-vscode/index.md +++ b/common-content/en/module/induction/install-vscode/index.md @@ -16,6 +16,18 @@ emoji= '๐Ÿงฐ' We use VS Code to write all of our code in the course. It is known as an Integrated Development Environment (IDE) and really helps you write great code. -[๐Ÿ”— Download and install VSCode now](https://code.visualstudio.com/) +> [๐Ÿ”— Download and install VSCode now](https://code.visualstudio.com/) + +{{}} + +> [!TIP] +> If you are working on a library computer, use the online version of VSCode called Github.dev. + +The interface is mostly the same, but you cannot install extensions or use the terminal. You can complete all the tasks in the onboarding module without these features. +<---> + +!["Github.dev can be accessed by pressing dot on any GitHub repo"](https://user-images.githubusercontent.com/856858/130119109-4769f2d7-9027-4bc4-a38c-10f297499e8f.gif "Press the dot while on any GitHub repo to open Github.dev.") + +{{}} {{}}https://www.youtube.com/watch?v=B-s71n0dHUk{{}} diff --git a/common-content/en/module/induction/wrapping-up/index.md b/common-content/en/module/induction/wrapping-up/index.md index 505b172b4..7d29c0a84 100644 --- a/common-content/en/module/induction/wrapping-up/index.md +++ b/common-content/en/module/induction/wrapping-up/index.md @@ -25,9 +25,10 @@ You can use the "How to commit changes and push them in Visual Studio Code" vide We'll cover this topic often in workshops. Come to a CYF centre to work on this with a mentor. 1. Try opening your clone of education-blog in VSCode -2. Make sure you're not on the `main` branch -3. Try fixing a typo in the `README.md` file -4. Try using the video to create a commit of your work. +1. Make sure you're on the `main` branch +1. Make a **new** branch for your changes +1. Try fixing a typo in the `README.md` file +1. Try using the video to create a commit of your work. {{}} From 3058bf94dafc6e48c5f5fcc3e72b063c770f374e Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 18:56:49 +0000 Subject: [PATCH 06/39] adapt tracks blocks --- .../en/module/onboarding/application/index.md | 21 ++++++++ .../en/module/onboarding/blockers/index.md | 48 +++++++++++++++++ .../en/module/onboarding/demo/index.md | 47 +++++++++++++++++ .../en/module/onboarding/development/index.md | 21 ++++++++ .../module/onboarding/expectations/index.md | 39 ++++++++++++++ .../en/module/onboarding/goals/index.md | 51 +++++++++++++++++++ .../en/module/onboarding/help/index.md | 51 +++++++++++++++++++ .../onboarding/overcoming-blockers/index.md | 20 ++++++++ .../en/module/onboarding/pairing/index.md | 18 +++++++ .../en/module/onboarding/pomodoro/index.md | 19 +++++++ .../en/module/onboarding/preparation/index.md | 33 ++++++++++++ .../onboarding/read-the-day-plan/index.md | 18 +++++++ .../en/module/onboarding/wrap/index.md | 19 +++++++ 13 files changed, 405 insertions(+) create mode 100644 common-content/en/module/onboarding/application/index.md create mode 100644 common-content/en/module/onboarding/blockers/index.md create mode 100644 common-content/en/module/onboarding/demo/index.md create mode 100644 common-content/en/module/onboarding/development/index.md create mode 100644 common-content/en/module/onboarding/expectations/index.md create mode 100644 common-content/en/module/onboarding/goals/index.md create mode 100644 common-content/en/module/onboarding/help/index.md create mode 100644 common-content/en/module/onboarding/overcoming-blockers/index.md create mode 100644 common-content/en/module/onboarding/pairing/index.md create mode 100644 common-content/en/module/onboarding/pomodoro/index.md create mode 100644 common-content/en/module/onboarding/preparation/index.md create mode 100644 common-content/en/module/onboarding/read-the-day-plan/index.md create mode 100644 common-content/en/module/onboarding/wrap/index.md diff --git a/common-content/en/module/onboarding/application/index.md b/common-content/en/module/onboarding/application/index.md new file mode 100644 index 000000000..05def813d --- /dev/null +++ b/common-content/en/module/onboarding/application/index.md @@ -0,0 +1,21 @@ ++++ +title="Entry Criteria" +time=2 +emoji="๐ŸŽฏ" +hide_from_overview=true +objectives = [ + "List the mandatory requirements for this course.", +] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +### Welcome + +To take this course you must have completed [Intro to Digital](https://itd.codeyourfuture.io) and received a micro-credential badge by email. Check your email. This badge is your ticket to access this course. + +You will receive an email within two weeks of completing ITD, inviting you to begin this course as a Learner. All operational details should be linked in this email. If you have not received an email, please tell us at contact@codeyourfuture.io. + +If you have been invited, please now continue... diff --git a/common-content/en/module/onboarding/blockers/index.md b/common-content/en/module/onboarding/blockers/index.md new file mode 100644 index 000000000..6c95584f6 --- /dev/null +++ b/common-content/en/module/onboarding/blockers/index.md @@ -0,0 +1,48 @@ ++++ +title = 'Sharing Our Blockers' +time = 45 +facilitation = false +vocabulary=["Blockers"] +emoji= '๐Ÿงฉ' +[objectives] +1='Identify blockers' +2='Share blockers on a board or sticky notes' +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +We call problems that stop our progress "blockers". We talk through our blockers regularly and help each other get "unblocked" or "unstuck". + +{{}} +Join the online board or grab some sticky notes. Add your blockers. + +Make sure to add only one blocker per note. + +{{}} + +**Facilitator** Once everyone has added their blockers, group similar blockers together. + +**Facilitator** Next, discuss the blockers and help each other get "unblocked". Start with the most common blocker and work your way down the list. + +
+ + +#### Hints and Tips + + + +{{}} + +- I can't open a PR, because... +- How do I fix extra stray files in my PR? +- I don't have a computer so I can't complete my work! +- How do I run Lighthouse? + +{{}} + +- Everyone should have blockers. If you aren't blocked on anything in the course, do you need to challenge yourself more? +- Ask "stupid" questions. Your question is not stupid! What we are doing is hard, and everyone has questions. If you're stuck, it's likely that someone else is too. Please help others and ask your question! +- If you have other more _advanced_ questions, do write them on the board but **don't** expect to answer them in Blockers. We will work on those in study group. +
diff --git a/common-content/en/module/onboarding/demo/index.md b/common-content/en/module/onboarding/demo/index.md new file mode 100644 index 000000000..def393b63 --- /dev/null +++ b/common-content/en/module/onboarding/demo/index.md @@ -0,0 +1,47 @@ ++++ +title="Demo" +time=45 +objectives = [ + "Explain your work to others at CEFR B2 level or higher.", + "Listen and understand standard speech spoken at a normal rate and follow even complex lines of argument provided the topic is reasonably familiar.", + "Participate in meetings in your area of expertise, if you have help understanding some points.", + "Ask clarifying questions and revise your response based on new information.", +] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +At {{}} we expect you to demo your work to the class. You must have many opportunities to practice how to clearly and simply **explain your work to others**. This is really important for interviews and career success. + +## โฐ Timekeeper + +The timekeeper will keep the groups on track. + +Split randomly into groups of no more than 4 people. Mix up your teams. Each person will have 2 minutes to demo their work to the group. After the demo, the group will ask questions or give feedback for 5 minutes. Then the next person will demo their work. + +## ๐Ÿง‘๐Ÿผโ€๐ŸŽ“ Trainees + +### 1. Demo {{}}2{{}} + +You will demo something about your work to the group. + +You will have 2 minutes to explain what you did and why. It's ok to show broken code or a system that doesn't work yet. Just make sure your demo is interesting. + +### 2. Feedback {{}}5{{}} + +After the demo, the group will give you feedback for up to 5 minutes. It's smart to suggest what kind of feedback you want by asking some "generative" questions. For example: + +- I wasn't sure if it makes sense to try X. What do you think? +- I liked the way I did X, but I know there are other approaches, what did you do? +- I found X really confusing, did anyone else have the same problem? + +## ๐Ÿ’ก Tips: + +- **Practice** the format of demos before class. +- **Keep it simple**. Don't try to show everything you did. Just show _one_ interesting thing. +- **Keep it short**. Two minutes is enough. +- **Explain** what you did and why. +- **Show** your code, system, or other artefacts of work. +- **Ask** for feedback. diff --git a/common-content/en/module/onboarding/development/index.md b/common-content/en/module/onboarding/development/index.md new file mode 100644 index 000000000..e7eb74681 --- /dev/null +++ b/common-content/en/module/onboarding/development/index.md @@ -0,0 +1,21 @@ ++++ +title="Study Group Development" +emoji="๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง" +time=120 +objectives = [ + "Create a strategy for implementing a program based on a set of requirements.", + "Express questions, problems and blockers as formal bug reports", + "Interpret business requirements and express them as test cases.", + "Open a pull request and iterate on it in response to feedback."] +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +This time is set aside for you to work together in small groups to make progress on your coursework and objectives. You should have brought at least one ticket from your backlog to work on and ideally have prepared at least one question to get mentor support on. + +You can also choose to do structured activities to consolidate your objectives for this sprint. Your learning journey belongs to you. Think about what you need to do to achieve the objectives for this sprint and how you can use this time to work towards them. + +If you are working on a Pull Request, this is a great time to get real time code review from your peers and mentors. Remember to use the GitHub interface to comment on the code and ask questions so your work can be tracked. diff --git a/common-content/en/module/onboarding/expectations/index.md b/common-content/en/module/onboarding/expectations/index.md new file mode 100644 index 000000000..ff453c6ad --- /dev/null +++ b/common-content/en/module/onboarding/expectations/index.md @@ -0,0 +1,39 @@ ++++ +title="โš–๏ธ Expectations" +emoji="โš–๏ธ" +time=5 +objectives = [ + "List the expectations of the track." +] +hide_from_overview="true" +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +## Learners, we expect you to: + +- Work in groups and individually, in class and during the week. +- Show up on time and participate in all activities, including helping others. +- Complete the work in the way it is specified. +- Do your best. + +## Learners, you can expect: + +- Fair, achievable requirements, explained as clearly as possible. +- Help from volunteers and other learners with your questions and blockers. +- A safe, inclusive environment where you can learn and grow. +- Many opportunities to succeed. + +## We expect everyone to: + +- Follow the [Code of Conduct](https://codeyourfuture.io/about/code-of-conduct/). +- Help each other. +- Do the prep. + +{{}} diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md new file mode 100644 index 000000000..6b80af693 --- /dev/null +++ b/common-content/en/module/onboarding/goals/index.md @@ -0,0 +1,51 @@ ++++ +title="๐ŸŽฏ Goals" +time=2 +emoji="๐ŸŽฏ" +hide_from_overview=true +objectives = [ + "List the core goals of the module", + "Find the learning objectives for Sprint 1", + "Find the overall success criteria for the module" +] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You have joined us as a Learner. Your overall goal for this module is to enroll as a Trainee within the next three weeks. + +> ๐ŸŽฏ Complete onboarding and enroll as a Trainee + +Find the learning objectives for the text you are reading now. These are the goals for this text. This is what you should be able to do after completing this text. + +Now find the learning objectives for Sprint 1. We call these the "success criteria". These are the goals for the first sprint of the module. This is what you should be able to do after completing Sprint 1. + +This formal structure might be new to you. It is a way to help you evaluate for yourself whether you have achieved the goals of the module. If you have done (and can do) the things listed in the learning objectives, you have gained the skill. If you have not, you have not yet gained the skill. + +As we are just meeting this idea, let's go over them here too. The overall goals of this module are based around these themes: version control, requirements and testing, code review, data, scientific method, and enrollment. Write each of these themes down in your notebook. + +#### Version control + +You will have tracked changes to data (your code) over time with Git and GitHub. Your goal is to build a mental model of Git "trees" and begin learning ways to travel through files using the "time machine" of Git. + +#### Requirements and Testing + +You will have tested your work using acceptance criteria, manual testing, and automated testing. Your goal is to interpret requirements and write code to meet acceptance criteria. + +#### Code review + +You will have revised, refactored, and reviewed code using code review. Your goal is to form the habits of a professional who can think, talk, and write in a technical context. + +#### Data + +You will have manipulated data with HTML, Git, and Google Sheets. Your goal is to begin to understand how data is structured and how to manipulate it. + +#### Scientific method + +You will have written and asked well-structured developer questions. Your goal is to build a strategy to methodically solve problems. + +#### Enrollment + +You will have enrolled as a Trainee. Your goal is to complete the onboarding process and enroll as a Trainee. diff --git a/common-content/en/module/onboarding/help/index.md b/common-content/en/module/onboarding/help/index.md new file mode 100644 index 000000000..999476169 --- /dev/null +++ b/common-content/en/module/onboarding/help/index.md @@ -0,0 +1,51 @@ ++++ +title="๐Ÿงญ Help" +description="Make sure you have everything you need to come to class and do your work" +hide_from_overview="true" +time=30 +objectives = [ + "Find the Signposts website", + "List the financial learner support available to you" +] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +๐Ÿงญ _Everyone_ at {{}} has barriers to education, and we can [help with some things](https://signposts.codeyourfuture.io/). If you cannot come to an in-person class because you can't afford: + +#### ๐Ÿง’ Childcare + +The onboarding module can be completed entirely online if necessary. Once you have completed this module and enrolled as a Trainee, we can help you with childcare costs. + +#### ๐Ÿ’ป A computer or broadband + +The onboarding module can be completed entirely on a library computer. Once you have completed this module and enrolled as a Trainee, we can lend you a laptop and data if you need them. + +#### ๐ŸšŒ Bus or train tickets + +Just like ITD, this onboarding module can be completed entirely online if necessary. Once you have completed this module and enrolled as a Trainee, we can help with travel costs. + +#### ๐Ÿฅช Food + +will always be provided in class. + +We ask that you complete the onboarding module step before we enroll you as a Trainee. We are obliged to only enroll people we have a reasonable expectation of being able to complete the whole course. But predicting the future is a challenge! We have created this module to try to give as many people as possible a fair chance to show they can do this. + +{{}} + +{{}} + +We all help each other at {{}}. We are a community. + +You are not competing against each other for a limited number of places. We will accept everyone who meets the success criteria. + +- You should ask for help +- You should help others + +{{}} diff --git a/common-content/en/module/onboarding/overcoming-blockers/index.md b/common-content/en/module/onboarding/overcoming-blockers/index.md new file mode 100644 index 000000000..3be55f086 --- /dev/null +++ b/common-content/en/module/onboarding/overcoming-blockers/index.md @@ -0,0 +1,20 @@ ++++ +title="Overcoming Blockers" +time=20 +facilitation=false +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +{{}} + +[Overcoming Coding Blockers](https://www.linkedin.com/pulse/how-overcome-coding-blockers-kingsley-ibe/) + +{{}} + +## Why are we doing this? + +In class we will talk about Iteration and Blockers. Read over the day plan. What does iteration mean? What are Blockers? Write down your answers. diff --git a/common-content/en/module/onboarding/pairing/index.md b/common-content/en/module/onboarding/pairing/index.md new file mode 100644 index 000000000..165562099 --- /dev/null +++ b/common-content/en/module/onboarding/pairing/index.md @@ -0,0 +1,18 @@ ++++ +title="Pair programming" +emoji="๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง" +time=25 +objectives = [ + "Drive and navigate in a pair programming session"] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +- Switch between driver and navigator roles after {{}}10{{}} +- The "driver" is the person typing on the keyboard, just thinking about what needs to be written +- The "navigator" reviews what the driver is doing and is thinking about to write next +- Don't dominate - this is teamwork + +โŒ› Time's up! Take a {{}}5{{}} break! Make a cup of tea. Good job, partners! diff --git a/common-content/en/module/onboarding/pomodoro/index.md b/common-content/en/module/onboarding/pomodoro/index.md new file mode 100644 index 000000000..fad119713 --- /dev/null +++ b/common-content/en/module/onboarding/pomodoro/index.md @@ -0,0 +1,19 @@ ++++ +title="Pomodoro" +emoji="๐Ÿ…" +time=60 +objectives = [ + "Complete a small-scoped ticket in 25 minutes"] +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +Each group member, take a small-scoped piece of work from your backlog. Set a timer for {{}}25{{}}. Use this focused time to complete your ticket and open a PR. + +โŒ› Time's up! Take a {{}}5{{}} break! Make a cup of tea. Walk around a bit. + +Now set a new {{}}25{{}} and review each PR as a group. + +โŒ› Time's up! Take a {{}}5{{}} break! Make a cup of tea. Stretch! Look at how much progress you made in one hour. โœจ diff --git a/common-content/en/module/onboarding/preparation/index.md b/common-content/en/module/onboarding/preparation/index.md new file mode 100644 index 000000000..cbd964e6f --- /dev/null +++ b/common-content/en/module/onboarding/preparation/index.md @@ -0,0 +1,33 @@ ++++ +title="Prep" +time=10 +hide_from_overview="true" +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +Double-check you have everything you need to start this course. + +- [ ] You have applied to _this course_ and received an invitation to join +- [ ] You have signed the [Code of Conduct](https://codeyourfuture.io/about/code-of-conduct/) +- [ ] You have signed the Learner agreement sent to you by email +- [ ] You know how to get to class in person or online +- [ ] You have read and understood the success criteria + +If you need help with any of these, ask in Slack or go to the [Signposts website](https://signposts.codeyourfuture.io/). + +Now go read over the day plans, backlogs, success criteria and complete the quiz. You can do it! ๐Ÿš€ + +{{}} + +{{}} diff --git a/common-content/en/module/onboarding/read-the-day-plan/index.md b/common-content/en/module/onboarding/read-the-day-plan/index.md new file mode 100644 index 000000000..5371a9fa4 --- /dev/null +++ b/common-content/en/module/onboarding/read-the-day-plan/index.md @@ -0,0 +1,18 @@ ++++ +title="Prepare for the day" +time=10 +hide_from_overview="true" +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +Read the day plan and make sure you are ready to start the day. What will you be working on? What does the workshop cover and expect you to know already? Professionals **prepare** for their work, so take a moment to get ready. + +- [ ] You have read the day plan for this sprint +- [ ] You have covered the prerequisites for any workshop that has been planned +- [ ] You have started your backlog tasks and written down your questions for study group +- [ ] You have organised childcare if you need it +- [ ] You know how to get to class +- [ ] You have read and understood the success criteria diff --git a/common-content/en/module/onboarding/wrap/index.md b/common-content/en/module/onboarding/wrap/index.md new file mode 100644 index 000000000..e47c130e3 --- /dev/null +++ b/common-content/en/module/onboarding/wrap/index.md @@ -0,0 +1,19 @@ ++++ +title="Wrap" +time=20 +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You are done for the day. Take a moment to reflect on what you have learned and achieved. + +Stand in a circle and share: + +- ๐Ÿ“› your name +- ๐Ÿ’ช๐Ÿฝ one thing you built today +- ๐Ÿ‘ท๐Ÿพ the task you are going to work on next +- ๐Ÿ›Ÿ one thing you need help with + +Give yourselves a round of applause. Now you have earned your rest. Usually people go for a cup of tea or a pint after class. You are welcome to join and wind down together. From d09c3dea120edb47735c7cafacc96b3e02912a10 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 18:57:28 +0000 Subject: [PATCH 07/39] start going through composing blocks --- org-cyf-itp/content/onboarding/prep/index.md | 30 ++++-------- .../onboarding/sprints/1/day-plan/index.md | 47 +++++++++++++------ .../onboarding/sprints/1/prep/index.md | 24 ++++++++++ .../onboarding/sprints/2/day-plan/index.md | 41 +++++++++------- .../onboarding/sprints/2/prep/index.md | 9 ++++ .../onboarding/sprints/3/prep/index.md | 9 +++- .../content/onboarding/success/index.md | 1 - 7 files changed, 108 insertions(+), 53 deletions(-) diff --git a/org-cyf-itp/content/onboarding/prep/index.md b/org-cyf-itp/content/onboarding/prep/index.md index 7d79079e4..15972a995 100644 --- a/org-cyf-itp/content/onboarding/prep/index.md +++ b/org-cyf-itp/content/onboarding/prep/index.md @@ -6,30 +6,20 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' menu_level = ['module'] weight = 1 [[blocks]] -name="Check Git" -src="module/induction/check-git-installation" +name="Application" +src="module/onboarding/application" [[blocks]] -name="Install VS Code" -src="module/induction/install-vscode" +name="Goals" +src="module/onboarding/goals" [[blocks]] -name="Create CYF Folder" -src="module/induction/cyf-folder" +name="Expectations" +src="module/onboarding/expectations" [[blocks]] -name="Fork your Planner" -src="https://www.youtube.com/watch?v=cnx0RuAu2tc" -time=5 +name="Help" +src="module/onboarding/help" [[blocks]] -name="Make your Planning Board" -src="https://www.youtube.com/watch?v=Hbtfil-G0h0" -time=15 -[[blocks]] -name="Set up Planner" -src="https://github.com/CodeYourFuture/Coursework-Planner/tree/main" -time=30 -[[blocks]] -name="Spaced Repetition" -src="blocks/spaced-repetition" -time="30" +name="Preparation" +src="module/onboarding/preparation" [[blocks]] name="Professional Accounts" src="module/induction/accounts" diff --git a/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md index 72fc80617..304500ac8 100644 --- a/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/1/day-plan/index.md @@ -5,17 +5,25 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ' menu_level = ['sprint'] weight = 3 [[blocks]] -name="Welcome to Code Your Future" -src="https://www.youtube.com/watch?v=QBfhPkBW9Pk" -time=5 -[[blocks]] name="Energiser" -src="energisers/introduce-yourself" +src="energisers/in-person-and-online" +[[blocks.nested.blocks]] +name="Zip Zap Boing" +src="energisers/zip-zap-boing" +time=0 +[[blocks.nested.blocks]] +name="Popcorn Show and Tell" +src="energisers/popcorn" +time=0 [[blocks]] name="Morning orientation" src="blocks/morning-orientation" time=15 [[blocks]] +name="Welcome to Code Your Future" +src="https://www.youtube.com/watch?v=QBfhPkBW9Pk" +time=5 +[[blocks]] name="Workshop" src="module/induction/learning-as-community" time=120 @@ -23,20 +31,29 @@ time=120 name="lunch" src="blocks/lunch" [[blocks]] -name="Study Group" -src="blocks/study-group" -time=90 -[[blocks]] -name="Code Review" -src="https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls" -time=0 +name="Blockers! Getting Unstuck" +src="module/onboarding/blockers" +time=75 [[blocks]] name="Afternoon break" src="blocks/afternoon-break" [[blocks]] -name="Study Group" -src="blocks/study-group" -time=60 +name="Study Group Development" +src="module/onboarding/development" +time=75 +[[blocks.nested.blocks]] +name="Pomodoro" +src="module/onboarding/pomodoro" +[[blocks.nested.blocks]] +name="Pair Programming" +src="module/onboarding/pairing" +[[blocks.nested.blocks]] +name="Bikes for Refugees Project" +src="https://github.com/CodeYourFuture/Module-Onboarding/issues/22" +[[blocks]] +name="Code Review" +src="https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls" +time=0 [[blocks]] name="Wrap" src="blocks/wrap" diff --git a/org-cyf-itp/content/onboarding/sprints/1/prep/index.md b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md index d196d40f8..f537272f0 100644 --- a/org-cyf-itp/content/onboarding/sprints/1/prep/index.md +++ b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md @@ -5,6 +5,30 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' menu_level = ['sprint'] weight = 1 [[blocks]] +name="Install VS Code" +src="module/induction/install-vscode" +time=10 +[[blocks]] +name="Check Git" +src="module/induction/check-git-installation" +time=5 +[[blocks]] +name="Create CYF Folder" +src="module/induction/cyf-folder" +time=5 +[[blocks]] +name="Fork your Planner" +src="https://www.youtube.com/watch?v=cnx0RuAu2tc" +time=5 +[[blocks]] +name="Make your Planning Board" +src="https://www.youtube.com/watch?v=Hbtfil-G0h0" +time=15 +[[blocks]] +name="Set up Planner" +src="https://github.com/CodeYourFuture/Coursework-Planner/tree/main" +time=30 +[[blocks]] name="cyf blog" src="module/induction/cyf-blog" [[blocks]] diff --git a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md index 3e2a0c01c..598df9fdc 100644 --- a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md @@ -6,37 +6,46 @@ menu_level = ['sprint'] weight = 3 [[blocks]] name="Energiser" -src="energisers/zip-zap-boing" +src="energisers/wemoji" [[blocks]] name="Morning orientation" src="blocks/morning-orientation" time=15 [[blocks]] -name="Welcome to Code Your Future" -src="https://www.youtube.com/watch?v=QBfhPkBW9Pk" -[[blocks]] -name="Workshop: Learning As Community" -src="blocks/workshop" +name="Workshop: Asking Questions" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/asking-questions/" time="120" [[blocks]] name="lunch" src="blocks/lunch" [[blocks]] -name="Study Group" -src="blocks/study-group" -time="90" +name="Blockers! Getting Unstuck" +src="module/onboarding/blockers" +time=45 [[blocks]] -name="Code Review" -src="https://github.com/CodeYourFuture/Module-Onboarding/pulls" -time="0" +name="Study Group" +src="module/onboarding/development" +time=45 [[blocks]] name="Afternoon break" src="blocks/afternoon-break" [[blocks]] name="Study Group" -src="blocks/study-group" -time="75" +src="module/onboarding/development" +time=75 +[[blocks.nested.blocks]] +name="Optional structured activity for consolidating Git" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-day-1" +time=0 +[[blocks.nested.blocks]] +name="Optional structured activity for consolidating HTML forms" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/get-forms" +time=0 +[[blocks]] +name="Code Review" +src="https://github.com/CodeYourFuture/Module-Onboarding/pulls" +time="0" [[blocks]] -name="Retro" -src="blocks/retro" +name="Wrap" +src="module/onboarding/wrap" +++ diff --git a/org-cyf-itp/content/onboarding/sprints/2/prep/index.md b/org-cyf-itp/content/onboarding/sprints/2/prep/index.md index f7034ed19..f470b6a79 100644 --- a/org-cyf-itp/content/onboarding/sprints/2/prep/index.md +++ b/org-cyf-itp/content/onboarding/sprints/2/prep/index.md @@ -8,6 +8,11 @@ weight = 1 name="Forms in 25 minutes" title="Form building" src="https://www.youtube.com/watch?v=fNcJuPIZ2WE" +time=25 +[[blocks]] +name="How to structure a web form" +src="https://github.com/CodeYourFuture/Module-Onboarding/issues/71" +time=60 [[blocks]] name="Spaced Repetition" src="blocks/spaced-repetition" @@ -15,6 +20,10 @@ src="blocks/spaced-repetition" name="What are Forms" src="module/html-css/what-are-forms" [[blocks]] +name="Google Sheets Query Function Explained" +src="https://www.youtube.com/watch?v=oCKvAcXTLZo" +time=20 +[[blocks]] name="Databases with Google Sheets" src="module/databases/databases-with-sheets" [[blocks]] diff --git a/org-cyf-itp/content/onboarding/sprints/3/prep/index.md b/org-cyf-itp/content/onboarding/sprints/3/prep/index.md index a3eee494f..0170b468c 100644 --- a/org-cyf-itp/content/onboarding/sprints/3/prep/index.md +++ b/org-cyf-itp/content/onboarding/sprints/3/prep/index.md @@ -5,8 +5,15 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' menu_level = ['sprint'] weight = 1 [[blocks]] +name="Enroll as a Trainee" +src="https://github.com/CodeYourFuture/Module-Onboarding/issues/72" +time=30 +[[blocks]] name="Record a Goose" title="Accessibility audit" -src="https://github.com/CodeYourFuture/Project-Record-A-Goose/readme" +src="https://github.com/CodeYourFuture/Project-Record-A-Goose/" time=180 +[[blocks]] +name="backlog" +src="blocks/backlog" +++ diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md index 7560ce7f4..52d531b86 100644 --- a/org-cyf-itp/content/onboarding/success/index.md +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -17,7 +17,6 @@ weight = 11 - Track changes to data (your code) over time with Git and GitHub. - Structure data for presentation and user input with HTML and HTML forms. - Query and analyse structured data with SQL in a spreadsheet. -- Write one line of Python code that can process and transform data programmatically. ``` ### ๐Ÿ’ฏ To complete _any_ module, you must: From 595816af6410f97e28548a2b5c5aaa8bc3036882 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 18:57:42 +0000 Subject: [PATCH 08/39] rm ufd from menus --- org-cyf-itp/content/user-data/_index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/org-cyf-itp/content/user-data/_index.md b/org-cyf-itp/content/user-data/_index.md index b58ca78ea..fc73727e1 100644 --- a/org-cyf-itp/content/user-data/_index.md +++ b/org-cyf-itp/content/user-data/_index.md @@ -3,6 +3,5 @@ title = 'User focused data' description = 'User focused data: Build up robust interfaces by structuring data and interactions; analyse and interrogate code with tools; decompose interfaces into components; recognise patterns' layout = 'module' emoji= '๐Ÿ“‡' -menu = ['syllabus', 'core', 'programming'] weight='2' +++ From 80e16c9981625e0aa4eb0eb4c4ca5fe6812b1d1c Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 18:58:21 +0000 Subject: [PATCH 09/39] blocks tweaks --- .../en/energisers/in-person-and-online/index.md | 16 ++++++++++++++++ .../en/module/onboarding/wrap-party/index.md | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 common-content/en/energisers/in-person-and-online/index.md create mode 100644 common-content/en/module/onboarding/wrap-party/index.md diff --git a/common-content/en/energisers/in-person-and-online/index.md b/common-content/en/energisers/in-person-and-online/index.md new file mode 100644 index 000000000..7a4111d39 --- /dev/null +++ b/common-content/en/energisers/in-person-and-online/index.md @@ -0,0 +1,16 @@ ++++ +title="Energiser!" +emoji="๐Ÿ”‹" +time=25 +[tasks] + 1="Energise the group with a fun game" + 2="Get everyone to participate" +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +Energisers are a big part of {{}}'s culture! Even as adults, we all feel a bit shy and uncertain when we join a new group. But when we let ourselves be silly together, we start to feel more at home. + +Here follows one energiser for in-person and one for online. diff --git a/common-content/en/module/onboarding/wrap-party/index.md b/common-content/en/module/onboarding/wrap-party/index.md new file mode 100644 index 000000000..468d195bf --- /dev/null +++ b/common-content/en/module/onboarding/wrap-party/index.md @@ -0,0 +1,16 @@ ++++ +title="Wrap Party" +time=180 +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You made it! ๐ŸŽ‰ + +Thank you so much for your hard work. We will send you the results of your interview by email by the end of the week. + +Now, join the wrap party and celebrate your achievements with your community. ๐ŸŽˆ + +Can you bring a snack or drink to share? ๐Ÿช๐Ÿฅค Or a board game? We love Dixit, Codenames, and Rush Hour in particular. From 493760d8e591171d38ca7a0690e7a43fb5f1e8e9 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 23:10:23 +0000 Subject: [PATCH 10/39] day plan 3 --- .../en/module/onboarding/steps/index.md | 13 ++++ .../onboarding/sprints/3/day-plan/index.md | 60 ++++++++++--------- 2 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 common-content/en/module/onboarding/steps/index.md diff --git a/common-content/en/module/onboarding/steps/index.md b/common-content/en/module/onboarding/steps/index.md new file mode 100644 index 000000000..63f21b891 --- /dev/null +++ b/common-content/en/module/onboarding/steps/index.md @@ -0,0 +1,13 @@ ++++ +title="Submitting your steps" +emoji="๐Ÿ‘ฃ" +time=15 +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +Your goal for this sprint is to submit your first step and enroll as a Trainee. This is a big milestone, and we want to make sure you have all the support you need to get there. + +All the information you need to complete this step is in the prep. Make sure to read it carefully. If you have something blocking you from submitting, use this time to resolve your blocker and submit your step. diff --git a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md index bf36a9497..18b70c365 100644 --- a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md @@ -6,46 +6,52 @@ menu_level = ['sprint'] weight = 3 [[blocks]] name="Energiser" -src="blocks/energiser" +src="energisers/slack-libs" [[blocks]] name="Morning orientation" src="blocks/morning-orientation" time=15 [[blocks]] -name="Workshop" -src="blocks/workshop" -time="140" - [[blocks.nested.blocks]] - name="Touch Typing [PD] (60 Mins)" - src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/touch-typing" - time=0 - [[blocks.nested.blocks]] - name="Git CLI [Tech] (60 Mins)" - src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-cli" - time=0 - [[blocks.nested.blocks]] - name="SQL Showdown [Tech] (60 Mins)" - src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/sql-quiz" - time=0 +name="Workshop: Developer Tools" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/devtools/" +time="120" [[blocks]] name="lunch" src="blocks/lunch" [[blocks]] -name="Study Group" -src="blocks/study-group" -time="60" +name="Blockers! Getting Unstuck" +src="module/onboarding/blockers" +time=45 [[blocks]] -name="Code Review" -src="https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls" -time="0" +name="Study Group" +src="module/onboarding/development" +time=45 +[[blocks.nested.blocks]] +name="Pair Programming" +src="module/onboarding/pairing" +[[blocks.nested.blocks]] +name="Submit your Step" +src="module/onboarding/steps" [[blocks]] name="Afternoon break" src="blocks/afternoon-break" [[blocks]] name="Study Group" -src="blocks/study-group" -time="75" +src="module/onboarding/development" +time=75 +[[blocks.nested.blocks]] +name="Optional structured activity: consolidating SQL" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/google-sheets-sql-quiz" +time=0 +[[blocks.nested.blocks]] +name="Optional structured activity: know your computer" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/know-your-computer" +time=0 [[blocks]] -name="Retro" -src="blocks/retro" -+++ \ No newline at end of file +name="Code Review" +src="https://github.com/CodeYourFuture/Module-Onboarding/pulls" +time="0" +[[blocks]] +name="Wrap" +src="module/onboarding/wrap" ++++ From bf8624f343edac6890c0f16726709f707c980a50 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 9 Dec 2024 23:11:05 +0000 Subject: [PATCH 11/39] UI issue block tweak learning objectives look screwed up now I'm pulling some in --- common-theme/assets/styles/04-components/block.scss | 6 +++++- common-theme/layouts/partials/block/issue.html | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common-theme/assets/styles/04-components/block.scss b/common-theme/assets/styles/04-components/block.scss index ab3301868..3d2391a62 100644 --- a/common-theme/assets/styles/04-components/block.scss +++ b/common-theme/assets/styles/04-components/block.scss @@ -16,6 +16,10 @@ gap: var(--theme-spacing--gutter); } + &__objectives { + width: 100%; + } + &__series { display: grid; gap: var(--theme-spacing--gutter); @@ -61,7 +65,7 @@ font-size: var(--theme-type-size--6); } } - + // TODO track down and rm this &--pd.c-block { box-shadow: none; border: none; diff --git a/common-theme/layouts/partials/block/issue.html b/common-theme/layouts/partials/block/issue.html index dab0c23f2..52b51b2b6 100644 --- a/common-theme/layouts/partials/block/issue.html +++ b/common-theme/layouts/partials/block/issue.html @@ -26,7 +26,7 @@ {{ $extractedObjectives := partial "strings/extract-github-objectives.html" $response.body }} {{ if gt (len $extractedObjectives) 0 }} -
+

Learning Objectives

From c22ea6cfdd3a6758036234e3227e102ece9c0668 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 10 Dec 2024 10:57:23 +0000 Subject: [PATCH 12/39] missed off the dot dev stuff --- .../en/module/induction/accounts/index.md | 24 ++++++++++--------- .../en/module/induction/dot-dev/index.md | 3 +-- .../en/module/onboarding/preparation/index.md | 2 +- .../onboarding/sprints/1/prep/index.md | 7 ++++++ 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/common-content/en/module/induction/accounts/index.md b/common-content/en/module/induction/accounts/index.md index 3257ae7fc..29698028a 100644 --- a/common-content/en/module/induction/accounts/index.md +++ b/common-content/en/module/induction/accounts/index.md @@ -10,7 +10,7 @@ hide_from_overview=true +++ -Download and install the following software or register for the apps if you have not done so already +Download and install the following software or register for the apps if you have not done so already. Click on the links to go to the registration pages. Keep your login details for all sites/apps consistent and always use your real name. @@ -43,15 +43,6 @@ This is your public professional email address. Use it to sign up for all your p - [ ] I have made a professional Google account and Gmail address. - [ ] I have explored the [Google Suite](https://applieddigitalskills.withgoogle.com/c/en/workspace), such as calendar, docs and spreadsheets. -### Google Chrome - -Google Chrome is the first browser we will all use together. - -- [ ] I have downloaded and installed Google Chrome. -- [ ] I have logged into my professional profile on Chrome. - -Use your professional Chrome profile for all your {{}} work. You will often have to share your screen during sessions, so keep your personal internet use private and away from your professional profile. - ### GitHub You will use [GitHub](https://github.com/signup) to store your code and to collaborate with your peers. You have already made a GitHub account, but you need to check it is professional. You can change your username in your settings. You can add your professional email address in your settings too. (You can have more than one email address on your account.) @@ -74,7 +65,7 @@ Your cohort is your first network, and this is one of the most valuable things y ### Slack -[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now. +[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now. If you are working on a library computer, log in to the web version instead. - [ ] I have downloaded the [Slack](https://slack.com/intl/en-gb) app on my computer and phone. - [ ] I have logged in to the {{}} workspace. @@ -82,6 +73,17 @@ Your cohort is your first network, and this is one of the most valuable things y - [ ] I have updated my profile with my picture, my professional email address, my GitHub username, my Linkedin profile and my class. - [ ] I have introduced myself on Slack. +## Applications + +If you're working on a library computer, you can't download these applications. You will use [GitHub Dev](https://github.dev/) to complete coursework instead. + +### Google Chrome + +- [ ] I have downloaded and installed Google Chrome. +- [ ] I have logged into my professional profile on Chrome. + +Use your professional Chrome profile for all your {{}} work. You will often have to share your screen during sessions, so keep your personal internet use private and away from your professional profile. + ### VSCode We will use [Visual Studio Code](https://code.visualstudio.com/) (VSCode), a professional IDE you will use on this course and at work. diff --git a/common-content/en/module/induction/dot-dev/index.md b/common-content/en/module/induction/dot-dev/index.md index ea294c6df..355c8ec02 100644 --- a/common-content/en/module/induction/dot-dev/index.md +++ b/common-content/en/module/induction/dot-dev/index.md @@ -3,7 +3,6 @@ title = 'GitHub.dev' description = 'Completing coursework on a library computer' time = 20 facilitation = false -vocabulary=[] emoji= '๐Ÿงฐ' [objectives] 1='Access the dotdev environment on a library computer' @@ -18,7 +17,7 @@ If you do not have a computer of your own yet, here's how to complete your work Each repo on GitHub has a `.dev` environment so you can edit the code in your browser using an online VSCode. -You can go to this enviroment directly by replacing `github.com` with `github.dev` in the URL. For example, to open the `Module-Onboarding` repo, you can go to +You can go to this environment directly by replacing `github.com` with `github.dev` in the URL. For example, to open the [`Module-Onboarding`](https://github.com/CodeYourFuture/Module-Onboarding) repo, you can go to https://github.dev/CodeYourFuture/Module-Onboarding diff --git a/common-content/en/module/onboarding/preparation/index.md b/common-content/en/module/onboarding/preparation/index.md index cbd964e6f..6197f597f 100644 --- a/common-content/en/module/onboarding/preparation/index.md +++ b/common-content/en/module/onboarding/preparation/index.md @@ -10,7 +10,7 @@ hide_from_overview="true" Double-check you have everything you need to start this course. -- [ ] You have applied to _this course_ and received an invitation to join +- [ ] You have completed ITD and received an invitation to join this course by email - [ ] You have signed the [Code of Conduct](https://codeyourfuture.io/about/code-of-conduct/) - [ ] You have signed the Learner agreement sent to you by email - [ ] You know how to get to class in person or online diff --git a/org-cyf-itp/content/onboarding/sprints/1/prep/index.md b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md index f537272f0..826df5bbe 100644 --- a/org-cyf-itp/content/onboarding/sprints/1/prep/index.md +++ b/org-cyf-itp/content/onboarding/sprints/1/prep/index.md @@ -5,6 +5,9 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' menu_level = ['sprint'] weight = 1 [[blocks]] +name="GitHub Dot Dev" +src="module/induction/dot-dev" +[[blocks]] name="Install VS Code" src="module/induction/install-vscode" time=10 @@ -62,6 +65,10 @@ src="module/induction/branching" name="wrapping up Git" src="module/induction/wrapping-up" [[blocks]] +name="Using GitHub Dev to complete coursework on a library computer" +src="https://www.youtube.com/watch?v=qkEL0LaTc4k" +time=15 +[[blocks]] name="backlog" src="blocks/backlog" +++ From b4d986931ea3b0421e6743d3edd584993ff7240b Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Wed, 11 Dec 2024 18:19:59 +0000 Subject: [PATCH 13/39] Clarify which backlog - we've talked about multiple kinds of backlog (#1245) --- common-content/en/blocks/backlog/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/blocks/backlog/index.md b/common-content/en/blocks/backlog/index.md index 3d7dbd704..54ec9ad24 100644 --- a/common-content/en/blocks/backlog/index.md +++ b/common-content/en/blocks/backlog/index.md @@ -20,7 +20,7 @@ In software development, we break down complex projects into smaller, manageable A sprint backlog is like a to-do list. It lists what the team has decided to work on this sprint. It's chosen from a larger list, usually called the "product backlog," which holds the entire project to-do list. -The backlog is a set of work designed to build understanding beyond the concepts introduced in the course prep. For your course, we have prepared a backlog of mandatory work for each sprint. You will copy these tasks into your own backlog. You can also add any other tickets you want to work on to your backlog, and schedule all of the tasks according to your own goals and capacity. Use your planning board to do this. +In this course, the backlog is a set of work designed to build understanding beyond the concepts introduced in the course prep. For your course, we have prepared a backlog of mandatory work for each sprint. You will copy these tasks into your own backlog. You can also add any other tickets you want to work on to your backlog, and schedule all of the tasks according to your own goals and capacity. Use your planning board to do this. You will find the backlog in the **Backlog** view on every sprint. From d61788650065596943c9e6aa39712afa695a5449 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 09:56:27 +0000 Subject: [PATCH 14/39] Update common-content/en/module/onboarding/goals/index.md Co-authored-by: Daniel Wagner-Hall --- common-content/en/module/onboarding/goals/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md index 6b80af693..17d247e1e 100644 --- a/common-content/en/module/onboarding/goals/index.md +++ b/common-content/en/module/onboarding/goals/index.md @@ -22,7 +22,7 @@ Find the learning objectives for the text you are reading now. These are the goa Now find the learning objectives for Sprint 1. We call these the "success criteria". These are the goals for the first sprint of the module. This is what you should be able to do after completing Sprint 1. -This formal structure might be new to you. It is a way to help you evaluate for yourself whether you have achieved the goals of the module. If you have done (and can do) the things listed in the learning objectives, you have gained the skill. If you have not, you have not yet gained the skill. +This formal structure might be new to you. It is a way to help you evaluate for yourself whether you have achieved the goals of the module. If you have done (and can do) the things listed in the learning objectives, you have gained the skill. If you have not, you have not yet gained the skill, and should keep working at it. As we are just meeting this idea, let's go over them here too. The overall goals of this module are based around these themes: version control, requirements and testing, code review, data, scientific method, and enrollment. Write each of these themes down in your notebook. From fd72a8011feb7dfc5d99d31066b03ac066cb2447 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 09:59:37 +0000 Subject: [PATCH 15/39] Update common-content/en/module/induction/dot-dev/index.md Co-authored-by: Daniel Wagner-Hall --- common-content/en/module/induction/dot-dev/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/induction/dot-dev/index.md b/common-content/en/module/induction/dot-dev/index.md index 355c8ec02..ab1e7f412 100644 --- a/common-content/en/module/induction/dot-dev/index.md +++ b/common-content/en/module/induction/dot-dev/index.md @@ -5,7 +5,7 @@ time = 20 facilitation = false emoji= '๐Ÿงฐ' [objectives] -1='Access the dotdev environment on a library computer' +1='Access the dotdev environment on a library computer if you don't have your own' [build] render = 'never' list = 'local' From 84a6bc939186fd21a020997793d6203dfbfc2cd2 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 10:02:16 +0000 Subject: [PATCH 16/39] Update org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md Co-authored-by: Daniel Wagner-Hall --- org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md index 18b70c365..4889c1592 100644 --- a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md @@ -27,7 +27,7 @@ name="Study Group" src="module/onboarding/development" time=45 [[blocks.nested.blocks]] -name="Pair Programming" +name="Optional structured activity: Pair Programming" src="module/onboarding/pairing" [[blocks.nested.blocks]] name="Submit your Step" From 89325a4a09fe3685488512c2f6a5f7023b8643e9 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 13:37:43 +0000 Subject: [PATCH 17/39] Update org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md Co-authored-by: Daniel Wagner-Hall --- org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md index 4889c1592..54d3943ee 100644 --- a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md @@ -30,7 +30,7 @@ time=45 name="Optional structured activity: Pair Programming" src="module/onboarding/pairing" [[blocks.nested.blocks]] -name="Submit your Step" +name="Optional structured activity: Submit your Step" src="module/onboarding/steps" [[blocks]] name="Afternoon break" From 29daf4a9b20e6ee1bdc77c0602506c731923f3df Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 14:10:42 +0000 Subject: [PATCH 18/39] fix link, move diagram, address note millions of notes on pr, working through them --- .../en/module/induction/learning-as-community/index.md | 8 ++++---- .../en/module/induction/viewing-files/index.md | 8 +++----- .../en/module/induction/working-locally/index.md | 9 +++++++++ common-content/en/module/induction/wrapping-up/index.md | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/common-content/en/module/induction/learning-as-community/index.md b/common-content/en/module/induction/learning-as-community/index.md index 1550f2cc1..ecbefe890 100644 --- a/common-content/en/module/induction/learning-as-community/index.md +++ b/common-content/en/module/induction/learning-as-community/index.md @@ -20,14 +20,14 @@ In this session, we're going to describe how we harness our community to learn t ### Resources -The facilitator will use this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) +The facilitator will make a copy of this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) or set the same thing up on a physical board with sticky notes. ### Preparation -- [ ] Facilitator: Review [how this works](how-this-works) and the Miro board [Learning as a community](hhttps://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) before class. -- [ ] Facilitator: Ensure everyone can access the Miro board presentation. +- [ ] Facilitator: Review [how this works](how-this-works) and the Miro board [Learning as a community](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) before class. - [ ] Facilitator: Split the class into groups of no more than 5. -- [ ] Facilitator: Make sure every group has access to a piece of paper and pen if you are in person. +- [ ] Facilitator: Ensure everyone can access the board if you are online. +- [ ] Facilitator: Make sure every group has access to sticky notes and pens if you are in person. ### Introduction diff --git a/common-content/en/module/induction/viewing-files/index.md b/common-content/en/module/induction/viewing-files/index.md index 7f1ac186f..45b60139f 100644 --- a/common-content/en/module/induction/viewing-files/index.md +++ b/common-content/en/module/induction/viewing-files/index.md @@ -1,10 +1,9 @@ +++ title = 'Viewing files from a git clone' - time ="20" facilitation = false emoji= '๐Ÿ“˜' -objectives=["Open a cloned repository in VSCode","Explore the repository in VSCode","Open the Integrated Terminal in VSCode"] +objectives=["Open a cloned repository in your IDE","Explore the repository in your IDE","Open the Integrated Terminal in VSCode"] [build] render = 'never' list = 'local' @@ -30,6 +29,5 @@ VSCode is an application that enables developers to view and edit files on their {{}} -Here is a diagram representing how the repositories interact after forking and cloning: - -![fork-and-clone-diagram](fork-and-clone-diagram.png) +> [!NOTE] +> If you're working on a library computer, use dot dev to open the repo in your browser, and navigate the files and folder there. You cannot open a terminal in the library, so come to class to try this out. diff --git a/common-content/en/module/induction/working-locally/index.md b/common-content/en/module/induction/working-locally/index.md index dfd4601b8..d8aaac7b6 100644 --- a/common-content/en/module/induction/working-locally/index.md +++ b/common-content/en/module/induction/working-locally/index.md @@ -14,6 +14,15 @@ emoji= '๐Ÿ’ป' +++ +Here is a diagram representing how the repositories interact after forking and cloning: + +![fork-and-clone-diagram](fork-and-clone-diagram.png) + +Sketch this diagram in your notebook. When you inevitably get mixed lost about where your changes are, you can refer back to this diagram to help you understand what's happening. + +> [!NOTE] +> If you're working on a library computer, just fork the repo to your own GitHub account. You can't clone a repo on a library computer, so come to class to try cloning out. + We can also use Git on our local machine to perform similar tasks as we do on GitHub. So we need to address the following question: > How can we get a copy of an existing GitHub repository on our local machine? diff --git a/common-content/en/module/induction/wrapping-up/index.md b/common-content/en/module/induction/wrapping-up/index.md index 7d29c0a84..905427f99 100644 --- a/common-content/en/module/induction/wrapping-up/index.md +++ b/common-content/en/module/induction/wrapping-up/index.md @@ -16,7 +16,7 @@ hide_from_overview = true {{}} -๐Ÿ“‹ Double check the learning objectives from this section. Make a note of those objectives that you're still struggling with. +๐Ÿ“‹ Double check the learning objectives from this sprint. Make a note of those objectives that you're still struggling with. Now you'll need to **create a commit**. From 20b0e6050dad026f9fd65d24d7da8fc452726ea1 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Thu, 12 Dec 2024 22:03:13 +0000 Subject: [PATCH 19/39] fix link, move diagram, address note millions of notes on pr, working through them miniature tweaks --- common-content/en/module/induction/dot-dev/index.md | 2 +- .../en/module/induction/learning-as-community/index.md | 10 +++++----- .../en/module/induction/viewing-files/index.md | 8 +++----- .../en/module/induction/working-locally/index.md | 9 +++++++++ .../en/module/induction/wrapping-up/index.md | 2 +- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/common-content/en/module/induction/dot-dev/index.md b/common-content/en/module/induction/dot-dev/index.md index ab1e7f412..2b878ed64 100644 --- a/common-content/en/module/induction/dot-dev/index.md +++ b/common-content/en/module/induction/dot-dev/index.md @@ -5,7 +5,7 @@ time = 20 facilitation = false emoji= '๐Ÿงฐ' [objectives] -1='Access the dotdev environment on a library computer if you don't have your own' +1='Access the dotdev environment on a library computer if you do not have your own' [build] render = 'never' list = 'local' diff --git a/common-content/en/module/induction/learning-as-community/index.md b/common-content/en/module/induction/learning-as-community/index.md index 1550f2cc1..6b0cbb759 100644 --- a/common-content/en/module/induction/learning-as-community/index.md +++ b/common-content/en/module/induction/learning-as-community/index.md @@ -1,7 +1,7 @@ +++ title = 'Learning as a community' -time="55" +time="60" facilitation = true emoji= '๐Ÿซ' [objectives] @@ -20,14 +20,14 @@ In this session, we're going to describe how we harness our community to learn t ### Resources -The facilitator will use this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) +The facilitator will make a copy of this presentation ๐Ÿ‘‰ [Learning as a community presentation](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) or set the same thing up on a physical board with sticky notes. ### Preparation -- [ ] Facilitator: Review [how this works](how-this-works) and the Miro board [Learning as a community](hhttps://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) before class. -- [ ] Facilitator: Ensure everyone can access the Miro board presentation. +- [ ] Facilitator: Review [how this works](how-this-works) and the Miro board [Learning as a community](https://miro.com/app/board/uXjVNeEASJc=/?share_link_id=563047396351) before class. - [ ] Facilitator: Split the class into groups of no more than 5. -- [ ] Facilitator: Make sure every group has access to a piece of paper and pen if you are in person. +- [ ] Facilitator: Ensure everyone can access the board if you are online. +- [ ] Facilitator: Make sure every group has access to sticky notes and pens if you are in person. ### Introduction diff --git a/common-content/en/module/induction/viewing-files/index.md b/common-content/en/module/induction/viewing-files/index.md index 7f1ac186f..45b60139f 100644 --- a/common-content/en/module/induction/viewing-files/index.md +++ b/common-content/en/module/induction/viewing-files/index.md @@ -1,10 +1,9 @@ +++ title = 'Viewing files from a git clone' - time ="20" facilitation = false emoji= '๐Ÿ“˜' -objectives=["Open a cloned repository in VSCode","Explore the repository in VSCode","Open the Integrated Terminal in VSCode"] +objectives=["Open a cloned repository in your IDE","Explore the repository in your IDE","Open the Integrated Terminal in VSCode"] [build] render = 'never' list = 'local' @@ -30,6 +29,5 @@ VSCode is an application that enables developers to view and edit files on their {{}} -Here is a diagram representing how the repositories interact after forking and cloning: - -![fork-and-clone-diagram](fork-and-clone-diagram.png) +> [!NOTE] +> If you're working on a library computer, use dot dev to open the repo in your browser, and navigate the files and folder there. You cannot open a terminal in the library, so come to class to try this out. diff --git a/common-content/en/module/induction/working-locally/index.md b/common-content/en/module/induction/working-locally/index.md index dfd4601b8..d8aaac7b6 100644 --- a/common-content/en/module/induction/working-locally/index.md +++ b/common-content/en/module/induction/working-locally/index.md @@ -14,6 +14,15 @@ emoji= '๐Ÿ’ป' +++ +Here is a diagram representing how the repositories interact after forking and cloning: + +![fork-and-clone-diagram](fork-and-clone-diagram.png) + +Sketch this diagram in your notebook. When you inevitably get mixed lost about where your changes are, you can refer back to this diagram to help you understand what's happening. + +> [!NOTE] +> If you're working on a library computer, just fork the repo to your own GitHub account. You can't clone a repo on a library computer, so come to class to try cloning out. + We can also use Git on our local machine to perform similar tasks as we do on GitHub. So we need to address the following question: > How can we get a copy of an existing GitHub repository on our local machine? diff --git a/common-content/en/module/induction/wrapping-up/index.md b/common-content/en/module/induction/wrapping-up/index.md index 7d29c0a84..905427f99 100644 --- a/common-content/en/module/induction/wrapping-up/index.md +++ b/common-content/en/module/induction/wrapping-up/index.md @@ -16,7 +16,7 @@ hide_from_overview = true {{}} -๐Ÿ“‹ Double check the learning objectives from this section. Make a note of those objectives that you're still struggling with. +๐Ÿ“‹ Double check the learning objectives from this sprint. Make a note of those objectives that you're still struggling with. Now you'll need to **create a commit**. From b99a3ec4ed03e18297029f1a4bf8cdc28fb1e201 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Mon, 16 Dec 2024 10:39:59 +0000 Subject: [PATCH 20/39] Reword description of goals (#1247) --- common-content/en/module/onboarding/goals/index.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md index 17d247e1e..bdf400283 100644 --- a/common-content/en/module/onboarding/goals/index.md +++ b/common-content/en/module/onboarding/goals/index.md @@ -6,7 +6,7 @@ hide_from_overview=true objectives = [ "List the core goals of the module", "Find the learning objectives for Sprint 1", - "Find the overall success criteria for the module" + "Describe what you need to do in order to complete the onboarding module" ] [build] render = 'never' @@ -14,7 +14,9 @@ objectives = [ publishResources = false +++ -You have joined us as a Learner. Your overall goal for this module is to enroll as a Trainee within the next three weeks. +You have joined us as a Learner. Your overall goal for this module is to understand how to succeed at the ITP course. + +To demonstrate you know how to succeed at the course, you should enroll as a Trainee within the next three weeks. To do this, you will need to do show up every week, learn, get work done, and get your work reviewed. > ๐ŸŽฏ Complete onboarding and enroll as a Trainee @@ -24,7 +26,9 @@ Now find the learning objectives for Sprint 1. We call these the "success criter This formal structure might be new to you. It is a way to help you evaluate for yourself whether you have achieved the goals of the module. If you have done (and can do) the things listed in the learning objectives, you have gained the skill. If you have not, you have not yet gained the skill, and should keep working at it. -As we are just meeting this idea, let's go over them here too. The overall goals of this module are based around these themes: version control, requirements and testing, code review, data, scientific method, and enrollment. Write each of these themes down in your notebook. +As we are just meeting this idea, let's go over them here too. The skills you'll learn in this module are based around these themes: version control, requirements and testing, code review, data, and scientific method. Write each of these themes down in your notebook. + +To complete the module, you will need to demonstrate you have learnt these skills, and apply to enroll as a Trainee. #### Version control From 2ac8153d85e824a4c107ffd45fbba55699334c05 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 16 Dec 2024 12:01:15 +0000 Subject: [PATCH 21/39] update success but it still doesn't have the enrolllment part --- org-cyf-itp/content/onboarding/success/index.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md index 52d531b86..ba523a353 100644 --- a/org-cyf-itp/content/onboarding/success/index.md +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -8,15 +8,15 @@ weight = 11 [[objectives]] 1="Link to your PR for [Wireframe to Web Code](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/90)" 2="Link to your PR for [Form Controls](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/88)" -3="Link to your Google Sheet for [Query Data in Google Sheets with SQL](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/104)" +++ ### ๐ŸŽฏ You've achieved your learning objectives if you can: ```objectives - Track changes to data (your code) over time with Git and GitHub. -- Structure data for presentation and user input with HTML and HTML forms. -- Query and analyse structured data with SQL in a spreadsheet. +- Validate data with HTML forms. +- Analyse structured data with SQL in a spreadsheet. +- Plan your new life as a tech professional. ``` ### ๐Ÿ’ฏ To complete _any_ module, you must: @@ -24,9 +24,12 @@ weight = 11 ```objectives - Do your work: complete all mandatory backlog issues - Come to class -- **Submit** the Dashboard step for this module +- **Submit** the step for this module ``` ## โœ… To complete _this_ module, you must: -Submit the following items to complete this module on the CYF Dashboard: +1. Make a new issue on your own Coursework Planner. +1. Link to the two Pull Requests on your issue. You don't have to wait for your PRs to be reviewed, but you must have made them. +1. Submit the issue link to step 1 of ITP on [CYF Course Portal](https://application-process.codeyourfuture.io/) +1. Here are those PRs again: From ac56e8d47af9ac77ba7da0e459bce909abec2cd7 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 16 Dec 2024 12:02:54 +0000 Subject: [PATCH 22/39] next steps timing --- .../module/fundamentals/next-steps/index.md | 18 +++---- .../en/module/onboarding/preparation/index.md | 2 +- org-cyf-itp/content/_index.md | 2 +- org-cyf-itp/content/data-flows/_index.md | 2 +- org-cyf-itp/content/data-groups/_index.md | 2 +- org-cyf-itp/content/onboarding/_index.md | 4 +- .../onboarding/sprints/1/day-plan/index.md | 21 ++++---- .../content/structuring-data/_index.md | 2 +- org-cyf-itp/content/welcome/_index.md | 8 +++ org-cyf-itp/content/welcome/day-plan/index.md | 54 +++++++++++++++++++ org-cyf-itp/content/welcome/prep/index.md | 29 ++++++++++ org-cyf-itp/content/welcome/success/index.md | 14 +++++ 12 files changed, 132 insertions(+), 26 deletions(-) create mode 100644 org-cyf-itp/content/welcome/_index.md create mode 100644 org-cyf-itp/content/welcome/day-plan/index.md create mode 100644 org-cyf-itp/content/welcome/prep/index.md create mode 100644 org-cyf-itp/content/welcome/success/index.md diff --git a/common-content/en/module/fundamentals/next-steps/index.md b/common-content/en/module/fundamentals/next-steps/index.md index c0f21a218..36d36998f 100644 --- a/common-content/en/module/fundamentals/next-steps/index.md +++ b/common-content/en/module/fundamentals/next-steps/index.md @@ -1,7 +1,6 @@ +++ title = 'Next steps ๐Ÿ‘ฃ' - -time="20" +time="30" facilitation = false emoji= '๐Ÿงฉ' [objectives] @@ -21,21 +20,20 @@ In this section, you have a set of questions/tasks to orient you towards what is Pair up with a new person. In pairs, complete the following tasks: -{{}} -If you're unsure about the answer to any of the questions below, start a thread in Slack to clarify the answer (unless there is already a thread discussing this matter) -{{}} +> [!WARNING] +> If you're unsure about the answer to any of the questions below, start a thread in Slack to clarify the answer (unless there is already a thread discussing this matter). -1. Using the [curriculum website](https://curriculum.codeyourfuture.io/), locate the setup page and the prep page for sprint 1 of the upcoming Induction module. +1. Starting from the home page of this website, locate the setup page and the prep page for sprint 1 of the next module. 1. List the things you need to install ( if anything ) for the upcoming module. -1. Check you can find the backlog page for the Induction sprint. Double check you've copied all the issues from the backlog over to your Course Planner. +1. Check you can find the backlog page for the next sprint. Double check you've copied all the issues from the backlog over to your Course Planner. 1. Double check you've copied all the issues from the backlog over to your Course Planner. 1. Identify all the issues with ๐Ÿ”‘ icon that are marked as **Priority**. What does the **Priority icon** ๐Ÿ”‘ mean? -1. When โฐ should you start the prep work for the upcoming Induction module? -1. Experiment with your project planner: can you filter by Size, Week 1, Tech ed, PD etc.? +1. When โฐ should you start the prep work for the upcoming module? +1. Experiment with your project planner: can you filter by Size, Sprint, or other fields? ## For volunteers -1. Locate the classroom planning board for your region ( if one exists ) +1. Locate the planning board for your region ( if one exists ) 1. Locate the day-plan for the next module 1. Check the instructions and links on the **Priority ๐Ÿ”‘ issues** for the upcoming week ( both Tech Ed and PD ) 1. In the day-plan for the upcoming week identify the instructions for any workshops and visit the repository containing that readme. Check the instructions make sense. diff --git a/common-content/en/module/onboarding/preparation/index.md b/common-content/en/module/onboarding/preparation/index.md index 6197f597f..0c4ad0edc 100644 --- a/common-content/en/module/onboarding/preparation/index.md +++ b/common-content/en/module/onboarding/preparation/index.md @@ -23,7 +23,7 @@ Now go read over the day plans, backlogs, success criteria and complete the quiz {{}} {{ Date: Mon, 16 Dec 2024 13:30:44 +0000 Subject: [PATCH 23/39] pop in a quick note on capacity --- .../tasks-and-ratios/index.md | 41 +++++++++++++++++++ .../sprints/self-coordinate/prep/index.md | 3 ++ 2 files changed, 44 insertions(+) create mode 100644 common-content/en/module/how-our-curriculum-works/tasks-and-ratios/index.md diff --git a/common-content/en/module/how-our-curriculum-works/tasks-and-ratios/index.md b/common-content/en/module/how-our-curriculum-works/tasks-and-ratios/index.md new file mode 100644 index 000000000..b1dbdb971 --- /dev/null +++ b/common-content/en/module/how-our-curriculum-works/tasks-and-ratios/index.md @@ -0,0 +1,41 @@ ++++ +title="Tasks and Ratios: Capacity Planning" +emoji="โš–๏ธ" +time=10 +[objectives] +1="Evaluate your capacity" +2="List the core tasks of a class" +[build] + render = 'never' + list = 'local' + publishResources = false + ++++ + +This section is for volunteers. To evaluate your capacity to run a class, here are some rules of thumb: + +### How many learners make a class? + +Fewer than 8 is too small. A class of 18 is a good size. A class of 30 is too large. + +### How many volunteers do we need? + +1 volunteer can support 3-5 learners. + +### What does a class do? + +The basic tasks are: + +- [Morning workshop](https://workshops.codeyourfuture.io/) on class day +- Afternoon study group. You can also do the following tasks during study group, or async online during the week: + - [Code review](/prs-needing-review): at least one per learner per sprint + - [Step review](https://dashboard.codeyourfuture.io/): one per learner per module + - Pair programming: at least one per learner per module + - Demo: attend at least one demo by a learner per module + +There are additional beneficial activities you can support learners with: + +- Rhythm of the week +- Mid-week study sessions online +- Codewars club +- Socials, games nights, meetups diff --git a/org-cyf-how-this-works/content/sprints/self-coordinate/prep/index.md b/org-cyf-how-this-works/content/sprints/self-coordinate/prep/index.md index cf2c37674..4bbe56a50 100644 --- a/org-cyf-how-this-works/content/sprints/self-coordinate/prep/index.md +++ b/org-cyf-how-this-works/content/sprints/self-coordinate/prep/index.md @@ -26,4 +26,7 @@ src="module/how-our-curriculum-works/study-groups" [[blocks]] name="backlog" src="module/how-our-curriculum-works/backlog" +[[blocks]] +name="tasks and ratios" +src="module/how-our-curriculum-works/tasks-and-ratios" +++ From e6b76f7a6771e6483c4ab692bd419dc92168b992 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 16 Dec 2024 15:45:31 +0000 Subject: [PATCH 24/39] I've put the timeline here for now... Please do edit this --- .../content/guides/teaching/timeline/index.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 org-cyf-itp/content/guides/teaching/timeline/index.md diff --git a/org-cyf-itp/content/guides/teaching/timeline/index.md b/org-cyf-itp/content/guides/teaching/timeline/index.md new file mode 100644 index 000000000..92e287db5 --- /dev/null +++ b/org-cyf-itp/content/guides/teaching/timeline/index.md @@ -0,0 +1,53 @@ ++++ +title = "Timeline " +description = "Check your class progress against the ITP timeline" +time = 30 +facilitation = false +emoji= "๐Ÿ“…" ++++ + +## Timeline of ITP, staying on track: + +The course starts on the 1st of the month but there may be 7 days until the first Saturday, so we have written this to cover that variance. + +There are 12 learning weeks in the curriculum, which you will schedule over a maximum of 16 weeks. Most people should complete this course in 12 weeks of classes. Some will go faster (and this is encouraged). A few people will have adverse life events and need a couple of weeks to catch up. Once a learner is a full module behind, it's not realistic for them to catch up. + +So that's your rule of thumb for staying on track. What does this look like in practice, week by week? + +## ๐Ÿซถ๐Ÿฝ Day 1 Week 1 + +Week 1: you have logged in to the dashboard to see your list of learners and welcomed them by name in Slack. + +## ๐Ÿค Module 1: [Weeks 2, 3, 4](/onboarding) + +๐Ÿค Week 2: you have met everyone in person or at Zoomschool + +- Week 2: most people have opened a PR +- Week 2: most people have gotten a code review + +๐Ÿค Week 3: 100% of learners have opened a PR or withdrawn/deferred +๐Ÿค Week 4: Focus on enrollment: 60% of learners have completed the [Onboarding Module](/onboarding) and enrolled as a trainee + +## ๐Ÿฅš Module 2: [Weeks 5, 6, 7](/structuring-data) + +๐Ÿฅš Week 5: 60% of learners have enrolled as a trainee +๐Ÿฅš Week 6: Everybody has begun [Structuring and Testing Data](/structuring-data) at least as we are halfway through the course! +๐Ÿฅš Week 7: Focus on step review: keep the momentum going. Advise learners who have made no progress to withdraw as there is no chance of making up the work now. + +## ๐Ÿฃ Module 3: [Weeks 8, 9, 10](/data-groups) + +๐Ÿฃ Week 8: Most people have begun [Data Groups](/data-groups) +๐Ÿฃ Week 9: Every trainee has benefited from at least 5 pair programming sessions +๐Ÿฃ Week 10: Every trainee has engaged in at least 8 code reviews + +## ๐Ÿฅ Final Module: [Weeks 11, 12, 13](/data-flows) + +๐Ÿฅ Week 11: Everybody has begun [Data Flows](/data-flows). Most trainees are completing their TV Show Projects - encourage demos! +๐Ÿฅ Week 12: Most trainees are submitting their final step +๐Ÿฅ Week 13: You are reviewing and approving final step submissions + +## ๐ŸŽ Wrapping up: Weeks 14, 15, 16 + +๐ŸŸ Week 14: Trainees who have fallen behind by less than 1 module have caught up and completed. Trainees going for [the Piscine](https://piscine.codeyourfuture.io) have applied. +๐Ÿ‘ฃ Week 15: You are wrapping up and supporting trainees to take their next steps. +๐ŸŽ‰ Week 16 : This course has completed. 100% of learners have completed or withdrawn. Have a party. From ef7530ffbdf7b10fcdf4ea2205bc2eaee7cc2bbc Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Mon, 16 Dec 2024 15:52:42 +0000 Subject: [PATCH 25/39] Update common-content/en/module/onboarding/expectations/index.md Co-authored-by: Daniel Wagner-Hall --- common-content/en/module/onboarding/expectations/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/onboarding/expectations/index.md b/common-content/en/module/onboarding/expectations/index.md index ff453c6ad..bcf3a2064 100644 --- a/common-content/en/module/onboarding/expectations/index.md +++ b/common-content/en/module/onboarding/expectations/index.md @@ -35,5 +35,5 @@ hide_from_overview="true" {{}} From 48716cdb69e549278fb9c6687dab57179289aee8 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 10:49:08 +0000 Subject: [PATCH 26/39] addressing more comments --- .../en/module/onboarding/application/index.md | 4 +++- common-content/en/module/onboarding/goals/index.md | 12 ++++++------ org-cyf-itp/content/onboarding/_index.md | 2 +- org-cyf-itp/content/onboarding/success/index.md | 5 ++++- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/common-content/en/module/onboarding/application/index.md b/common-content/en/module/onboarding/application/index.md index 05def813d..826174923 100644 --- a/common-content/en/module/onboarding/application/index.md +++ b/common-content/en/module/onboarding/application/index.md @@ -18,4 +18,6 @@ To take this course you must have completed [Intro to Digital](https://itd.codey You will receive an email within two weeks of completing ITD, inviting you to begin this course as a Learner. All operational details should be linked in this email. If you have not received an email, please tell us at contact@codeyourfuture.io. -If you have been invited, please now continue... +Log in to your [Course Portal](https://application-process.codeyourfuture.io/). This the same portal you used to complete ITD. A new set of steps should have appeared. These are the steps to complete ITP. + +If you are all signed up and logged in, please now continue... diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md index bdf400283..e0271ede6 100644 --- a/common-content/en/module/onboarding/goals/index.md +++ b/common-content/en/module/onboarding/goals/index.md @@ -32,24 +32,24 @@ To complete the module, you will need to demonstrate you have learnt these skill #### Version control -You will have tracked changes to data (your code) over time with Git and GitHub. Your goal is to build a mental model of Git "trees" and begin learning ways to travel through files using the "time machine" of Git. +_By the end of this module_ you will have tracked changes to data (your code) over time with Git and GitHub. Your goal is to build a mental model of Git "trees" and begin learning ways to travel through files using the "time machine" of Git. #### Requirements and Testing -You will have tested your work using acceptance criteria, manual testing, and automated testing. Your goal is to interpret requirements and write code to meet acceptance criteria. +_By the end of this module_ , you will have tested your work using acceptance criteria, manual testing, and automated testing. Your goal is to interpret requirements and write code to meet acceptance criteria. #### Code review -You will have revised, refactored, and reviewed code using code review. Your goal is to form the habits of a professional who can think, talk, and write in a technical context. +_By the end of this module_ you will have revised, refactored, and reviewed code using code review. Your goal is to form the habits of a professional who can think, talk, and write in a technical context. #### Data -You will have manipulated data with HTML, Git, and Google Sheets. Your goal is to begin to understand how data is structured and how to manipulate it. +_By the end of this module_ you will have manipulated data with HTML, Git, and Google Sheets. Your goal is to begin to understand how data is structured and how to manipulate it. #### Scientific method -You will have written and asked well-structured developer questions. Your goal is to build a strategy to methodically solve problems. +_By the end of this module_ you will have written and asked well-structured developer questions. Your goal is to build a strategy to methodically solve problems. #### Enrollment -You will have enrolled as a Trainee. Your goal is to complete the onboarding process and enroll as a Trainee. +_By the end of this module_ you will have enrolled as a Trainee. Your goal is to complete the onboarding process and enroll as a Trainee. diff --git a/org-cyf-itp/content/onboarding/_index.md b/org-cyf-itp/content/onboarding/_index.md index 65c4d8cc0..8ce8ffe31 100644 --- a/org-cyf-itp/content/onboarding/_index.md +++ b/org-cyf-itp/content/onboarding/_index.md @@ -1,6 +1,6 @@ +++ title = 'Onboarding' -description = 'Evaluate and fix code with Lighthouse; use version control with Git and GitHub; Evaluate your learning style and set goals; Enroll as a Trainee' +description = 'Evaluate and fix code with Lighthouse; use version control with Git and GitHub; Plan your study and set goals; Enroll as a Trainee' layout = 'module' emoji= '๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ' menu = ['syllabus', 'course schedule'] diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md index ba523a353..78fbc136f 100644 --- a/org-cyf-itp/content/onboarding/success/index.md +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -1,6 +1,6 @@ +++ title = 'success' -description = 'How do we know we have completed User Focused Data?' +description = 'How do we know we have completed Onboarding?' layout = 'success' emoji= 'โœ…' menu_level = ['module'] @@ -10,6 +10,8 @@ weight = 11 2="Link to your PR for [Form Controls](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/88)" +++ +> ๐ŸŽฏ Complete onboarding and [enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA) + ### ๐ŸŽฏ You've achieved your learning objectives if you can: ```objectives @@ -32,4 +34,5 @@ weight = 11 1. Make a new issue on your own Coursework Planner. 1. Link to the two Pull Requests on your issue. You don't have to wait for your PRs to be reviewed, but you must have made them. 1. Submit the issue link to step 1 of ITP on [CYF Course Portal](https://application-process.codeyourfuture.io/) +1. [Enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA) 1. Here are those PRs again: From 8815c7876201825ab5191850b179ac9637f65209 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 10:54:08 +0000 Subject: [PATCH 27/39] rm UFD from menus --- org-cyf-itp/content/user-data/_index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org-cyf-itp/content/user-data/_index.md b/org-cyf-itp/content/user-data/_index.md index fc73727e1..f8d0ca3a4 100644 --- a/org-cyf-itp/content/user-data/_index.md +++ b/org-cyf-itp/content/user-data/_index.md @@ -3,5 +3,8 @@ title = 'User focused data' description = 'User focused data: Build up robust interfaces by structuring data and interactions; analyse and interrogate code with tools; decompose interfaces into components; recognise patterns' layout = 'module' emoji= '๐Ÿ“‡' -weight='2' +[build] + render = false + publishResources = false + list = 'never' +++ From 6c76e583308e3f8a38af0e7310c098b0a5827d0a Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 10:56:05 +0000 Subject: [PATCH 28/39] flag UFD as archived --- org-cyf-itp/content/user-data/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-cyf-itp/content/user-data/_index.md b/org-cyf-itp/content/user-data/_index.md index f8d0ca3a4..19cb3dfec 100644 --- a/org-cyf-itp/content/user-data/_index.md +++ b/org-cyf-itp/content/user-data/_index.md @@ -1,5 +1,5 @@ +++ -title = 'User focused data' +title = '[ARCHIVED 2024] User focused data' description = 'User focused data: Build up robust interfaces by structuring data and interactions; analyse and interrogate code with tools; decompose interfaces into components; recognise patterns' layout = 'module' emoji= '๐Ÿ“‡' From 4af0e098ca2f95c873834bf5de8b146874467dd8 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 10:58:37 +0000 Subject: [PATCH 29/39] timings a bit more realistic --- common-content/en/module/onboarding/application/index.md | 2 +- common-content/en/module/onboarding/goals/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common-content/en/module/onboarding/application/index.md b/common-content/en/module/onboarding/application/index.md index 826174923..9155929de 100644 --- a/common-content/en/module/onboarding/application/index.md +++ b/common-content/en/module/onboarding/application/index.md @@ -1,6 +1,6 @@ +++ title="Entry Criteria" -time=2 +time=10 emoji="๐ŸŽฏ" hide_from_overview=true objectives = [ diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md index e0271ede6..002219572 100644 --- a/common-content/en/module/onboarding/goals/index.md +++ b/common-content/en/module/onboarding/goals/index.md @@ -1,6 +1,6 @@ +++ title="๐ŸŽฏ Goals" -time=2 +time=10 emoji="๐ŸŽฏ" hide_from_overview=true objectives = [ From 2be0e1e9e8a6c8274eace84fa648aca5c7ce8406 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 18:03:57 +0000 Subject: [PATCH 30/39] return them to do the prep they haven't done it! --- .../en/module/onboarding/do-the-prep/index.md | 22 +++++++++++++++++++ org-cyf-itp/content/onboarding/prep/index.md | 22 ++----------------- org-cyf-itp/content/welcome/day-plan/index.md | 2 +- 3 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 common-content/en/module/onboarding/do-the-prep/index.md diff --git a/common-content/en/module/onboarding/do-the-prep/index.md b/common-content/en/module/onboarding/do-the-prep/index.md new file mode 100644 index 000000000..411afad96 --- /dev/null +++ b/common-content/en/module/onboarding/do-the-prep/index.md @@ -0,0 +1,22 @@ ++++ +title="Do the Prep" +emoji="๐Ÿง " +time=5 +hide_from_overview="true" +[build] + render = 'never' + list = 'local' + publishResources = false ++++ + +You should have completed the prep listed in [Welcome to CodeYourFuture](/welcome/prep). If you haven't done that yet, go back and complete it now. + +> ๐Ÿง  You must always do the prep. + +If you have worked through the Welcome prep, move on to [Onboarding Sprint 1 Prep](onboarding/sprints/1/prep/) and begin the prep for the first sprint. + +{{}} diff --git a/org-cyf-itp/content/onboarding/prep/index.md b/org-cyf-itp/content/onboarding/prep/index.md index 15972a995..4f67bf047 100644 --- a/org-cyf-itp/content/onboarding/prep/index.md +++ b/org-cyf-itp/content/onboarding/prep/index.md @@ -6,24 +6,6 @@ emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿ’ป' menu_level = ['module'] weight = 1 [[blocks]] -name="Application" -src="module/onboarding/application" -[[blocks]] -name="Goals" -src="module/onboarding/goals" -[[blocks]] -name="Expectations" -src="module/onboarding/expectations" -[[blocks]] -name="Help" -src="module/onboarding/help" -[[blocks]] -name="Preparation" -src="module/onboarding/preparation" -[[blocks]] -name="Professional Accounts" -src="module/induction/accounts" -[[blocks]] -name="House Rules" -src="blocks/house-rules" +name="Do the prep" +src="module/onboarding/do-the-prep" +++ diff --git a/org-cyf-itp/content/welcome/day-plan/index.md b/org-cyf-itp/content/welcome/day-plan/index.md index 7ffa7d660..e0f80ebf6 100644 --- a/org-cyf-itp/content/welcome/day-plan/index.md +++ b/org-cyf-itp/content/welcome/day-plan/index.md @@ -1,7 +1,7 @@ +++ title = 'day plan' layout = 'day-plan' -description='The agenda and activities for the first day of the course' +description='The agenda and activities for our first day together' emoji= '๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ' menu_level = ['module'] weight = 3 From eae8c22f33762abc4929f5b274a4887317d97fa8 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 18:08:09 +0000 Subject: [PATCH 31/39] update thread instructions https://github.com/CodeYourFuture/curriculum/pull/1241#issuecomment-2546244106 --- common-content/en/module/induction/development-process/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/induction/development-process/index.md b/common-content/en/module/induction/development-process/index.md index ff4d751ae..84f042516 100644 --- a/common-content/en/module/induction/development-process/index.md +++ b/common-content/en/module/induction/development-process/index.md @@ -25,6 +25,6 @@ At the moment, the computer has a folder with the blog that looks like this: Describe some of the challenges that Ahmed and Naima face when trying to write a blog together in this way. -Create or join a thread ๐Ÿงต on Slack to share your answers. Did your cohort colleagues think of similar things? +Look in Slack. Has someone made a post describing Ahmed and Naima's challenge? Share your answers as a **reply** to this post, making a [conversation ๐Ÿงต thread](https://slack.com/intl/en-gb/help/articles/115000769927-Use-threads-to-organise-discussion). {{}} From e0a721137f68238d4d91ab89b0720559945cfe18 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 18:10:35 +0000 Subject: [PATCH 32/39] move image to right dir --- .../working-locally/fork-and-clone-diagram.png | Bin 0 -> 99708 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 common-content/en/module/induction/working-locally/fork-and-clone-diagram.png diff --git a/common-content/en/module/induction/working-locally/fork-and-clone-diagram.png b/common-content/en/module/induction/working-locally/fork-and-clone-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..fc47d1b2474ac6f95f374403dd60c5b9751a2852 GIT binary patch literal 99708 zcmd?Qgs#j=CFrfA{MN0rXJxkF{u4dzP=iG5p?4|lKtLfyOz@biK9RI%T{RnATEcv7y=ws z)y3h-vao;NoUqvQ%RoH8+duC3OCI z9yIbP_Ce}O2O(MN$`x4Z({{p@Nu#tX@)MIZ7o83GL72 zR=T<%tmSAFVoHuL5!|uq*bni7!G8UOY=gbaG_oG%Y~vph zV}E*vw|m4;ZOOF(Pqnf8T;@=MZPa>NcA}G7&C&|1$); z8g3$2~`8w!;`T&5;FI1y=%DrY*pPSm@Uw#KAH1#(GK{r z2GX8~&}NRouEoeB>gpH9n)1zHW-SOc&NiB=wPntSDRsc54gH}3OR$|_bN;lx{AX^% zn03k$T3L+9u2VIi9N54f`}Q338YD%Jm`bSKG~B3%`3b%Za^V*!JSifDQW~7;alD0s z&F5HFT}phKS7xJ$Js7Lwvtp&!-u2&ezhl6uUAkK#@}fWQ%g zFU8BxpI(;Z+P`@rBMusdFKPuTqdPRN}ZYNMj$*DAjt1Ohik+65zr?#5j~mVo;t@KC4F6#ljP(Rpxg_ z`4-?CIP@kylUSMH?DDR(7AjJQS zJ#wgpZ$@AI=(Qw#g(nz}Ku?H^ksHP-&Y{e#&d!J*>;EEqDg&yVTOg}W`i*chygp<{ zJS7RQ+zI$?G=M<<{0OoF96 z)hlGRFASX|ohhCAooDZ!a*&s6GhVOT^b+VS<3>K%tSS~Ic8=X8o5oU><& zpWh)wlz%Lbwf{UKUn~BSM*cb8mp};u6F!c_+Hh^DVroNLVan#{$jH%1hZr4t>aV@g z4AJ}yP6l~K8(eQAO~p(i@uO*SSaKN0Xvf6I1UM6|MP2E-qpEuJdS0(Fty!!oRpRP6 z>C`YQxt3T%tUp=**t6pQn9@w5W?QIVs$cjETqod|eS+xm#3N2n+BeJ_a>sv-e6os) zi^K$Z2jPYcqIToj(xWr2;9}r5;d(%kph0+L^q9)ZxCW>pZMntyB$@iT=&BX!;*7~j z@+^628LrCRF}ShTu~e~fOd9kC$~)PamQT5PSYm5pU7@b&7iMW)f*XRcMupRz4VU5D zg5tcr(g7`2)l#hk6ZuzSEQg)PO1{~>^|HxwLaqiHo|r^toHKFn*! z?Prr|fo)asJL~sKLvE_sw{`6PZcV7BujaMppr&1kLUG*`-qfXa56=RRl}(cM!c5ZK ziOuEw#hl6>!amR3_c@;`w{n8{>DdUrE&dMvJs0=Z3{J6^$%NCS9N}c)R;0rMzOI#S zeU6~@v;3+=C+I21<}y+s+7((j^Go|thvixl$8D$FhORm?=Y6Mf*VS5$dLg%Im(4nI z7jhFKuIR+>#4;gfp$;+&A>qmt?IN9cL6tP&G|4nlL#QFP;kw~)qe~-BlT}l<_nx=r zjs8jJ)y=K#rBCbBJEz&#dmJLjEt9@BFq#MU2gip^_*d{N{u`ovBW(84OVJef6voQ$ z*-^}q4^e!HOkPG|pY)6EwS9%)p&5PFg_NS&U}b-1K@-5gp!`McZFRMZl8y3K!YW69 zZKWrvCqgAng;vF96o0fR+pe>q3&kYK#GxXxLi&9-fd|XncT4+<-z#mMm+>!Ib(+_@ zR3~!_<=B{`^}2LiL6|rMcy7!GOmqoqy@U}K-G^c1tCh74b!F}cjj4^;&1fy3MPins zl%v>FwxVjO9cX%43c11RtuJEG7HDo?k;}jmUZkkTawZbR>ZS)Og~$oespICM%#Xbu zkI#1tmY0NNHKXT;8W6rW@jD)sr+0d5u7;0C7-}mQN<&O@KU+GBH=FKA<)p}_rOm4E z>jmkBDli2)HaYp}1{?Mo%+||#P1bAN7bO;9l>|(6lz|P38fxC{ze`gxJO{1R$GEg? z=xxNWwHT3qZ>|%~rYL*&?$dDKoY<_G!}6!FA!4jMf7qKN@$Og23SK-uY%6%bnQNF? zSzz^v4c8kHnj&%ce08+Oa^0G@CAU9}e?0r~d-0&Asa_(J=7;G!>80?%)U#AcfyG1J znq8?vo9%$#9lxV~`6-GA)o%}zyVH$j24IUCqs9Zr`#X$$;!RslTb_l=mPz~hgNs?CeP5w@ zOUMC;ho%>w)5Znme+KFI!!QA}?j&?2w7F#g!8!1}oNymu3 z5!R3ii>wHZT|18U|J2IT!pVmC(ce{EejnZC@~eOF@M89~J_@@UT$>*}RA10&`r)$( zBIAVZiO&TEM@Xit3v2k9d)q#|I5)GT+GIMgn&n-!8(h3^5lNI!PQi8PNZD3_gV3jZ zg=?K>G*$cp?>`nifE8lCu?-F|Z-&o%c1M?%SeM^P<`3$S50fmGgG-T^pup-46I2S5 zSU!NOsfgU!+Y=DVS9*qjZNk3=k`(G|6gM13w@k+aN1(*YZdM z*=wAc_FHoW1vp0F7zGXq{sr6<;0PZ0g@Y%8L;C9&4o()H_&>+0@brI|L4bn`0>dHx zT}Bu9e*F0ge1O`2e?N%|ghK}YdI5YsXCVB$G{R2Clm8rR1J~f*sENOQ3w*1+cQiAz zb+WW`&Y1Fd2TnY*m(g*8gTtqN{J_6er8xpp?^&?AwzIZ^Jm|fh4Xd%KorxK%yN&(h zec%M$LBOGnnX@s4yN$K26UbeN>aP+Y;P~-08x_T0MVzgKsI(Q7Da7p@%_w+S*;(1C zgi$FdCg=@^YgEMnz@7jY01{< z@5cfjknQmb8wV>p+yASYGuZt9quS$@e^vYIx&GCh;N#6e%3yahYi$Xz4e+Xgt_gE+ za&rs*)z1HQ>7SndtEz^RnWMO!4N%ir_@BZ0yYinG|F_~_ZR-5dCObR(pKbne>5r<9 z4*^m&bF#B`d3=c)wqR#rPC>T+*XjSQrSnfUVUEY=`>WEQXaBc`_W!fSpJ)HKhLR%~ zcoD{rT@&W`yM;f`{as#=?Q!t`m<<1#X@8vsrkXISAlrYYtuQJ_y}|<=oG9E|i8t!* z@O!DqDKwJj-Exx8Y3S+se?>;7I6dus8~oxthK7O>N^{ur0tr$6Gxf63`pw zBmh&Q74IC=n}IdzpZor+6=;3@fAs^XnehbMUb5+l5j14&f4Wkebzt^KpZ{uQOB7LG z<*+q=g^K^by3P04ZNmS5bUT3ZvuKH?72}V=k=NqlCW9ky#+ePW(Yf2@xWmS9e~T(P zW%Nb-3R_UA;?@{{t;ZuXo%+`}G)XQwRaAmY*AHw^$;z^^m(KkToYI+MIatViazDk7 z6?N}Ezz!ee$t?S}I?&oYomY^4Z;BZGVzY_UlGW-8agH$;s#7&Q-|8qryOJnk=B z9x$TiIfJwC3?oAhYYdZm&SN6VQqDFhTnQlQyP#z;5|N*kEcx>YgoIFN+VT^cVpJ(LKoA@ zx^I)XzuVV(&qX_Gkb5w>_s;Q$K*dFOA;X>=Pspt&_(eEVHYIax$R-uCf)JUcgXhjA zL}m1xTb0@qUguRKXWUpX+ps`xZ_shEyR6(al`bSWe+7SZ3Ju4Hi+f~@kNbmY!C9x0 zBO|E+ga1)m?C~e$#*B3>De0FOSIKtGU<^CL-y*Q%h@+E!wq$EFRQRyV5Vq!*3!b|y zOy%5beQ1?Cu4O#Y551+GDEs{8aP4gElla`H6wxgCT)K^xMN0zuM(MV)QaxzfomPCE;t++c0tw zVdmzmmE{nlJCj$*TlBmwSDkF~!nijco2k6nl*T@KjoCmeJpR9BnMx**{Eo8(59@bJ zjT`oBxa8vvJ-3;K8ztQ4ZGJ$2S1+RPb3O^5lxUI0kM;=@8758c<9xNj+X7zv^`WT5 zysy-K>t@cX45GmMn|rTj-gcRI@k&bD{wGqy(Mkg?7Vm=ldu_{1NE>h+cS_%B@MyBk z_d6OXSQU1$;B{EuiLWQ+9KVD$GUn{YB}Q*Cg?LmWG?Lqx+TZ+>V_>hrJq%h6*W_$T+H3BO_ z1XkOWpLHT`P(CbtYr0PED~n84kL-5R-r%7-JEMly8k)Y$O zg}SAWXl=JAykOtJ@hpcO;vgcBI-0^>AMq>L1pwV%{D% ziAI-IWo8<-tU#F%);}rkTUQMRx@~k^0<)*85~~at>nTtIYX6s2jPr3dB_TXZHS-jQ zuD1G6Og0zP^XDgO$hnQqWi_8U5ey|s`RAg5fn#Vq?jqK-?E|ef(#^4r<&k^~mocOJ zZ9X>{gDEW8xFmPI76hzkd1teIE^Z-*wld~$)2Z(|^;FF(nN~*b*jnDTQ%;XtKy=q*D4m_dTOUT|(&>VC0C&_Bw2u#_i|U zZ@g+%_EZFI)2P*CFsw*I6yGa-lDGjUW#x-y!OuE$lePo%Ip&qcW!9%@V2VF?UG#A) zx(XSSD3sdH#Fq5PSeD=J2*Wno4S#%2SnRjX}xcobCI~?xEC2Ohf zqZR%HsRRcOsA?ofM!>oVwFMSBOJ_Rfm5MYe9_%E(MO#|@*hPadqg2oD{=6Mn+cwbD zwmL?eqkQjU)@|)Rk=*sPaE3;Dk+!TauBCMwl_yI4s@KEg$M?mReT-cZmFgQZL3Y88 zG=?6!?#I-_jAb4~X|zwKISogCA}4vCL(ut0RLf%d=Yoq$>-*-6ns7#U5^q8-2thmZ zoIzCbbmvJ{r4^WX&MTRGJ)sw(Lch+GT0tbE{zNu`XC#XS^kXGD z{HBos#q#@ox~#mdTyfZVI^?SH(wWcjEdAlmg2`K3%`!!m&NIg9isN&biL$9=w!KO@ zJ-YfH_jB;DQKPbAMe)fPI3Lq3`wMS>3;+DmvIZBXyZ6RZ053C7| zaOaUjE?vpJq$3+N3|Yaue%)S1Zy0IB)d;oxwx-e1(o@#QU9_e_W94^+w_ey&MmP)o zt5lJQCDfGV#7e3r%iZU=h;vZ$=tB)_Hfvs5$!5;WZ}+TO8uvzaI|SYZ4?j~qo0tve zu&)YXY#-vk2Jl3Ca}w$EP|17VeNC+?FSr*Y!}XgJn=_bO%;E+|=U9*V#=2Z6^AHC3 zV^K$aP*eT&a&*MbBv+KI^H z4D!rtOG_KCbaGKk(oby>c6N&>~B09bb{iZ*v zQqsG^sO7r(Tgo2VA&NKL^ z>zre>AtCN=w5{7&lxAHbi^JS^Wcg|^CePp`8k72%Z;UOvWuf4UWVj#waiJK?!(D7) z@*Ol~ET5}&qR=xO{FeTDaDwpsiW{|PAglBki=)b@vx-VkV zC{l7JJcCr)2*d7n?9q!BPuUu&ioPrC@Mb-`4H-PUGDpcK)XbEi|3SR$6W9gb)A5;@ z1)Gci!0*4HYykp*sf$EMJ^mYj^C93-KcXQgKgPJp+5bhk_u-89AWE0S}~tldV^ z|3=dRhE&RRlBpWyDH5GO-|+n?y*wE_bK+hgK2#O)izxASY<84PE%~5n=wT*sUP%a_l6U$%qqTw*dmewg+o=eZ%KLm*klT|r z@?;FBF++i4lWZD?OelWh{XfqjYWI8zclvm>TW>$wGFB6Ym${Y3@6HcREb|r3C=t}) z_m6;tYHqa6=yq-*yNs<7p(fUD_4N}~B{UYeHQ$0+MwT>pm=VEpl$iVyYHRXlQCydiP zHl6|S!s8`}iNqCv(G9g($^7md)MQ)EOY9&mck67+=hH@P>Jzl9_m_+0wvES9Ok6S8 zo>iz!eFCJR?U(}0-j@xF82KrVP=>t`IhZt=2Mu$>UM2oHfPOIK*qW+YGBl8LzE}vg zJisnnbdKoKy`z3lH>l{o6SY_ez$L2R&3JknkULvk>$yy7?E4IWc8gt3b=femoc=?> z1?)T*jc9$#_AT5=OOZuog7{fjTlne?z&N*~Tmjx9i0{O_bm?k*o(C^`P8Aubq4^09Y_SaG1L2j34Ez&Unyl%t?z+P** z3}@XC_nw>3sOGgOxg;^HXin>N?~}JxAn_^y*O@^8-}VAfP9|y9c4Gw z00;?J@t5no&9sedaLkOcgYF<2TjTQsVA|PFYG}=#;j9Y`er2DWi0OTm%uJj*(tx8t zq_n-26u5qPdh9WDo9nOxc_S@spTk1v5hrpf86NpkD$(_~%XB$_B?EQL6KO+9_{XHo zGwg6%zU1Hj6Yxb{P^ybq4hTX#QO8X}SmFk^JJSo10m7yB-o1IhX1?u5%l*Es(^M`E zfIswV@MzRnl%eZN`uw=$d6drsv%0-4S1M$%L}G?o9_|m#@w%XiAVWm%mHsyAm1unM zibS@1YPS?Gea-eVK+Uu;C=UQDYM_?)F4qpjNBjDqr_l zH_H_qd6VUxS!@SHYbh~l*GImkPfxg6MBqPLv#1re) zXCS##j*hxp2e$MKSu8z>YlttKflbxdw&`56sKxs?$dkjdOLmV27YHw-anm6gkCS5Qw) zj%iK{Rcelv7Ox*E5P>?;g6dj}oX>U3^rcI{a8wf(pU9uLl6#WeC4ig zZ;LTF8TQIP6|3(-B`+Se+lRpSNwmbH&_}*Z17c)vTG>i9*V36yMl?&tTW(@G5}B3`^_GP-0c< zA6dat2w|&ai;BffC7|$^q~v#eJcU)_*yK<@^@2U&G<_((c}s0JO{jE}(qBNf48DE=+8(0Z`d zp3LNmj5L9vV8@Ue!A-%)v`KevNcz>0VK!As&W8#oQ)h=81r}FSF2CN62DM*&_pi`e z0B(=dugPcuoAtn2Ed=coi(qMXL8nSIv*Dghf}eVim4jDjXwcZmYuC0)K1tpvHrA<< zPV8r^I0VDGb0bWR^re5U|8tar{V=K7Ibee7hE#DdV_$2fo0MpJX!(Z0bXYd7$xt9~oMFNN2ia_&x(6wlU)86LG@aI}X*)dwY@106+EF*de^x zo@M0;OEzNd%$rI<+|j!9KlUMf`0vx!l7n@011s;kg6{MpJ=dWiD6cH|+tvgQNoP_a z;sEa}Oec>AfWHbXDr=t0VyWNCO3WHkN5K8SkE_K{f0g;`!#6lJ{+xm*86;3zQj|Q( z3{kEyL^65tpP3z*SIf#PGtM)*nDHsC+pCC%GtaZ(zD{m(*kB7yoQahnlK?$0T8}A0^gK$fpt>Q!ylW}{Bvc! zFcqBaZ*{!QpRp4I zrah25lKC!E-z1<@Y1?U?uJfybmVGFZOeR;vm2~$L>scIAJeY#YG-Y zfH*#bc41qO+yvM3SuT`JGHnPoywUOotGbUIl`fnKl>;Ji%#uOiM-O$>{Z+J?Rdk~C zGMmz|!|bQ^!szbZPb}YeSCm#{*|;Iz`e|x=s=B{7kL5kSJT1DW3?eb%^ryuPomGt5 zRxYvM9&PiylwUQWL6l4#BE13=DHuNOEv@WimE3OV8^8Up1P*@AB5${*{kw#Uou-4t zTM^jRs!bY4AC8m#>YBHjXyVDo7ojb<_=CA!2+%Q&VdIh*G0g}?W7$s@Yu%YBRsAT6 zr)&GhE94FdBB5DBX9Rfy-18hV*IQ|d@ToD6EW0b7u|*_jciMWPOI>Iw;e+}$PS^QL z=29Prr1W7jB}MVnVbf(A!_QEu^4({rS8CpPKS;H5Lp1z?NL_nCatvoZBl$&q=H$(;$Y8RA(R9geobO+nutOXoM z5F~Z4Jxu&qqV7HHwH{sNb1b=nJY<=l#=;z4MO@Q_Osx2Z@PUruj_r+0>X~=U4TJY` zzMgXOWyaWr%;yZqW2Qw?Bva#5o$_ZRaV{h=WT+rVuEo^rfu!+L`_d!Py7v_(iL{zv z9xsLUI7uULp5R*0%3y#@V^KeA1M^<(YWOQOZ$1Uha4={E6%#@i8)QUf)RK zQd%v2lNr>pk1ZY3;j@}Bb6EU>II^$y$o8+LnG=pq;oNDVb-nR#^dXIIZhyej78Dt} z58rVCG?LrM9sO)j$sChcO-?HGr7;vlXi;_mNNWOBAG6%6zC@>rXm?z-lfy=09B{8E zz>E?~Yci|5WRluYT(638c+pXDP3CO*mdG($Bve}Eagv^hmGQdgWFuRK)jg<63dAPM zONs*fxCzLy!{iQlSUR0@j=WwPg7{38aB-MozgRh~0hKjQi6MT4&J#qtrxB5*NV0$| zu>U-~xFh>C2hbq&pN&Td%7F1PhWU(RHgF!Qow9~-z)(y=8oD#bLO-Ikg^)O_oieYn zH+A{qy<(;$9x7xK7VtRjwOV`$0B~Tc0feJH;#-WDzhx{ z81#TqEgpSWVb=W|^aQ+sJN@P6icY8EYt=m^rerEMqCU3oiFjgnX8C)SN6K7*Lt1#y zcsj*5_es+U1}SXBa_xx-u9m)Vx@^41oTKye@~G&vt2}UUDX&(qgud(D&)!2Is8w6Q zl#^7_LdNi#*p25^FsH^=aQ023Ipl0Rl+3~@@QoV&0H`oYf1Y}oAS;M^tnP$L-gC0` zsBQQGv^XQi#+a{-!KW8h$)kGcSOGJ%>urfM6S?%S>v|apiQmWc`6mfZI;hMFZ zDylij>nw}jv1rDNZ>Jy|VTK(NtftwUuSi15 zYnu{@6Yp$4uxY{O-b7q{V4W(n8RP*wE@!Mt%JzT1Z9zw#GKS2Shca6CE)}6+(O<;z z{c+x>cCvL{H46P_Y>q3*SWomw#uZjF6>ENosA+sn^;yypf5T5LvbWi+E0`Jc8n2IT zyt+r^px_ z@^cc|9srEul5~Af92B%8`TfrnI+)s5|0K-z~pZQel&O4>ZrH|wY4)9aa+ zZ%msu0fjBUtD%*$#a>RSS7Y`|DrL67e)Tx&IRDL7wv_|%2&?g<0Nfdzjcsrj8-GR= zd#3yAd-oP3SBS>X!O$}dM}IX5Y1M61l3+4dDeI=>kGu^Iej9Vt(!$1xdq#)R%*F$c zO8tXMd@dGR)&`a|60H+zH>iilSG(o43nEq9`#ftXT0_vg?_CidOY$r~`(*gyB$*FL zP$VLrGBG;&Imk1$GNysjDw?@4AkpFudlrMik)Y70yDVthk#woZ7%Wp(m}+hHgTEYV zq&immxX~4J87r-s*tElEXP@pe2!yh4Ch!kwyI0)gjT6R*jG27EI&FTR-;sC8j)bD$ zi#9H93c<_knI)FK({3GT8!SxJ9>MtnB${+Lk z1TL)yk&WN8A%|Bm%{1BM6;YmA1qQw1?vt1yMTaoB>!qgCp^B(zf{Tjoli}MpQZ-7Z zqg4)p1o`yv8pTBmE2}L$b$HpUdHVeM`BYQq0 zM%ZGhtsK2!M7q^ie*w#%Jd3Qt#l%&`#fwq9K96*X-||SKcbOX|He=L)HApaf^qewL za@pmXe#KA4VDLR(*=$!fRZ&)%=rbMc&J<-I_{iDUXyL-M(>puPp4;nfjjIyVIl;01 zX9F@^3Tl_m9>M_rw#cTJK37#RITA;=H)$+Hx~XVo9o&&muYXMuzE#VXO^dFD zpLP>sv?KkCTOlnZW#vU&7eQV(sauN9Wkvnz`vW1Tvu(iZ)k3du`A5Xwd2Z?E^@~%o zDV6Xo9)+RgH$;ug55lWC)tYVcFcCj?qXGN@+85g{!FEYAP+Lw-ar1l5=l`TZ!Q}z zBU*4`)`HegLEi^TQTVld2G)DJ-VsHexQooNkDLE_p)c!EYO{o$7k%1Oin>vZ1w6wr zkcie085Y8?Dg0*Bg#OJTWIO}heRc>mbPoR^OaCQs%!RdX&ZlPNZ~oJTzmu0R>;iR_ z=@B71g)~3dbzJ=&QOFAJKZ(s>_C`?)DvH!NmZDYTgjYFty0i{*xaR=B!vbjhcqLJ@ z*Z-~d@FCoP6czlrP*Y+ny%Ni~^CIDip>tpM-QCXrG>-0!$md>38U*^NmK*YxTE`#VPP^NW! zqW3g@o2<~!6U*{?lZqlalK~okvu>u)e&@SHsVtee^|q8rYvOH+{8FPm5jyNY@5LDr z;Y0eZT0&+Xu`|MkM)P6j1q@m~E?|R<59D?soa?^-yqgh2L}mIMb>}hgIG}Oc5>P;K z$?kxN9{s2fxMs3=(XXgT%@>QzR2q{@;SmW#n7?`@#PIL&q@eQusGTG6ml^Lbt-=p>O0Kpb0z~>p4;iufh+Jm( z>bQ~!MzoT!M*=u6v5h8L-eh;k5a9bM%pL&m7AI|z#Y)rlM)E~U&20`Oiv{^NLGuyh z2v|x?f&gEo<9Q`6m*jXAdB9ZG7}Z-)4y*OumNP<)R^ZVIw24ITDZZn=owsWt)iiLK zWCx^nUBQ(lEH+EEZmv{#5YjdK=&_+r2j6e!@z_3ij6)khonTsjA~Kd>7N^rTp{8V0 zD`%VAS#?)S#akKhMx{Hucp!N3UBeFPvuw?cGBcuC0u2lXM^|9c#*S zff&T*eaT}QFSShl$so1><>{)ht$d(zWq;LP_9fijJrnS=w5c2cuDUY4d@7BL{*|+? z7G7`26Ng^9>vvUQfa*4_(bK>7cmyHZx0i9OUb)XOSRgL_nzZtdv{#5+}H#u1DzC^7H^ z1=CC3P}s0vHwTXKP7z6@7E!a?V=FggUp!sE11JmhOCbMy^tZ_uwmU*iV1PZxrFRQ( zk>NeMY06s>&_45Tri|k{7T0T=&YBSRAEI*&C>PN4>K#&OrSaI%(JH4&!F>0_;jSjz zLwK@KRt57txyxE$_4^;hJWPUc@)+-L7awXcTLJQ&_y90wy${N21{N}8Qp-q4IgMV# zu_x1!q2;IJ{iA!6NloFkMt_xhVODAU$;|r*2w>i$0ZdthHN&RaVv{HOHT3W&{oSe; zKfl@qUS+($im*U!62>gWHSz56MhQdZZgMQ9hAu{1Q&Mw&#XR;nz(`NanO&^zqn=9I z&QEWyyvy?j!x11rP?%Rn5NvTJa#a@f8oGizx zLShR@6862c@iW}GJNPx>**5<%Fr;)F|!?kxvX{y#4(b+R8u=32KF*Q(4k)M{i zdPHnFU*x_}=NFJnP04GnXQp!2fJz?uJRZig--o_Gj+!(QeStveu-XNARA@%1qd!hO zgA|puZi_D`F zdGL7_+*iwiJ5K=3r#WKI_IX#=J)1p4n5rvSI7KsoODStm#F;xln@p}bI&ma#g#=^Sc^ z!^;h07`ZsPBVci~NB}m#_9!{lL>-odyw>4VYUS4m=t7)E&-)3fwV5%qN1J!P6)_jy zU(B-=11Q+sKrZ&eJF!%kb@OriC=nNx#k9dzlXC-9ZTnVuWNicc>-G4ck{=5oYe0nI z(c-i5yFR$irT$qGJ;skEiFjgz2BJ_a^B`f)z=s(DmPIpgL(Aht!$i0- zpFKGQq~e-w*4>gHX$ob(OrsUrzFCC@^zDDz zPMxSHzL=+i$Qt{)AbN&~W>-q_={a-UQ~{#xjI7Vbx5^QV?cDep15z0Qmcypl&Q*Xf z1;nbaEA6;^c`=nwQA23=`wLXE0sQeI=ltUjp%Ndup(bI37)f946ow+e8wv*8t1Qef z)Ofc|R~j)mU+%zsnr*k9qs1V7wC3uDPBsplua+a!)S2|Zy-QfgVqoc54vIdfYSQ%w zP$VAp*Eo*fYRfA48pjpX7pd!B`RqDidfPodvKm^OT{6&^Q$-&!{-}XnmV`9+VD5jTUU>&K|t{ z%07H+rjqKYlCBnDPahl$Z}Z*C44Mn}`zDV($2-61?sXF`T78N;?VnGUWeAh#mnZxnx@(yeJ>MuI0o#Sw7}Zxt02#e)(#1`aYTGK1Q~NCkMR z`rhoCc~dkQ#JjLlXB-{_dfPL=-Tlcd_MC3On5ZU;2uUg#&5)w%ajC%>T)qqDxO8LOX(BO2s;=0=MUJdv5P%nq{#4Wz@)=mbL1<`iLuyX)iaBmqA^!!0r{ zt^$gC8pAg5FA3gxIYkCU@*WqB=(dOxm@F-KC(D)ntW^VJ@Mf?ZQHKxY^0R6~u^goNx-h{CTEf|O>_T8eKY^gwXeX*J!>`3$ySDNtpCFN&gFFC>)e8 z+^2wF&^`bOpPe>U(gSFkT`=t&J`~O-0+f_;5F8brP3j3yz?Gwm0be`czDmqtG4Z9e z-RJ)HEhcA1k!RM__!9;X3XqDqEs^Dye;eCDBWGAq5;~93!AmS_0J0Y%IUUZMw#8Kt z!V`FShFxx0iglk3ob`H-EeDDC!rR3?(bjP@XT)!!qBhToiSKr_T2LRY@Q;?6{R!jm z1{yi5f+PVjF;N?=P0x{MW<2dca!Y6qm{ZF4D*KbPQx{+Z!nb=h3O^KKHo1-Bwj70? zj@E6%!C}@N!`MIgAhVx~#+HGT>M5k|y~oi6 zgtFuWM)p+ts{S>U>K6gd^#t?H4lAroCq{tF2>vzttZZn?59$$C#49rXv^&82Q$zFP zx2xVQri%VAeuPih0gsy{y7<~YkV_84oGDIHN8-%R(Jp?iEGPV`Q*>SYo zUL^*9bwCo33H5KrQsg$fL6a50cg011Oo>K35lz`W*JHKXimQe`OgZC6a}sD8m&CWJ z*(1&c`OlHM2FwB`duHQ2uZo{R@z=u(;{CcyuIJoIEQ&p!+J1&}4@g@aD#kcp^Y(Xd z11kjT&%8T;vqobml{#~Xzd6GL!=S zvWhOEni_0hEdv(~qgl*vR{(-R^3BieG?t>@O}4Iln;*P!0)WAA|7N`!EwlZuM_oj( zBeO#;c*~8_08aYdSE^RG3t(58Lr|@(JsXqLQ#?1o9JBVS31mlzu>oZP{|MmXDh0Rc z$$lQiZs#Uu2`GfnbH$3b<1CM5z}VnA1ME#U**>TcJ%&L0{UseX3DMYBs85_GD~cC^ zfB%r$#WSZgJ=jK3|LEUb=Cek@JlA>=R14Fbp^XkaPD~G1TP{a_cw`R5;b=*D0YDT8 zIN0dRsnTV8OLm@y08@`e5{{Yx69NI!w)x>W^QlAu1Z;R`jx%o8m3d&ZM8_Gb$^5;o zF0>z`rdT1K^js5^_iW)~3t+nI<#XNBu6nmy*HQ{6W7bW{3M8MJeD`PLHeZk)6j|Wz zA+hpNitiv{uW_B!1pXF=@b%m}npCIIDv-_8nkV znr&*^%X|V$NOPS~kw)S%v<$LJ%xWGHLxV8nC1jC$STcqI?k0YH=TS-HPCPB{8^!-a z(^)x3hUpd$do z^S|6I5Nw_t)Ew`g5Y48lXFh&BVQan~3Hry$qPMNTt11|bH~t&XZm@*$3#jR6dM@JL zXWYNLGRe*KxgU+CA`u2Ij=ZxHmmaaI*ZbGJkMFqxcbm~DGp{vf;N~L~%;4?6{g*4d z?CkLm1=u>w;#3))y5N7`pa01I<%hu1oS_Q%!t%S_jer7oSsJXO&e(Vv1eT(OiB%MH?3w?~H;P;Oa|2&p*e8F>@c2K&JOK@a zv{?!3K=X)1CKb<+H6yA2z@5MC@@1j6Hk??rB;N_Px z*+U<%0h~-+;?K_}C?I~dg?81v!{3@|X(G-5>e1;{-*s5on%8ErRKWr4QZx{`MkR^s>50f&1>J%qg#x zk(Y>Qu8kicEHTtooDR1do}z)$=ZVW-ppjSXQtE#M9vz`)4)1vh0I|)|< z_=XOBM*FNEYeP2lcZ{N`q@x}JKvkkCCxgQq0ot8o7N3^{o}J)|cVPeCnxrOoh#7i5 z92vFyJ^Q^&>L&i3G6DIa1OV}@=_lediUmIw!m>dOcL4WVYfV^i^t#^n|6#d!hR^JP z0*@CEBfN(CGrfuUo}4v|(yvLK-JMtFvs7di-Znf5`lkPTqZ^noy+;3#2ORbBGG|1V zReGhpT>ymBZN1a*SS^yG841qL5(3j_jO^cUJ2`4@&u8*B@iH`i?1MmXSjDLa&Qj`9BGvVy$tViAlU3f7@_PH&L8?*!$5<5Xp(Ki%Z2lZ;pt3-x~ z>pNFk=%}=*+3}{{54C2$^rMc5(eWyJf!}rO zC4f#e$}bmd83s1@Du4NAu*;u<+H{Hila#mqqI&=5$PI9$KmT5|D9Ytdd;b+%Kp@%% zV4+U=&-ByVCJxJ0Q2MyF9@J*rzGspf$@*m_UeTs;`@dWj3Ur7x_e2Kq1VRCuv|MM% zU6eNXO-Rr>vsb4f;LLsU3S^snc{Tko0mqXMgz{5f3R9v=T0^g6a-=4f(g2inp;4Yi zPu*iGd`{gOhbDSug6kyrc@cY`dU92w1bg`${*r{?L~#Tm=d=0%xDl=4*%X2fjHP)f zFdQ3lr;T9Fe;TiA|B*6$`-do8m2a373UnK)6oefHG><6XV2(bH&rwni{32NV1HOe* zjRBA4Z3C@8aFxb>tjWKXIpa1<5Q3y6OaYfDq%-

EtTc@umj}~_oMMgw^YBtQ0RYXne*5mLOoXNVUJaYn1rPB zA50;`zZs&b+W;8%61Y(Z@+tK^(!4x@cav*Z6J78e&53HPoSp=UX-&9GW>IZ)ac{pZ zH)%J2j?|G4kA4_-M~uyTg&y$Vi*Fydg}m8@?tderQHh6TeusZCCq4*x)3SQIi2@^E z%Oi#Yv34!9*N);pAoPGF(kY{s!CPq3zRrtIjrhvte#IKi(<^^3x59eLFLr;Is4i6_ z7|+X|)JxTyVjz|4cc0R#)kE6Gsh-)3bPIc($`+UWyUY!BGd-eoypxF17}WmfXDlJB z5)s8_roBL6<}qIn%%Uk0aY&ZB|9=*MeZWu$z=f)UtO|wvs1d0UdN~o`h!e+{%KPuv zr%lr5;dADG7m(~^73lmY%xTZ}kYM83$G6|3L#hu3EXberzy<%NGw5AL3jZV#t8AgN z!hzxJmFe+nQ2$ELFCp;}1Hs$?Th@#&;l@18;HJ}Lg7f1mKhG?`T$I^IYHscX#yNv$ zSI$D({164Y@PmvBe#(#9nD}XT6{T71m->=*w>W(k+@RNiwUCRL`vq|HDA^WUAR_xW zn@ggFmNBvr-bp@eU4EKwv?W;0Mxo&;EmL1<_=Ke zBfOVW0ymRi9A5`|X93-6$^VgaT??77&i1)H@ru6zujE~zjKu-2in7#8d%n9~zzrmv z&wAw9!X{8LRnO}hCS(!>VR?sHK8gJKN(`MYA?O4zmibWa3z)$JfIUV4+`?)K=Q@0yW1a05(S^D%xEqyzfJ*TC zX@L%5@R1W`Nm-wgxayzlBLXaM0J$PNjUZ+NJLL6Q^gT-O_(PV$y=Y(;9E>*FeX8uT5{M=vOL!@!&15f6qHqVVyRj zw5Xpo78}t2XU}X*I&SofJbjoOvl?pr&l~mHA&twN(lTG<4(o=yV@*q%i%MOzLgs;4 z2`W|oo$M3$d*Blg0v81H*4#?hcMud%puRvoBG(x}X{*+eYVoDkCzI4F-rLNnVff@V zS5O_$rK$%cS&9X#19@-rkKa58A3MLR0gYpctvR|EL#g>?>Rp!-M)Px!F!hYu9f$|^SF$y?L+R3+y>5FI&Q$C2$Bj(#NJ~(i|Igeo-mmmoIaA* z0C#F*X<|Bb+g=(K#mD!S0^)w0QUN;>F}47om}pl#}+=&o8XP ze>UP~MZo*1| z&w-Vk-CTq)+&8O*9KZSe`v?8q?(iA#!w`{ztvAT(0IjEQoPGcwUOk-WE^jSDau;nO zDIKQgJza)-rW=rFJq$$w7R5+xr&cmhm_^ zQhA+|l<1#A9G};vv__imnqGf11tgM|)i*U-=B{x_s>DY`L`L@66&J*@;VX-q%?k2p zWABZimXUClp1u*{7a$u8@8^#E1^WB;ZeQt3R>}oekSQ8_3dYI_9M0a#Re#FmmXV51 zZq3>G~DP zeHU}##+&6^@X5M`&=X!AAHTk?{dUU!@=0@k&@pfZ>&Fbr%Ri1CTFJR+zG=(sCP*%D zKPao@v3AT#-k8Rze=^N`{%?s;lr6H-LyKwebIN#Q?_I9{%&^SkXF%EC*mV}$?Ws>xnZ10ui5QBk= zxbcucUXo6<53M?f-$$d+O*KhThSVHw^$S@$n^7M1| z9M*%)!gWh_fwVjJ zHrIL)Ujz9aBAq~x!s@`IUbGH$+uu!cwVC2uziF;s@d8GO#?7oI?WA&~#x2&8dP{XZ zzu(2s5U%oJ#J18ygw)@cLsUA#hQktsS|kU;eXf8hST%&Bh3XlMkk?L;Kt%V*3eDa!y?F9xKT83S-k`yKtFxfmrGDC>@r*PpYTvfF;|= z6{x19YwISFuCk+q=3R^dZc9a8gZLs#$f*eGV}+`Yu*=#52bMnKOx~Sg7`VmkB7L$(QA z6wR$|UJ+PO(~Q5xAc}aQX2*%`ej6eUM)4JUEY{CGiK7*5Y#pI?TpjHJZhj_bAcUTJ zw3whAFjEmc;V!mTYNqu4#I6q-$DHDeO0Rm9fFh-A%Ys?R_ zcW&?|@(6K!nxj2e#CXD2Mgo}EarK-Gsz)cQ@&O}8O70q-(`T;$&!)T*47~POyNJ#N?{>22=LopB4pj07V9|#%HY}cAn*!Ur}g?< zl?&oj(}aDi5k7KE*a8e3`C?Ss2O=rT#yqs%m1pbhCCZDYzP><6sNAJ^X7RSHoy)Hc zT`v`JPgT&^PM0pedRojE7wDm=7_kkQP*d6M(L7>i$KXO!4)sm-#ZL=eyBA}O36yG^ z;DOqG0|F{ii{hQ3vTuoj4|JojH%5l*+#xOUxJbcrmyr>0*l>#L?ZDIY31#sxcWFSf zrunDK61A9BEy=)LjB3^cLm8zgEd1PFXP*Y42?@GNF9MpO3PO`#%kpC zFl3^|B;lqH%s)iwUUUK<78iEGIYA2-BMYSuuszb6gg5iRY#zEBBvQ+7P~aj|CJ zPKbq;7$8G%x>vd$duwDk=#5er!nNfWn|F!}_2&=jv|GsttDJM19Q=;`6dOpkJT!-7 z$(|mUkQ0X`r+cguKTzLkVyKxO;4=%JQXb_V<2auzFqq+QXgBOG0OOd=0z4I|TDN!` zt{Ll}$TC-IUOn@331EIKAm-YKO~EcXTuj0gfzA_XcC%&=YT7vx?Jk=(5ywz=!sz1W4rM8}6Y6)|MQVHho2v>&1oa^DSWnyn+>S-)4#_{N7{Z8T=pw$- zAznl<$X}x^yXW-yo{$V=47|cEI#H~pWWg#USQ5lXZUaNf?+GnZwPb@;F)DEimA*9rwtEQpoe%Ulvo0 zfFFj1oXFL)sHeaBJ~3G5D@E}Z70vsi(D3#DfM{W2z_1U6pT`Ki(G`iZPv7@N{mu5H?kQRSa9fQ_1Fn9 z1utkAKsmY{Y+EtPIhEr;YLVT(8;}Ud8%}jwEzN3GCp7!&@;Hh>vGLSfiqy)cO)NUevG(= z`!SWM(Tp~75ItYwc@jf+5-=D9rW3tbnmp&4Uj?=d-}VO*Q^+kYEq@6s6g=0?oizz7T0NVE!bsb zGa)?0sa*2c>N2WXUG>K+M4_uqX`E({q5^bNWRH|Wbkzf$LY!K^E(G)bGXwja(MDX3 zd#D0Jc<64Kf%^8X;Lp|8nIUL8_-pbl2NzOV{U9N%!)d3W6^*);DE>Lapo#~~lsv2P zDQ^65Iau;T9jd_h>N)M%3%U^3{T=@T1y+k4qSRAv@o%4{VCPcv3=WH~oO#3Z4@2t7 zP-dgunnsyFN;L7-Bm`br3}*AjeNXNeeVrnXfbIja6j#pan5xFYXQzfXrwvKskH9Ny zl61<4C%B!IUup-8KY$~aiqG-YnrD5;5GYx>{sFJj*cv7UHe;X%&J~+0u=<>Mw9-?5 zMx_CQw$EtQ;(4N&K$!3U)y+?}p==9MSXLBsIn9}q`hyjjl*&=Hr-jn2-_uNSKD+`b zmhq#t#S{|LYqU2Bd-Z6v%3`@O;Hh`BtiQ&l6r!y+m{G6FaEww@?>nMD`VdNzJ&6`k z2MJfLAIHvR7Frc7l=1C0cRT#84}S(RlkmKXvUQ2VOf`0`p3}J20uYm&t%qtpk38 zGsi_t8qdaGh1?+UZ%f;BI+|6oNEAOnLYbJyO!QJG6@A1B{NFE1>REZ9R?cc#U7pUj zkO4)>*%>ZKd=33&ybliKg~DIX167YDlJzVey{__Jnq=t9&p*Bc}f{7fY| zzV-B2UsR!tLw!^4b(PnY4D=|d!eZxtSX<^^UF*|vj zx$ts4IAKG|MnZ4REkTZ&XH|-_R!$JMhQfv!G`t-lkL8UTQ_%_wGDT8LS^z?1z1&^>E0>j_xi_=N4m57gcj`~5iZ@$t8R z=7Vz9!W@QqmX_;aDprJGUO%7hWXVyNR2ED7AdkVvsR`e>xYRxK9v#Eldz`pKA8+ai6hlR2!j7Uz z$eklOOD%7kEF)YISDK8mt3ZQ}%s2;RXU>W|CL#|5(Kn7+O>6r6=4~G#+Yq)Hd#L`I z9c@dl0;W9Ldm%~w6tLULLm<>;_r#dEBB?J>nu%r61;jTy8W{NrIyXCI{_aA}6m1Y3 zw;STUYC@wGpYg;xcG^ZZ$#HCpJ2$nz*=joN6!S6pwR7hWuI%E5s>t6Mmy7umxU$1| zZ&0#G+LpCTC|#b~IJ6HyB6 z;=B7S2olMF>7_b0>EUS$h^+4{=}f!f*O~qTo#4rp4+B}e)#t3g+S@zc2>+dzK!Q#= zm%T*Cr!ZX$QfsQUqOyZgI3!H1{Lc0}3WHBg1%u$T zC>mbGSCi;kRN~0^c3E_@xxVp};}XT=1QQ-R(DNHGdt*^NUI6P|mPn}wm6!EN2tn58 z!1+``%`rhU1_V@HbkKtJ*svFx_^rsxtQ2k5@IiXbaElyzY=`vfcqU zZt(oh{x*_+Gb5xTTJa$T!zlcGa&k_l4@(w7_L1@N|Dc6li<%e4o$MbnL;p@T^6IHzPujjvP;?Nu* zRCb0i!y34`{!?;^7SrL({5KuxthK==<)L1}F_)<&Uhca5VmKG}lh}w!gr47nP2-lW z4#zP?8Y#H9Ggv-G?Uu#3_{ykih%}{LRz)Q9@}5b+y^=NX<~8Td+O zf*6XlMN@nDs#2#!o|<$a*-#qiNEl=(4palR($aL7xJ1N@}j^`s+ij~HiO!USw6}p1c&sG0U{Q!>y3TP$MOZUzT3iQQX*7O)<%CdSgs42>)Vnsg~%hC(8Zh`;`IRjp=1EV|)Ngx9c{^ z>C3By$PXb+&bL+!!V6a~83-spTZ6Qa=Zi3Vt=$=df6$n!@+Fh@R(mFw>Sv9MW2>cX z?5ZRD`tsxk2IFN{9;woP&1Nr5@X1Bz8|&I^;wJJE*#jH+#tH1KEL=rV{O^!#@13*| z-D_k#)4i>EZ@qSDIpWqo_Wm(bN#|-udN5h%1_ml8IBK-n>pnCK*;m6)U*f+#r6!Ie(d%&RbdN8M4pH^Iw?q`GZexX4R`q!CU)r`j&PUQp7RiZXS^$yfd$Lb!4Z zR(=j8{3v<=)Iq%o%B6`M_+~JX%jWC6wN@e)za1K~%T9?Ren+=k>&ZU;2d%Z)b*B0H zL;oCeLuv(&1u~}e7yFq{4+~;GOgEj66an|Q(UPs0C8{Ju2hy4M$ z=kQvGs!{N<}(4W&CSQ5(7oG4}D|j5vn0 ztK39chEz7U6WTJg;VU+LJC)vN$6tbKr`R-LQkTtRO6}h*tcQUlo_p+-qD=R%3lx=j26N+-J!aPon=YiWt3RhHQX(#cS$V9yl>!51d)qF5k;FN zaEjro!n*$nkzRYezl$Rw$4UtQ!hXi`{T4oQ&hP-9O@t>9Y$6Dmn? zS_=D#HzJR#8o^AjW3?uqaU9i*Fx*f|=){+96}Mv|l3q8Zy(YV+bsQ5!&kM9zicnQ3 z@Mk`4^ij?@_@P!Bp_;+lPrhk|jmcO&Rf4~Ke8lYzePa*U*7%7m!u&EWsHSgT8*7_> zoa0?jPb}8GQDeuUSO_(N_Ql%nlD zywkK1ZkHq0F*Wo0q!5z{5`V03VU1WCwC)ghVMewHw z$~|n3?6S6C-L!l|2h7|Ui~*FO&y~ZExMRVVqOA;vuODJ$U0NFgpRKB=?$@JNm(rfd z5=NU_-A4*cd1!|EBxu3flBcYO?O=lu$*g-s+T;;i?|$Oh?9vjDa`1^?t3~`7f-2yq z4;wWu>coXf#?WwlqVBdQ@ZX8(qMad;W>V3(+k0~}Ht>dcY-GF~qTXycT^Lg}avF_6 z&sl$q1eK|*>MeVr!jr#Bu-6Kq-0hmjhzM~-FTmu~KQPLy-Cc?A2CQP3v15qILkur6 zFwmq4q>z2NhEUQd$6}H5I5MLI0^Kk09j`x;wRE3*F zJo-ak=VWDT!GvklIa?+^JXL|TovngM3DrRz+wi@zU9;~g21ZMs8S+{BMy59(pFKxM zUrKjdhs6C3I*THSxvpW9w(U+mFx$@HoDgfS)q}}1*N~IVbDzFgejiXdc)f-4#$-8h z+@fND4&%683mVIWYLqNhfnMFVp z2co~0<5*aXCfK-Haz`)<5U>G_=q4nqf2}V4guUrso?qW;qiJe*Jr|?XY+`V`k)P$8 zOGrmzd^@sHdEc{PZ-Kx}&JvAdT_`&pc1^pRr?#S4eOOtWR7?di;}`T* zv*rA4H_U?A>xmTBNLC+IDy!c=o>*X2R%pJi^?vZFrCLSc?jj0ajTAxVlB?E-e21OGB;R=ZVQVw5t8|we#BV1|6NM zMn93>zGBpIrxczNN6em+$EakWzoE8OzZx6r`Jp;($r>9Lh1c77@M6#yuVPm&fmZbZ z`kQFb-^qH|iZ)zGG&5F^1!#S>QY<0m!|^hO8v(VCnqc1|gRhG;RgK1nljfb(F3HBb z#6bM*)B}|Vq=v+=%mWY6ExN&$hWSU$I z)+EsJPCNhAXuZ(jWLF?!l$5aN>!`Sy_?$1u{Nl$Nh{3U9C(rAy? z^K}^NP4`R+#z`Qroe$c!1uZt7$fj$^*AGhu#yK@Ng}0|uW)=&&rsD~ls6F~X$sfwO zvSz_CI4Nq<&?YRe6>6b(DO_T<>=40slxh=$63Be`MUI9zKBL6HSc|4w9ycY%xcrGs z!eoge4cGyuT6EaGCs{(CDb4Vy5}aLtpGYJwe@le1_~iAv+to``F|tZ3dUc)HzC+~X zZ`Bx9g0q&o)n8Y(H)8!vuVBgCW$>Z`-nw{Mf8b7?@dEWz|6-rGrfrRYf>kApq}sLi z4m{QWeKd#XKvE+)AwpX%;)$&a4n^Fv56jW})0ZLSw)mqGUMYj@W?A&9!i^}jS0HYD zgU$-jC4FK-d}M3kTRT*Eqfv^&1?*ZVm4um!IqfE=2Xl+@5|x#h%s=>NG*QG=nQWuz z>S$>$sy~>lcI_&*z273MRPh*`2u$F+m$D7&&cgjykD1(^M1A=vF319Vf6)i454I@g zz3SaMY!9?%=UH-gqYkRkgO(92f8brA2weVJuY&bMB4aU*@0o&W&WVrj(QtlG16XKA z4384R`$@6Yy#D70((zDjDW@X0%2*g}LsM%j=jLC!;JlXw?g_*s#pK(J+qn}q8t|5A zeg4+yz=<|n^6MUb(~8fhoeFk(T_sT{CXDDqLDjoOJ!r*S9_jf$S#CAlFbWmkcyOpv z;nyalo7x@%NTuUKUSy0gR4bZas4UKGQy@|& z2K=ei^3okrxuZP=+{rJ96Z|rR(|E^+^qL{Z2%M&)=!MBYQGr|e_F;&7n`0t>_Tu}A z+Stl=M>_N_9 z&P2i~I+dptt}y2brTHpt5D0U`_2F5}u?^{b8{)n5PSLy>s!@XP)nxET&Kw(+H=CAh zB;T}L^X-V|+Mf6ut-;a^1V$R{y!F&pR=Td`@&JC?zZ}nhZjSdF`m%%czPT?kLXb0` zC5(+=7Pw@e80|iO1qKNbN0G@R8s4rJ-xqFe1uFuTHGHmZbR>qA4krH~{76f0B|G%V z3>wKVI8e#4I6C)B7SM|P{~-Bg3|(Uy7d{`Zx;i1)VTV7n2<}f0{_A0r@=mPp5hCjYFH2l&f24sjPwdho7O6pU*p@aC<;fVe~iX8 zQ^w65SO9xx`597gE#BmgsNE4<{SmYn2tB6%NjjJy>wrv)XK+DKYp#lJ#+emo{89p+ zap~C&Gah7*9!-mEPx)T|_#kQY16$rab(=KA$L+aehO6d-PfP{!Ps=}|0#1pI`d zBqrdj=lm7wWthVq;;xwCkRpt$Lv>tI$Pf$T6w6H)g4}2H^lv(O32SvmTX+p4>ztJ` z^9GSC{41QZjkmcw8uTfIC>lcErn^d~24#CkfB+HXYpB2E&Lkgr{uDMz8og=02=5?ft}l02oGN>p}BfTCN@)iPz@wALugzr%4lhfLzGmq8w<645sP0Ilzg$%qgJ9-Zg2FCOFbbnkm1Q-p6%Rog^vo5cujC-FTwLuH!`c862n|9p%a zDt{Nc=!yZUEqvn0XE~v zZ71JO;EIo&bGd@4BUpp^ltnQs-TLUb>1$l*XqG`TUuML9gx2{TaF}^%YOO!LoA|T= z$cW30edPJoAJ9zv4W2T;?=m?Nv$1cZ`RWOJMOW{ZcDIIGMO~+FLaNjQ%h0NhM0+cyk(F;;Po^olh zH+gWc@uxm*kdLQ@6~AUZn{KV>GT0JL^YHSrGLRscbr%7W1lAlB2%fhT)ec%atcuN> z`CSY{0c(M89&Gq@r7}IiT?n{3H2r6}JGd^OX=bs_LaC!w#55l?2k&%@eS%M-URLI= zA^W(+DLW|ua2K=Ol}0n3$KDKS+|2zjH<&+)mXVUa>1aT$#Qna5?0UCp>6;}5pfKX9w_uBsiRh!x9lt}N&1n+#0+#nC$((`QU529+> zykctiLlM4WtxLmxvOCk_d;W`=d!xFHVq!4r^LM~qzNE^1TQR%{e7n0a(|yYdL|~Tj z-p35+{4VlXJin4U;P~fr?@j18$-1seJUCxCj5tP_j$n%QELs4(tXC&jbG4bnh?05j zIgiRy^P&TKvAly7R&F=3d8G&Sl$xzC<;GiYYRW$%Rpeir^DZ|7X~FATERt7Y6y~e{ zO;WdQ_1p?dBKm{rwt-CSQ$`ni=nrRl)P=*o!&SM=qJPY#$DKX9+4-b^8dEV2KzomWH8Ta~>qdE2le1}R2d~Kc@FnvC;DCjdYX_%15yDQtp zpMHpz`%7*c@MBdIy@4?B>1cc|_yqMhuXwK0uDWS1K}=Y}d#W%E#)v651>#jeb7By3 zn=rMfuX(}l2Jc;*w5 ze?uX6KSB@bz~9XhL4uHn>ECQ|uYU7y-7*TeU8%rQL1x3*RmeAlUO$fpA~6|3v7gV? z`?BenD2FX=N>03jnzP-;CVdxp;)?5+5`6E{hl$ms@+M@r@(+EWp~pfn6RRBNDj)k`eB)r!wNABaQl%Z{bP>;dP!m;w}oc9A-g>5JV@M_x( zCVBpKhj8g;z*TB+gq1i}@k)1m+0U5#BVWP|p!f6B|9Wv>M~cSw$s4`LJ4H!I>h8S% zVRP|JaT~m>lkx$1IcPQdR-^UG`eeKwybyw+zsovTX|ZN+MgVB#9-EV5Gk<|t>Q%Mf zaQ%2lK*gTqyOkGrG4#VpLfDklM>~z+RMGR2{wo@C6{K9Ff;^>gAa9@}a~K0R6+#M6OK4mKcqh49tu z8dd_^5Ow-5&)hWr=2DyPC{eZ-l*78i&lML#!)MqJh({fsp_Kb|Xltv{prMh1iMY(T zK4Kb>gH)|2`$6%7`xzslVRQk0lVgKqqKo(J32gYbKp46So%zLAp=l7E$ktOv3tISy zB7E&8gaIRy@5wp-B>~&}lF=_uDE3wEIHuLRt*ZO_43~dhrEgk}Ve!kqxcaPb{a6g_ zu)ciE(ls)PmO`J$M^u@=1}y2{w#_3=s~?y%v1t`-X+8= z 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�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 WLm9di6k$pL{%NWqR7 Date: Tue, 17 Dec 2024 18:12:59 +0000 Subject: [PATCH 33/39] you can explore files in dot dev and just in github tbh --- common-content/en/module/induction/viewing-files/index.md | 2 +- common-content/en/module/induction/working-locally/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common-content/en/module/induction/viewing-files/index.md b/common-content/en/module/induction/viewing-files/index.md index 45b60139f..d59a1a435 100644 --- a/common-content/en/module/induction/viewing-files/index.md +++ b/common-content/en/module/induction/viewing-files/index.md @@ -30,4 +30,4 @@ VSCode is an application that enables developers to view and edit files on their {{}} > [!NOTE] -> If you're working on a library computer, use dot dev to open the repo in your browser, and navigate the files and folder there. You cannot open a terminal in the library, so come to class to try this out. +> If you're working on a library computer, use dot dev to open the repo in your browser, and navigate the files and folder there. You cannot open a terminal in the library, so come to class to try this part out. diff --git a/common-content/en/module/induction/working-locally/index.md b/common-content/en/module/induction/working-locally/index.md index d8aaac7b6..fa7e9d742 100644 --- a/common-content/en/module/induction/working-locally/index.md +++ b/common-content/en/module/induction/working-locally/index.md @@ -21,7 +21,7 @@ Here is a diagram representing how the repositories interact after forking and c Sketch this diagram in your notebook. When you inevitably get mixed lost about where your changes are, you can refer back to this diagram to help you understand what's happening. > [!NOTE] -> If you're working on a library computer, just fork the repo to your own GitHub account. You can't clone a repo on a library computer, so come to class to try cloning out. +> If you're working on a library computer, just fork the repo to your own GitHub account. You can't clone a repo on a library computer, so come to class to try cloning out. You can explore the files using dot dev in the same way as you would in Visual Studio Code. We can also use Git on our local machine to perform similar tasks as we do on GitHub. So we need to address the following question: From 24c947ba22a4a723d6013036c53aee4ff38743ed Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 18:33:38 +0000 Subject: [PATCH 34/39] Update common-content/en/module/onboarding/do-the-prep/index.md Co-authored-by: Daniel Wagner-Hall --- common-content/en/module/onboarding/do-the-prep/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/onboarding/do-the-prep/index.md b/common-content/en/module/onboarding/do-the-prep/index.md index 411afad96..a17f88dc4 100644 --- a/common-content/en/module/onboarding/do-the-prep/index.md +++ b/common-content/en/module/onboarding/do-the-prep/index.md @@ -19,4 +19,4 @@ If you have worked through the Welcome prep, move on to [Onboarding Sprint 1 Pre question="Where do you start with a new module?" answers="Just randomly pick something from the backlog | Do nothing and wait to be told in class | I should start with the prep" feedback="No, the prep will show you HOW to complete the backlog, so do it first | Nope, you're being told right now | Yes, you should always start with the prep" - correct="1" >}} + correct="2" >}} From a25e23c0dc66cfd0c463d1d2525cc6f71c3e85de Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Tue, 17 Dec 2024 20:02:08 +0000 Subject: [PATCH 35/39] Soften requirements to apply to be a trainee (#1251) We do not require that everyone participating in ITP is eligible to enroll as a trainee. But we do require that to have completed the Onboarding module you must have applied. Frame success as _applying_ to enroll as a trainee, rather than framing success as contingent on being positively enrolled as a trainee. We want everyone to apply. It's ok if not everyone is eligible. But we're trying to anchor people to a path of applying. --- common-content/en/module/onboarding/goals/index.md | 4 +++- org-cyf-itp/content/onboarding/success/index.md | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/common-content/en/module/onboarding/goals/index.md b/common-content/en/module/onboarding/goals/index.md index 002219572..cac396d32 100644 --- a/common-content/en/module/onboarding/goals/index.md +++ b/common-content/en/module/onboarding/goals/index.md @@ -16,7 +16,9 @@ objectives = [ You have joined us as a Learner. Your overall goal for this module is to understand how to succeed at the ITP course. -To demonstrate you know how to succeed at the course, you should enroll as a Trainee within the next three weeks. To do this, you will need to do show up every week, learn, get work done, and get your work reviewed. +To demonstrate you know how to succeed at the course, you should apply to enroll as a Trainee within the next three weeks. To do this, you will need to do show up every week, learn, get work done, and get your work reviewed. + +If eligible, you should enroll as a Trainee within the next three weeks. > ๐ŸŽฏ Complete onboarding and enroll as a Trainee diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md index 78fbc136f..fd4c84b4d 100644 --- a/org-cyf-itp/content/onboarding/success/index.md +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -10,7 +10,7 @@ weight = 11 2="Link to your PR for [Form Controls](https://github.com/CodeYourFuture/Module-User-Focused-Data/issues/88)" +++ -> ๐ŸŽฏ Complete onboarding and [enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA) +> ๐ŸŽฏ Complete onboarding and [apply to enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA) ### ๐ŸŽฏ You've achieved your learning objectives if you can: @@ -34,5 +34,6 @@ weight = 11 1. Make a new issue on your own Coursework Planner. 1. Link to the two Pull Requests on your issue. You don't have to wait for your PRs to be reviewed, but you must have made them. 1. Submit the issue link to step 1 of ITP on [CYF Course Portal](https://application-process.codeyourfuture.io/) -1. [Enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA) -1. Here are those PRs again: +1. [Apply to enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA). + +Here are those PRs again: From d5534da0d5e8413633bb73973ce67d67f46e33a7 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 23:36:05 +0000 Subject: [PATCH 36/39] Update common-content/en/module/induction/accounts/index.md Co-authored-by: Daniel Wagner-Hall --- common-content/en/module/induction/accounts/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-content/en/module/induction/accounts/index.md b/common-content/en/module/induction/accounts/index.md index 29698028a..c319e3485 100644 --- a/common-content/en/module/induction/accounts/index.md +++ b/common-content/en/module/induction/accounts/index.md @@ -65,7 +65,7 @@ Your cohort is your first network, and this is one of the most valuable things y ### Slack -[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now. If you are working on a library computer, log in to the web version instead. +[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now. If you are not using your own computer, log in to the web version instead. - [ ] I have downloaded the [Slack](https://slack.com/intl/en-gb) app on my computer and phone. - [ ] I have logged in to the {{}} workspace. From 7cc4e178e5a8c6e8c7a3fa433761d54b316f5a31 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 23:55:26 +0000 Subject: [PATCH 37/39] tweak descs --- org-cyf-itp/content/onboarding/sprints/1/_index.md | 4 +--- org-cyf-itp/content/user-data/_index.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/org-cyf-itp/content/onboarding/sprints/1/_index.md b/org-cyf-itp/content/onboarding/sprints/1/_index.md index d35040a80..ffc1960dd 100644 --- a/org-cyf-itp/content/onboarding/sprints/1/_index.md +++ b/org-cyf-itp/content/onboarding/sprints/1/_index.md @@ -1,11 +1,9 @@ +++ title = 'Sprint 1' -description = 'The plan for the week' +description = 'What to do, in order, to complete Sprint 1' layout = 'sprint' emoji= 'โฑ๏ธ' menu_level = ['module'] weight = 2 theme = 'Version control' +++ - - diff --git a/org-cyf-itp/content/user-data/_index.md b/org-cyf-itp/content/user-data/_index.md index 19cb3dfec..482d9e919 100644 --- a/org-cyf-itp/content/user-data/_index.md +++ b/org-cyf-itp/content/user-data/_index.md @@ -1,6 +1,6 @@ +++ title = '[ARCHIVED 2024] User focused data' -description = 'User focused data: Build up robust interfaces by structuring data and interactions; analyse and interrogate code with tools; decompose interfaces into components; recognise patterns' +description = 'This module has been archived and replaced by the Onboarding module.' layout = 'module' emoji= '๐Ÿ“‡' [build] From 24d4e2c7f2be576d1b4ad9ca0bcf7782f9785d13 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Wed, 18 Dec 2024 11:07:20 +0000 Subject: [PATCH 38/39] Edits to onboarding module (#1253) --- common-content/en/blocks/house-rules/index.md | 2 +- common-content/en/blocks/wrap/index.md | 2 +- .../en/module/fundamentals/next-steps/index.md | 4 ++-- .../induction/checkout-a-commit/index.md | 2 +- .../en/module/induction/next-steps/index.md | 6 +++--- .../induction/previous-versions/index.md | 2 +- .../en/module/onboarding/blockers/index.md | 2 ++ .../en/module/onboarding/expectations/index.md | 2 +- .../onboarding/sprints/2/day-plan/index.md | 10 +++++----- .../onboarding/sprints/3/day-plan/index.md | 18 +++++++++--------- .../content/onboarding/success/index.md | 3 ++- 11 files changed, 28 insertions(+), 25 deletions(-) diff --git a/common-content/en/blocks/house-rules/index.md b/common-content/en/blocks/house-rules/index.md index 9ef515312..43d2be13f 100644 --- a/common-content/en/blocks/house-rules/index.md +++ b/common-content/en/blocks/house-rules/index.md @@ -28,7 +28,7 @@ We teach you how to look things up. Try to use Google to answer your own questio #### Use the computer yourself -Don't let volunteers or peers type for you. Ask for help, but do the work on your own. +Don't let volunteers or peers type for you. Ask for help, but do the work yourself. #### Help each other out diff --git a/common-content/en/blocks/wrap/index.md b/common-content/en/blocks/wrap/index.md index e47c130e3..40066a247 100644 --- a/common-content/en/blocks/wrap/index.md +++ b/common-content/en/blocks/wrap/index.md @@ -12,7 +12,7 @@ You are done for the day. Take a moment to reflect on what you have learned and Stand in a circle and share: - ๐Ÿ“› your name -- ๐Ÿ’ช๐Ÿฝ one thing you built today +- ๐Ÿ’ช๐Ÿฝ one thing you achieved today - ๐Ÿ‘ท๐Ÿพ the task you are going to work on next - ๐Ÿ›Ÿ one thing you need help with diff --git a/common-content/en/module/fundamentals/next-steps/index.md b/common-content/en/module/fundamentals/next-steps/index.md index 36d36998f..065de0a97 100644 --- a/common-content/en/module/fundamentals/next-steps/index.md +++ b/common-content/en/module/fundamentals/next-steps/index.md @@ -24,7 +24,7 @@ Pair up with a new person. In pairs, complete the following tasks: > If you're unsure about the answer to any of the questions below, start a thread in Slack to clarify the answer (unless there is already a thread discussing this matter). 1. Starting from the home page of this website, locate the setup page and the prep page for sprint 1 of the next module. -1. List the things you need to install ( if anything ) for the upcoming module. +1. List the things you need to install (if anything) for the upcoming module. 1. Check you can find the backlog page for the next sprint. Double check you've copied all the issues from the backlog over to your Course Planner. 1. Double check you've copied all the issues from the backlog over to your Course Planner. 1. Identify all the issues with ๐Ÿ”‘ icon that are marked as **Priority**. What does the **Priority icon** ๐Ÿ”‘ mean? @@ -33,7 +33,7 @@ Pair up with a new person. In pairs, complete the following tasks: ## For volunteers -1. Locate the planning board for your region ( if one exists ) +1. Locate the planning board for your region (if one exists) 1. Locate the day-plan for the next module 1. Check the instructions and links on the **Priority ๐Ÿ”‘ issues** for the upcoming week ( both Tech Ed and PD ) 1. In the day-plan for the upcoming week identify the instructions for any workshops and visit the repository containing that readme. Check the instructions make sense. diff --git a/common-content/en/module/induction/checkout-a-commit/index.md b/common-content/en/module/induction/checkout-a-commit/index.md index 9ff6b2511..6a322b40d 100644 --- a/common-content/en/module/induction/checkout-a-commit/index.md +++ b/common-content/en/module/induction/checkout-a-commit/index.md @@ -18,7 +18,7 @@ Recall that a commit is a snapshot of our project at some point in time. Therefore, we should be able to check out a previous version of our project and look at the files and folders there. We can use the Github interface to check out the files and folders at a previous commit. -{{}} +{{}} Go back to this page https://github.com/CodeYourFuture/education-blog/commits/main diff --git a/common-content/en/module/induction/next-steps/index.md b/common-content/en/module/induction/next-steps/index.md index 72e00f62e..85bb12d9f 100644 --- a/common-content/en/module/induction/next-steps/index.md +++ b/common-content/en/module/induction/next-steps/index.md @@ -23,7 +23,7 @@ Get into pairs with somebody you've not paired up with today and try figuring ou 1. Using the curriculum, locate the page setup page for the upcoming module. 1. Using the [curriculum website](https://curriculum.codeyourfuture.io/), locate the page with the prep material for the first week of the next module -1. List the things you need to install ( if anything ) for the upcoming module. +1. List the things you need to install (if anything) for the upcoming module. 1. Check you can find the backlog page for the Induction sprint. Double check you've copied all the issues from the backlog over to your Course Planner. 1. Identify all the issues with ๐Ÿ”‘ icon that are marked as **Priority**. What does the **Priority icon** ๐Ÿ”‘ mean? 1. Go to your group Slack channel and start a thread ๐Ÿงต outlining times you're free to meet up to discuss the prep work during the week @@ -32,7 +32,7 @@ Get into pairs with somebody you've not paired up with today and try figuring ou ## For volunteers -1. Locate the classroom planning board for your region ( if one exists ) +1. Locate the classroom planning board for your region (if one exists) 1. Locate the day-plan for the next week/module -1. Check the instructions and links on the **Priority ๐Ÿ”‘ issues** for the upcoming week ( both Tech Ed and PD ) +1. Check the instructions and links on the **Priority ๐Ÿ”‘ issues** for the upcoming week (both Tech Ed and PD) 1. In the day-plan for the upcoming week identify the instructions for any workshops and visit the repository containing that readme. Check the instructions make sense. diff --git a/common-content/en/module/induction/previous-versions/index.md b/common-content/en/module/induction/previous-versions/index.md index 8057731ad..85f7d267f 100644 --- a/common-content/en/module/induction/previous-versions/index.md +++ b/common-content/en/module/induction/previous-versions/index.md @@ -13,7 +13,7 @@ emoji= '๐Ÿ“œ' We can view the different commits of a project on Github. This means we can see what the website looked like before, in previous versions. -{{}} +{{}} Here are some different versions of the same educational backlog. [Deployed version A educational blog](https://git-demo-week1-version-a.netlify.app/) diff --git a/common-content/en/module/onboarding/blockers/index.md b/common-content/en/module/onboarding/blockers/index.md index 6c95584f6..ffab3a34a 100644 --- a/common-content/en/module/onboarding/blockers/index.md +++ b/common-content/en/module/onboarding/blockers/index.md @@ -35,6 +35,8 @@ Make sure to add only one blocker per note. {{}} +- I can't find a Slack channel people keep mentioning. +- People tell me I should be replying to a Slack message in a thread, and I don't know how. - I can't open a PR, because... - How do I fix extra stray files in my PR? - I don't have a computer so I can't complete my work! diff --git a/common-content/en/module/onboarding/expectations/index.md b/common-content/en/module/onboarding/expectations/index.md index bcf3a2064..041d90554 100644 --- a/common-content/en/module/onboarding/expectations/index.md +++ b/common-content/en/module/onboarding/expectations/index.md @@ -3,7 +3,7 @@ title="โš–๏ธ Expectations" emoji="โš–๏ธ" time=5 objectives = [ - "List the expectations of the track." + "List the expectations of the course." ] hide_from_overview="true" [build] diff --git a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md index 598df9fdc..7d1895f01 100644 --- a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md @@ -16,6 +16,10 @@ name="Workshop: Asking Questions" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/asking-questions/" time="120" [[blocks]] +name="Study Group" +src="module/onboarding/development" +time=30 +[[blocks]] name="lunch" src="blocks/lunch" [[blocks]] @@ -23,16 +27,12 @@ name="Blockers! Getting Unstuck" src="module/onboarding/blockers" time=45 [[blocks]] -name="Study Group" -src="module/onboarding/development" -time=45 -[[blocks]] name="Afternoon break" src="blocks/afternoon-break" [[blocks]] name="Study Group" src="module/onboarding/development" -time=75 +time=90 [[blocks.nested.blocks]] name="Optional structured activity for consolidating Git" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-day-1" diff --git a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md index 54d3943ee..b96196b6f 100644 --- a/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md @@ -16,16 +16,9 @@ name="Workshop: Developer Tools" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/devtools/" time="120" [[blocks]] -name="lunch" -src="blocks/lunch" -[[blocks]] -name="Blockers! Getting Unstuck" -src="module/onboarding/blockers" -time=45 -[[blocks]] name="Study Group" src="module/onboarding/development" -time=45 +time=30 [[blocks.nested.blocks]] name="Optional structured activity: Pair Programming" src="module/onboarding/pairing" @@ -33,12 +26,19 @@ src="module/onboarding/pairing" name="Optional structured activity: Submit your Step" src="module/onboarding/steps" [[blocks]] +name="lunch" +src="blocks/lunch" +[[blocks]] +name="Blockers! Getting Unstuck" +src="module/onboarding/blockers" +time=45 +[[blocks]] name="Afternoon break" src="blocks/afternoon-break" [[blocks]] name="Study Group" src="module/onboarding/development" -time=75 +time=90 [[blocks.nested.blocks]] name="Optional structured activity: consolidating SQL" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/google-sheets-sql-quiz" diff --git a/org-cyf-itp/content/onboarding/success/index.md b/org-cyf-itp/content/onboarding/success/index.md index fd4c84b4d..3152d5f20 100644 --- a/org-cyf-itp/content/onboarding/success/index.md +++ b/org-cyf-itp/content/onboarding/success/index.md @@ -15,6 +15,7 @@ weight = 11 ### ๐ŸŽฏ You've achieved your learning objectives if you can: ```objectives +- Explain to someone how we use prep, backlogs, day plans, and success pages at {{}}. - Track changes to data (your code) over time with Git and GitHub. - Validate data with HTML forms. - Analyse structured data with SQL in a spreadsheet. @@ -33,7 +34,7 @@ weight = 11 1. Make a new issue on your own Coursework Planner. 1. Link to the two Pull Requests on your issue. You don't have to wait for your PRs to be reviewed, but you must have made them. -1. Submit the issue link to step 1 of ITP on [CYF Course Portal](https://application-process.codeyourfuture.io/) +1. Submit the issue link to step 1 of ITP on [CYF Course Portal](https://application-process.codeyourfuture.io/). 1. [Apply to enroll as a Trainee](https://forms.gle/vRuofa7aeL5DsbhGA). Here are those PRs again: From aa66c176af7d9d53422c25ccc4d5c58e7ab471f3 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Wed, 18 Dec 2024 13:51:01 +0000 Subject: [PATCH 39/39] add mentored code review block --- .../onboarding/sprints/2/day-plan/index.md | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md index 7d1895f01..907422493 100644 --- a/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md +++ b/org-cyf-itp/content/onboarding/sprints/2/day-plan/index.md @@ -16,36 +16,41 @@ name="Workshop: Asking Questions" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/asking-questions/" time="120" [[blocks]] -name="Study Group" -src="module/onboarding/development" +name="Blockers! Getting Unstuck" +src="module/onboarding/blockers" time=30 [[blocks]] name="lunch" src="blocks/lunch" [[blocks]] -name="Blockers! Getting Unstuck" -src="module/onboarding/blockers" -time=45 -[[blocks]] -name="Afternoon break" -src="blocks/afternoon-break" -[[blocks]] name="Study Group" src="module/onboarding/development" -time=90 +time=75 +[[blocks.nested.blocks]] +name="Optional structured activity: Live Code Review" +src="blocks/mentored-code-review" [[blocks.nested.blocks]] name="Optional structured activity for consolidating Git" src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-day-1" time=0 -[[blocks.nested.blocks]] -name="Optional structured activity for consolidating HTML forms" -src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/get-forms" -time=0 [[blocks]] name="Code Review" src="https://github.com/CodeYourFuture/Module-Onboarding/pulls" time="0" [[blocks]] +name="Afternoon break" +src="blocks/afternoon-break" +[[blocks]] +name="Study Group" +src="module/onboarding/development" +time=60 +[[blocks.nested.blocks]] +name="Optional structured activity for consolidating HTML forms" +src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/get-forms" +[[blocks.nested.blocks]] +name="Optional structured activity: Pair Programming" +src="module/onboarding/pairing" +[[blocks]] name="Wrap" src="module/onboarding/wrap" +++