Challenges
Challenges are marked by difficulty level.
Beginner: Rusty or new to web development, limited knowledge of programming languages & related tools
Automated Testing: A special track for those with an interest in Ruby testing & automation techniques
Intermediate: Very familiar with Ruby, JS, MacOS/Linux, Shell, Git & your text editor of choice.
Session Drills
Note: Most of these drills are not domain specific and can be completed with the Ruby, Python or NodeJS libraries.
Beginner
Your goal is to complete each drill successfully and comfortably using common Ruby methods & syntax. If you are new to programming, please start with our resources before continuing.
- Git-It
- RubyRefresher
- LetsDrill
- MoreEnumerables
- MoreDrillsWithRSpec
- FindTheAnagrams
- FixTheTreeTDD
- MVCgame
Automated Testing
Your goal is to complete each beginner drill successfully and have a good understanding of how to use common Ruby testing tools like Capybara, RSpec, & Cucumber.
- DoYouKnowTheDOM
- DoYouKnowTheDom2
- ParserChallenge1
- FixTheTreeTDD
- CucumberBasics
- Capybara101
- RefactoringWithRubocop
Intermediate
Your goal is to complete each beginner & automated testing drill and achieve an understanding of basic web development (Rails).
- CountingWords
- TasksApp
- HealthyRelationships
- FormValidator
- RapNameGenerator
- BitlyClone
- SidekiqAndHttp
- NotAllowed
JavaScript
These drills will help you develop a basic proficiency in web development, functional & asynchronous programming with JS/Nodejs.
Extra Credit
These are extra drills used to improve your over full-stack development skills.
How to submit challenges via GitHub
If you don’t have Git or Ruby installed on your computer, please start here.
Submitting Challenges for Review
- Login to your Github.com account
- Fork the challenge that you want to work on from Pair Columbus
- Clone its repo to your computer
- Create a new branch
- Add & commit your changes
- Push your changes back to your Github account
- Issue a pull request for your branch from Github
Documentation
Contributing
We’re in need of new challenges to help make us a great resource for those looking to learn more about creating and testing web applications. Though, the majority of our current challenges are in Ruby, we’re striving to become more language agnostic. Currently, we’re looking for new challenges in Python, Ruby, and JS including client-side frameworks like Backbone & AngularJS.
Submitting your challenge
- Make sure you have a GitHub account
- Fork the Challenge Skeleton on GitHub & follow its format
- Push your changes to a topic branch in your fork of the repository
- Submit a pull request to the repository in the Engineers organization
- We’ll review it and close the pull request! Thanks