Greetings students! Your class won’t officially begin until next Wednesday, but we encourage you to familiarize yourself with the materials below to help you prepare for class. All of the items we’re covering go into more detail about things discussed in student orientation. If you have questions or need any assistance this week as you get ready for class, feel free to contact the Class Coordinator by emailing them at classes@codethedream.org.
- Learning to Learn – a video with interactive forms about the process of learning no matter the topic
- Class Etiquette – tips and guidelines on how to communicate with peers and mentors in an online environment
- Asking for Help – advice on how/when to ask for help
- Class Tool Resources – links to “how to use” guides for your class tools
Learning to Learn
We’ve created a short 15 minute video about learning processes that we think may help you adjust to learning remotely and/or learning new concepts! Watch the below video and use the Pre-Test and Post-Test links under the video when instructed to in the video.
Class Etiquette
Communicating with others can be a challenge even when we’re in the same physical location. Working remotely from different time zones and through different channels can be a real struggle. Here are some guidelines we hope will help you have positive interactions with your peers and mentors:
Online Etiquette Basics / Classmate Interactions
Communication is a skill and miscommunications happen. Using these tips can help you avoid miscommunicating with someone online.
- Don’t use ALL CAPS when typing… it’s the typed equivalent of shouting at someone
- Practice patience. It’s easy to expect immediate answers online since answers on the internet are usually only a click away. The people you work and learn with at Code the Dream are humans and have families, jobs, etc. so please allow time for the person to see your messages and reply
- THINK before you speak/type. THINK means ask yourself if what you’re about to say is True, Helpful, Inspiring, Necessary, Kind? Even if you can delete a post/message, someone may have read it before you could delete. Please always speak/type with respect and kindness
- Rephrase if needed. If you’re having a hard time understanding someone, or someone isn’t understanding you, try rephrasing what you said or ask the person to say what they just said in another way
- Don’t assume, ask! Assumptions are often wrong, can create stress and bias, and result in obstacles or missed opportunities. If you find yourself saying “They probably…” you’re assuming, so instead ask “Why/how did you…”
Mentor Interactions
In a professional environment, it is common (in fact, encouraged) for a junior developer to reach out to more experienced developers for their assistance when needed. Booking with a mentor, coincidentally, is practice for these sorts of sessions. They are an opportunity to gain insights into how senior developers approach coding and troubleshooting.
- Before reaching out via Slack or 1:1 booking
- review your lesson materials for the lesson/assignment/topic
- search through documentation specific to the language/framework
- Intro to Programming: JavaScript
- React.js: React
- Ruby on Rails: Ruby, Rails (version 6.0 or version 5.0)
- Node.js: Node
- search the internet for a possible solution or more information (make note of what you searched for and what search results you used)
- other (usually) reliable resources on the internet include but aren’t limited to:
- stackOverflow
- geeksForGeeks
- freeCodeCamp
- blogs/videos of senior developers or architects who work with the language/framework professionally such as: Robin Wieruch for React, RubyonRails.org for Ruby/Rails, NetNinja for Node and JavaScript (among other frameworks)
- some resources are less reliable so use these with caution:
- medium – there can be good information, but be wary of old content and/or inexperienced or over-opinionated authors
- When booking a 1:1 session, provide details in booking
- Area of problem/ confusion (lesson number, concept, assignment number + section, etc.)
- Specific problem seen (something that should have happened that didn’t, or an error number or code you’re receiving, for example)
- Provide brief answers for any other questions found on the mentor’s sign up form
- When chatting with a mentor, be prepared to focus on:
- the specifics of the undesired code behavior or area of confusion
- the resources used that cover the topic (lesson materials, which part specifically? search the internet for the topic? if so, what are we searching for?) – searching for reliable content is a valuable developer skill!
- diagnosing the problematic code behavior together
- where does the code break or throw an error? is there a way to isolate what’s not working?
- how is the code resulting in something other than the desired output?
- what can be changed to get the desired output?
- To respect everyone’s time, please AVOID:
- asking for a full code base review – all of your code for a given assignment will be reviewed by an assignment reviewer after you submit your work
- asking for help without knowing what the problem is first – a mentor doesn’t know what steps you took to get where you are so you need to share what the problem is
- getting off topic – socializing is encouraged, but not when a problem needs to be solved. Please attend Class Cafes each month, use Discord channels or outlet/discussion Slack channels to socialize.
- expecting the mentor to just give you the solution. At Code the Dream we encourage learning and growth mindset, which means understanding what things don’t work, working together to find solutions, and understanding why the solution was a solution.
Asking for Help
Every human being has a sense of pride from one time or another. Sometimes pride can get in the way of asking for help and allowing us to get a solid understanding of something we’re trying to learn. To add to that, when you’re learning something new, you might not know what information to share when asking for help or how to ask it. After all, you don’t know what you don’t know! The below recording was a meeting we held on that very topic. Watch the video then read through the checklist of things to communicate when asking for help.
Include these five pieces of information when asking someone for help:
Item 1: Identify the problem
Take time to write a concise, to-the-point question about your problem. What are you trying to do? What did or didn’t happen when you tried to do it?
Item 2: Isolate the problem
Include relevant code snippet(s); a screenshot just gives a photo of your code. If you copy and paste your code as text and/or as a code snippet, the person helping you can copy and paste your code on their computer to test it out. A code snippet in Slack can either be created by highlighting the text that is your code and click one of these buttons
Item 3: Identify any Error messages
Errors can show up in different places when coding. In the early weeks of the Intro class you may see them in the “Shell” and/or “Console” tabs on the replit site where you’re doing your coding assignment.
In the later weeks of Intro and all the weeks of any of the advanced classes, you’ll likely see them in the Console developer tools section of your web browser. Or in other console/problems tabs of your IDE (VSCode, Atom, etc).
Item 4: Be aware of your tools and see if you can you reproduce the problem.
A good first step if you hit trouble is to see if the problem is true in other places. If a webpage won’t load in Chrome or Safari, will it load in Firefox, Edge, etc.? If code isn’t running from your index.js, does it work when you put it in script tags directly in your index.html?
Take note of the tools you’re using, sometimes something isn’t working because of versions of programs or programs not working well with each other. Have the following information handy:
- the browser you’re using (examples: Chrome, Safari, Duck Duck Go, etc.)
- the operating system version you’re using (examples: Windows 10 version 1.1.1, MacOS Monterey 12.4.24, Ubuntu 1.1.1)
- the Node, Rails or React version (if working in one of those classes)
- your IDE (examples: replit, codesandbox, Visual Studio Code, Atom, etc.)
Item 5: Keep track of what you try to solve your problem
If you googled/searched for the problem on the internet and found information that you thought might help and then tried that information, share those links/resources when getting help. This way the person helping you will know what doesn’t work as a solution and/or can help you identify if/why that solution didn’t work for you.
What were the results when you attempted to implement those solutions? Again, include code snippets to those NEW errors.
Class Tool Resources
Slack
Replit
used weeks 1-5 of Intro to Programming only
GitHub
used weeks 6+ of Intro AND throughout all advanced classes
Zoom
NOTE: you won’t need to enter meeting ID’s, just click the link provided for your class’ mentor sessions