Giter Site home page Giter Site logo

precourse-materials's Introduction

FRACTAL BOOTCAMP: PRECOURSE MATERIALS

These are the pre-course materials for Fractal Bootcamp (https://fractalbootcamp.com/). This repository is meant to be interactive (please PR) and teach you everything you need to be successful in the bootcamp.

This is also a live repository - expect it to change and evolve over time.

Getting Started (An Introduction to Coding):

If you are totally new to programming, START HERE.

NOTE: when learning to code, ALWAYS engage your curiosity. If you want to know why/how something works, ask ChatGPT, Youtube, or Google! (in roughly that order).

I've divided your Intro To Coding into four main parts:

  • 1a. Concept (Intro)
  • 2a. Practice (Intro)
  • 1b. Concepts (Deep)
  • 2b. Practice (Deep)

I encourage you to jump between resources, depending on what feels good at the moment:

  • If you feel like actually DOING something with code, try Practice.
  • If you want to learn concepts, focus on conceptual understanding.

Enjoying and practicing coding before class will go a long way in helping understand the fundamentals of programming, and help you get the most out of the course. The faster you develop an intuition for coding, the faster you'll fall in love with it as a medium of expression.

1a. Concept (Intro)

Animated videos are the best shallow introduction to any subject. Hence your nostalgia for Magic School Bus.

The best videos explaining web development:

Web Dev 101 in 13 minutes (13 min)
Javascript in 100 seconds (2 min)
100+ Javascript Concepts (12 min)
Git in 100 seconds (2 min)
CS 101 in 13 min (13 min)

2a. Practice (Intro)

The best introductory resource for practicing code is a tutorial. The best tutorials are interactive, and that's where Scrimba comes in.

Work through these Scrimba courses, in order, as long as they are challenging:

Feel free to skip around or speed up if it's too slow.

1b. Concept (Deep)

Readings (more detailed):

EloquentJSIntroduction through Chapter 7 [recommended]
Pro Git: Chapters 1, 2, and 6
FullStack Open: Part 0b

2b. Practice (Deep)

Fullstack Open is the best free online bootcamp. Working through this will prepare you immensely for our bootcamp and increase your velocity a ton!
FullStack Open

BONUS. Inspiration + Memes

Videos:

Javascript for Haters (3 min)
Inventing on Principle, Bret Victor (54 min -- this is a long talk about the sorts of things we can still invent with computers, not about learning programming)

Essays:

Hackers and Painters, Paul Graham
What is Code? (famous Bloomberg piece on coding culture) 
Don't feel bad about not knowing basic things

INSTRUCTIONS

For each folder, go through the relevant modules or submodules and read the questions.

For each module:

  1. Check out a new git branch, called ${your_name}/${module_name}. If you don't know what this is or how to do it via the command line, read the git and terminal basics sections.

  2. Create a new file ${your_name}.md, under the answers folder in the module.* (bonus: use the terminal to do this)

  3. Copy the answers in the module's README.md into your file. (bonus: use the terminal to do this)

  4. Read through the resources and do your own research online. Drawing on your understanding, answer the questions in the your answer file.

  5. Save and commit your new file. Create a pull request (PR) from your branch to the main branch. Add @jakezegil and/or a friend as the PR reviewer. (bonus: use the terminal to do this)

*see computer-science/basics/answers/jake-zegil.md for an example submission

GUIDELINES

Refer to the SCHEDULE.md (WIP) for the recommended sequencing. This is not prescriptive - feel free to jump around or skip modules that you're already familiar with.

There's no rules - reading through other's answers or working with a partner can be really helpful for learning. But please, for your own sake, don't copy and paste things. Framing your understanding in your own words is a powerful and valuable exercise.

ChatGPT is a great resource for having conversations about many of these questions and topics.

TACTICAL TIPS

Whenever you see a word that you don't fully understand, write it down and define it.

Everything that is in this repository matters for writing software, and many things relate to each other. Always ask yourself, how does this relate to the other concepts that I've learned?

Use the terminal as much possible.

If you come across a super helpful resource for a given module, add it to the module readme and open up a PR. Help the future students!

precourse-materials's People

Contributors

ajroberts0417 avatar briansmiley avatar jakezegil avatar samuelrcrider 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.