Git Product home page Git Product logo

wdi-intro's Introduction

Intro to WDI

Learning Objectives

  • Get to know each other
  • Determine guiding principles for our class culture
  • Identify the Big Goal of the course
  • List the core expectations of instructors and students
  • Map out the topics and technologies of web development, and identify which we will and will not cover
  • List the main "Dos" and "Don'ts" for the class and the space

Welcome & Today's Schedule (10 minutes, til 9:10)

Instructor introductions.

Today's Schedule:

  • 9:00 - 10:40 - Orientation
  • 10:50 - 11:35 - Squad Meetings
  • 11:45 - 12:30 - Entire cohort meets Production, Outcomes & Campus staff
  • 12:30 - 2:30 - Lunch
    • 1:30 - 2:30 - Office hours to review Pre-work
  • 2:30 - 5:00 - First Lesson (Command Line)

Icebreaker (20 minutes, til 9:30)

Find a partner. Spend 5 minutes sketching your partner. On the left, draw three things he or she likes, and on the right, three things he or she dislikes.

Switch!

For the remaining 10 minutes, we'll go around the room and share!

Here's a wireframe of Adrian, a WDI Instructor, as an example...

What is an immersive course? (10 minutes, til 9:40)

Spend two minutes discussing and writing down some answers to the following question: What does it mean to be in an "immersive" environment?

There's no winning or losing.

  • This is a non-competitive environment.
  • You get out what you put in.
  • Everyone enters and leaves at different levels. Try to compare you with you only.
  • Use your classmates' work as inspiration to improve your own!

Cooperation.

  • You'll be learning, eating, growing, failing, and succeeding together for the next 12 weeks.

You may be re-learning how to learn.

  • The last time you spent 9 hours a day learning something new was in high school.

You will be uncomfortable. Regularly.

  • Be empathetic.
  • You will probably feel somewhat lost on this week's topic, feel more comfortable with last week lessons, and notice that a few weeks ago looks easy.

Balance.

  • This intensity means that we have to make room for balance.
  • Sleep, food, hydration, rest, and hygiene.

We will not give up on you.

  • Even when you might have given up on yourself!
  • None of the instructors are here just to collect a paycheck. We're nerds, about web development, education, and you.

Trust that our decisions are informed by solid experience.

  • In industry.
  • At GA.
  • We rely on your feedback. At the same time, we ultimately have to trust in our own experience and expertise first.

Ultimately, we ask you to trust us and each other.

  • Trust that we have each other's best interests at heart.
  • But we expect to have to work to earn that trust.

Embrace failure.

YOLO.

  • Because it's 2016.

None of the above mentions anything about code.

Growth Mindset (10 minutes, til 9:50)

Growth Mindset - Dr. Carol Dweck

  • This may be the most mentally challenging thing you've ever done -- the first time you've been bad at something in a long time.

  • You will fail and struggle at times, but that's important. We don't succeed despite challenges -- we succeed because of challenges. The Learning Myth: Why I'll Never Tell My Son He's Smart. Take 2 minutes to skim through this article.

    • Unfortunately, this can hurt. Just like exercise can make you sore and tired, so should learning. Try to enjoy the burn knowing it is making you better.
    • We anticipate that you will run into hardships. When you do, that's when it is time to really challenge yourself and buckle down. Don't quit! Embrace the fact that the challenge will make you a better coder. Endure the struggle to grow and develop your mind.
  • The Emotional Cycle of Change Emotional Cycle of Change

    • Programming is a mindset. It's about confidence and being open to failure. It's about knowing when to climb from the bottom of the cycle and being able to say, "Eh, I'm going to try this thing, even though I don't really understand it. AND I'm not going to get attached to it in case it doesn't work and I have to erase all my code and try something completely different."
    • The growth mindset here is understanding that even when something doesn't work, it will still make you a better coder!
    • We want this to be challenging for you because:
      • Just memorizing stuff won't help you. Learning HOW to code will.
      • You can't BS your way through code.
      • The fundamental standard of programming: It either works, or it doesn't. No amount of sweet-talking will make it work.
      • Google is your best friend
  • So many students throughout my time here say, "I don't know how to do that." or some variation of that. Many of you will say it. Just add "...yet" to it.

What is asking for help? (10 minutes, til 10:00)

  • This is the thing students find the hardest, and the thing that ultimately determines whether or not students will be successful in this class.
  • Without fail, the students who do not ask for help do the poorest in the class.
  • Most importantly, knowing how to ask for help and where to look for answers is one of the biggest skills you can gain from this class that will be applicable as you prepare to join the professional workforce.

Turn & Talk: Everyone should take 30 seconds to think of a time when they've asked someone for help. It doesn't have to be tech-related. Then take 30 seconds to turn and share with your tablemates about those times. What were the outcomes?

We have all asked for help. There's no shame in it. Feeling afraid to ask for help will be the biggest detriment in this class.

  • What makes asking for help effective?
    • Asking a clear problem. "I don't know any of this" isn't a clear problem. "I tried this thing and got this error" is a clear problem.
    • We'll ask you for help when:
      • The question you're asking isn't constructive
      • It's clear you haven't made an effort to find the answer:
        • First, try it yourself
        • Then, Google it
        • Then, ask your neighbor
        • Finally, ask an instructor

Break (10 minutes, til 10:10)

Course content (10 minutes, til 10:20)

How the Class is Built

GA's global team (including many of the instructors here) has built a baseline curriculum, which includes topics to cover, and a suggested order. As a local campus, we have built on and modified this curriculum based on own experiences as instructors, and the unique features of the DC job market. Each lesson is designed by the instructor that's delivering it.

We also iterate on this curriculum constantly, so technologies, concepts, etc, change with each cohort.

Course Content

Exercise: Ask students to list technologies / languages that they think are involved in web development. Examples: HTML, Ruby, Databases, etc.

Map out the technologies and how they relate to each other. Lead a discussion on which technologies we'll cover, why we chose those, and why we can't cover everything.

Technologies we cover:

  • HTML
  • CSS / SASS
  • JavaScript
  • Ruby
  • PostgreSQL (Relational Database)
  • MongoDB (NoSQL Database)
  • Rails
  • Node.js / Express
  • Angular.js

We cover these technologies / topics because they are foundational to web development, and learning the underlying concepts of how they work prepares you to learn and work in any web development technologies.

Course Sequence

This course has been pretty well-planned for all 12 weeks, but this is subject to change.

The course is organized by units of roughly 1 week each. Every 3 weeks, we'll complete a project (~3-5 days each).

Units/Projects:

  • Intro to the Web (HTML/CSS/JS)
  • Vanilla Javascript
  • Project 1 - Build an application using HTML / CSS / JS
  • Object Oriented Javascript
  • Ruby
  • Full-stack MVC w/ Rails
  • Project 2 - Build a full-stack, data driven app w/ Rails
  • Angular and APIs
  • Advanced Front-end (using API's on clientside)
  • Project 3 - Build a backend API and Front-end that consumes it
  • Express and the MEAN stack
  • TBD - Agile based on class wishes / needs
  • Project 4 - Portfolio project

Course Logistics (10 minutes, til 10:30)

Weekly Schedule

"Normal Weeks"

  • Mondays, Tuesdays, Wednesdays and Fridays

    • 9:00-10:00: Morning Exercise/Homework Review/Mini-lesson
    • 10:00-12:30: Lesson 1 (Outcomes on Tuesdays)
    • 12:30-2:30: Lunch / Work Time / 1:1s / Office Hours
    • 2:30-5:00: Lesson 2
    • 6:00-8:00: Evening Office Hours (Monday, Tuesday and Wednesday Nights)
  • Thursdays

    • 9:00-10:00: Morning Exercise/Homework Review/Mini-lesson
    • 10:00-12:30: Lab w/ instructor support
    • 12:30-2:30: Lunch & Work Time
    • 2:30-5:00: Lab w/ instructor support

Project Weeks (3, 7, 9, 12)

Project weeks will be pretty much just time for you to work on your project.

  • There will be no scheduled lessons, except for a few optional mini-lessons.
  • There will be no evening office hours, since instructors will be widely available during the day.
  • In most cases, the Outcomes schedule will also remain the same during project weeks

Squads and Rotations

Each student will be part of a squad lead by one instructor. Your squad instructor will be the primary (but not the only) instructor providing you with feedback on homework, labs, quizzes, etc.

Though you'll stay together with your squad throughout the whole course, there will likely be at least one point in the course where instructors will rotate and lead a new squad.

Instructor Communication

  • Additional Instructor Support is available during Evening Office Hours from 6:00 - 8:00PM on Monday,Tuesday and Wednesday Nights. WDI instructors from other cohorts will be included in the Office Hours schedule.
  • Instructors who are not scheduled for Evening Office Hours may not respond to code questions via Slack or in person, even if we're in the office.
    • Question: Why would we do this?
    • Answer: Work/Life Balance.
  • Feel free to send any messages to us and we'll reach out to you the next day.

Garnet

Demo Garnet

Perks and Incentives (10 minutes, til 10:40)

Note that everything I'm about to talk about is detailed in the WDI repository on Github. I'm just highlighting some things here.

Please ask your squad instructor if you have any questions. It's really important that you understand all of this!

Incentives

If you complete 80% of the homework assigned over the duration of the class, and have minimal absences and tardies, then you get the benefit of being "recommended for hire". This means:

  • You may attend the Meet and Hire
  • You may publish a Profile on profiles.generalassemb.ly
  • The instructors and staff will be happy to write job recommendations for you
  • The Outcomes team will prioritize helping you in your job search

Regardless of homework and attendance, every student can always attend class and alumni events, and we'll always treat each student like every other.

There's no "bell curve" or number of students we have to give a "C" to. We're just asking you to be on-time and make an effort. We expect each of you to meet these criteria.

Homework

There will be roughly 2 hours of homework every night. You'll be submitting the homework through Github, which we'll cover later on this week.

Assignments will generally be due on the following day at 9am, though we strongly suggest you submit a pull request by midnight and get some sleep for the next day of class.

Your squad instructor will provide meaningful feedback on at least one of these assignments and also on your lab. You can also point us to specific lines in your code you'd like feedback on.

It's really, really important that you submit homework even if -- especially if -- you didn't complete it. We would much rather you spend 2 hours taking a stab at something and turn it in unfinished than you spend 10 hours and turn it in perfect (or turn in nothing at all).

This is because without seeing your homework, we have no idea how you're progressing with the material, and so we can't get you the help you may need. Also if you don't turn in anything then it suggests to us that you're not making WDI a priority, and as such we need to check in with you.

Assignments are graded on whether or not you seem to have made a meaningful effort to do them. There are three possible grades for each assignment:

  • Complete: meaningful effort was made. How "good" your code is doesn't have any impact on this.
  • Incomplete: something was turned in, but meaningful effort was not made. No changes were made to the assignment, and/or it was blatantly plagiarized.
  • Missing: nothing was turned in.

Attendance

You'll be taking your own attendance every morning via Garnet. (It can tell if you're not actually in the classroom! :) If you check in one minute after the day starts, it's considered "tardy", and one hour after the day starts is considered "absent".

Metro delays can happen. The solution is to leave every day earlier than you think you should. The instructors are on-time every day and we live all over the area. If we can do it, so can you!

If you do arrive late, we'll ask that you not enter the classrooms until they go on break. Having folks coming in late is a huge distraction to the instructors and students, and if you come in late but can still sneak in then it's kind of a slap in the face to the students who are here on-time.

BREAK (10 minutes, til 10:50)

Squad Breakouts (45 minutes, til 11:35)

  • Get to know each other
  • Q and A
    • Especially about homework and attendance
  • Update GitHub Profile
    • Full name and Avatar

BREAK (10 minutes, til 11:45)

Entire Cohort Meets

GA Instructor / Staff Introductions

Producers - Administrative Info (til 12:30)

Refund Policy

LUNCH BREAK (12:30 - 2:30)

Lesson 1 (2:30 - 5:00)

Meet in your classroom for your first WDI Lesson!

wdi-intro's People

Contributors

robertakarobin avatar amaseda avatar jshawl avatar beckybeauchamp1 avatar tylercrosse avatar joe-gz avatar mattscilipoti avatar nayana487 avatar nolds9 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.