#DBC Prep Objectives
For any technical support, please feel free to scope out and post in the Dev Bootcamp Help Facebook group.
Keep track of the your explanations and results below. You will be asked to submit your responses prior to entering Phase 0.
Learning Objectives:
-
Explain the difference between growth and fixed mindset.
-
Identify my VARK learning style.
-
You have a multimodal (VARK) learning preference. Visual: 9, Aural: 10, Read/Write: 8, Kinesthetic: 11
-
Explain my thinking style and what I enjoy or find challenging when learning
-
Thinking style: Concrete Sequential: 16, Abstract Sequential: 48, Concrete Random: 44, Abstract Random: 12
It is fundamentally important that you have a working development environment on your computer so that you can easily and effectively run the programs you are writing. Follow the directions below to get started.
- RailsBridge Installfest instructions
Follow the instructions for your operating system. There is no need to create a Heroku account or deploy a rails app.
Learning Objectives:
- Install Ruby version 2.0
Check the version by running “ruby –v” from the command line. You may need to update. - Install DBC’s preferred text editor - Sublime Text.
- Run a ruby program from Sublime in my terminal
Use Perfect Workflow in Sublime Text - Use IRB to play with Ruby code (HINT: Type IRB into your terminal)
Read "How to Count" by Steven Frank
- Explain how to count in decimal
- Describe how a computer uses binary
- Describe why counting in hexadecimal is useful
- Compare bits to bytes
- Explain “floating point” and its challenges
- Describe the difference between integer division and division using floats
The terminal will be your best friend for most of Phase 0 and Phase 1, so it's important to get comfortable with some basic commands.
Resource: The Command Line Crash Course
Learning Objectives:
- Navigate between directories
- Create a new directory
- Delete a directory
- List files in a directory
- Identify the directory I am in
- Move a file between from one directory to another
- Copy a file or directory
- Open a file in a text editor
- Run a ruby file
In order to solve simple challenges using Ruby during Phase 0 and Dev Bootcamp, you will need to be feel confident with the following objectives.
Read Learn to Program by Chris Pine, chapters 3-15.
Refresh using Codecademy Ruby Track chapters 1-14 & 16
Learning Objectives:
- Identify strings, integers, arrays, hashes, floats
- Define a variable
- Interact with a user via the command line (ex.
gets
) - Describe flow control using
if
,elsif
,else
, andunless
- Convert a method using
if
/else
to case usingwhen
- Compare
=
and==
- Describe loops and explain how the following work (
#times
,#each
,#while
,#until
) - Differentiate between arrays and hashes
- Describe what methods, blocks, and classes, and objects are in Ruby
- Indent using two spaces
- Debug syntax errors from error messages
Get comfortable with IRB. Open your terminal, type “irb” and play with the skills you learned in Pine’s Learn to Program and Codecademy’s Ruby Course to complete these objectives.
- Load IRB
- Explain what IRB is and how it can be used
- Solve basic mathematical problems (+, -, *, /, **, %)
- Create and manipulate variables
- Create and add items to an array
- Compare enumerable#collect and enumerable#map
- Compare #map and #map! methods
Refresh your knowledge or learn about web design basics.
Resource: Code Academy HTML & CSS
- Identify an opening and closing tag
- Determine when to use various HTML tags
- Indent HTML according to established guidelines
- Identify CSS selectors
- Explain how CSS formats HTML documents
- Identify the parent/child elements in HTML
- Compare classes and IDs in HTML
- Describe the CSS box model
- Explain basic CSS positioning (inline, inline-block, float, padding, margins, borders, absolute, relative, fixed)
Resources: Code Academy Javascript, Code Combat(Javascript Game), Coding Style Javascript Practices
- Create variables using proper naming conventions
- Evaluate Boolean statements
- Write basic functions to solve mathematical problems (5 + 4)
- Describe flow control using if , else if, and else
- Compare for, while, and do loops
- Define &&, ||, and !
- Compare literal and constructor notation
- Identify the similarities between OOP in Ruby and JavaScript
Resources: Code Academy jQuery, Code School: Try jQuery.
Git cheetsheet. Use this!
Checklist items stolen from the Git trail on Thoughtbot.
- Initialize a repository.
- Clone a repository.
- Ignore files.
- Add a file to staging.
- Unstage a file.
- Check status.
- View a diff.
- Create a commit.
- Push to origin.
- Pull remote changes locally.
- Resolve a conflict.
- Create a branch.
- Merge a branch into master.
- Push to a remote branch.
- Rebase origin/master into a branch.
These are optional, so check these out if you have some the time.
-
Ruby Monk. Online activities and tutor.
-
The Poignant Guide to Ruby. Great online resource.
-
Practical Objected-Oriented Design in Ruby by Sandi Metz.
-
Pragmatic Thinking and Learning by Andy Hunt. This book covers "how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new trice and tips to learn more, faster, and retain more of what you learn."
-
CS 50: Harvard Intro to Computer Science Course Interesting and accessible lectures. These are great for students who want to know more about basic Computer Science. See the syllabus for a list of covered topics.
-
Apprenticeship Patterns by Dave Hoover. Are you doing all you can to further your career as a software developer? With today's rapidly changing and ever-expanding technologies, being successful requires more than technical expertise. To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft.
-
Mindset Online by Carol Dweck. This links to the website, but you can also read the book about fixed and growth mindset.
-
The Passionate Programmer by Chad Fowler. This book is about creating a remarkable career in software development. In most cases, remarkable careers don’t come by chance. They require thought, intention, action, and a willingness to change course when you’ve made mistakes. Most of us have been stumbling around letting our careers take us where they may. It’s time to take control. This revised and updated second edition lays out a strategy for planning and creating a radically successful life in software development.
-
The Pragmatic Programmer by Andrew Hunt and David Thomas. Straight from the programming trenches, The Pragmatic Programmer: From Journeyman to Master cuts through the increasing specialization and technicalities of modern software development to examine the core process—what do you do, as an individual and as a team, if you want to create software that’s easy to work with and good for your users.