• Skip to primary navigation
  • Skip to main content

Code the Dream

Real Talent. Real Experience. Real Impact.

  • About
    • Who We Are & What We Do
    • Job Openings
    • CTD Voices
    • Code The Dream’s Impact
    • In The Media
    • Annual Report
    • Board
    • Contact Us
  • Get Involved
    • E-Newsletter Sign Up
    • Senior Dev Fellowship
    • Volunteer Opportunities
    • Thank You CTD Volunteers
  • Services
    • Portfolio
    • Need an App?
  • Class Info
    • Class Info
    • Apply Now
    • Virtual Info Session
  • Blog
  • Donate
  • Show Search
Hide Search

Class Info

Don’t miss any important application related emails from us!
Add classes@codethedream.org to your contacts in the email account you share with us now!

Do you want to be a software developer? Code the Dream’s free, online software development classes can help you on your career journey. We have classes for people who are new to coding and for more advanced developers. Check out our upcoming class offerings:

Upcoming Classes

Important Dates for Upcoming Classes

Important dates for upcoming classes

Dates from the CURRENT (July-Aug 2022) Application Period:

Class Info Session, Live, via Zoom
(Details here)
TBD
Application deadline August 14, 2022
Pre-Work sent out August 15, 2022
Pre-Work deadline August 28, 2022
Code the Dream Reviews
Pre-Work Submissions
August 29, 2022
through September 6, 2022 for Intro
through September 27, 2022 for advanced classes
Students notified
of acceptance/rejection
of application
September 7, 2022 for Intro
September 28, 2022 for advanced classes
Student Orientation September 14, 2022 7pm EST for Intro
October 5, 2022 7pm EST for advanced classes
Class Start Date September 21, 2022 for Intro
October 12, 2022 for advanced classes
Class End Date January 31, 2023 for Intro
February 28, 2023 for advanced classes
(May 9th for the post-advanced class Practicum)

Dates are subject to change

Dates from the LAST (May-Jun 2022) Application Period:

Students notified of acceptance/rejection
of application
July 1, 2022
Student Orientation July 13, 2022
July 15, 2022 9pm EST
Class Start Date July 20, 2022
Class End Date November 8, 2022

Dates are subject to change

Virtual Information Session

When is the next Live Q&A Session?

We hold 1-2 Live Q&A sessions before each class application period closes, so that interested students can get all questions answered as they decide if this is the right class for them. Find out when the next virtual information session will be held here.

Application Process

Who can apply?

Code the Dream offers a pathway to careers in technology for people 18+ who might not otherwise have the opportunity to pursue tech jobs.  Everyone, regardless of background, is welcome to apply, but we strongly encourage people under-represented in the tech industry to apply, including:

- individuals from low-income backgrounds

- people of color

- undocumented and DACAmented young people

- immigrants and refugees

- people from rural communities

- women

Please note, classes are held in English.

Do I have to have coding experience to take a class?

For our Intro to Programming class you do not need coding experience, but having a general understanding may make the pre-work assignment easier. The pre-work assignment for the Intro class comes with links to tutorials to help you complete the assignment.

For our advanced classes (React and Ruby on Rails) you will need to know some coding basics.

An applicant to the React class should be comfortable with:

  • JavaScript basics (arrays, objects, loops, conditional statements, etc.)
  • HTML and CSS basics
  • Git basics (how to link local folders to a GitHub repo, push, pull, etc.)
  • API fetch (we do provide tutorials on the API fetch portion in the event you are comfortable with the other material and just need some guidance on fetch.)

An applicant to the Ruby on Rails class should be familiar with:

  • JavaScript basics (arrays, objects, loops, conditional statements, etc.)
  • HTML and CSS basics
  • Git basics (how to link local folders to a GitHub repo, push, pull, etc.)

Code the Dream is a pathway to a career in tech. We have found that students are more likely to experience success if you are committed to pursuing a tech career and have already begun exploring coding. It is helpful for CTD instructors to know if you have pursued any programming learning on your own, even just watching youtube videos. Please describe any of your past experiences in the application.

If you aren't sure whether or not coding is for you, we strongly encourage you to first try out some of the many free resources that are available online:

·  CodeAcademy 

·  The Odin Project

·  GitHub Code Camp

·  MIT OpenCourseWare

What is the cost?

Code the Dream classes are completely free for students.

Our program is very resource-intensive and expensive to operate. We are constantly fundraising to make this program possible, and we depend on grants from foundations and donations from individuals to ensure we can keep our classes free.

Once you get a job, we will ask you to consider making an ongoing donation to Code the Dream to help make the same opportunity possible for other students.

Many coding bootcamps cost $10,000-$20,000. Others don't charge you up front, but require a portion of your paycheck for many years after that. We do not require salary contributions, but we do hope you will remember Code the Dream once you land that high-paying tech job later! That's the only way this program can continue.

What is the application process?

Step 1. Apply! Fill out the Interest Application prior to the deadline (apply here). We will be hosting an informational video call and Live Q&A session at least once during every application period. Information on those events can be found above in the "Virtual Info Session" section of this page. (Follow Code the Dream on Instagram here and Facebook here).

Step 2. Pre-work. The day after the application deadline, we will send out a pre-work assignment which potential students must complete before being considered for any of the classes. You will have 2 weeks in which to begin and complete the pre-work, but the work itself is typical of the amount of work you should expect each week of class. We estimate that the Pre-Work will take around 10 to 20 hours of work. You can find more details about Pre-Work Virtual Info Sessions on our Virtual Info Session page.

Step 3. Interview. Following completion of the pre-work assignment, Code the Dream will review all the submitted assignments. Some students may be contacted for an informal interview after this review. There is no technical aspect to the interview, it is just intended to get a better understanding of your situation and/or comfort level with the pre-work assignment.  If you are not contacted for an interview, it does not necessarily mean your application has been rejected. Having an interview does not necessarily mean you are automatically accepted either.

Step 4. Selection. Code the Dream staff will make final selection and notify students approximately 2 weeks before class begins. Code the Dream classes are very competitive (e.g. 500+ applications for 120 slots). All individuals who apply and submit pre-work will be contacted to let them know if they have been accepted or not. If you have not received word about the status of your application by the " Students notified of acceptance/rejection of application " dates in the "Important Dates for Upcoming Classes" table in the "Upcoming Dates" section of the Frequently Asked Questions section above, please check your spam/junk folders in your email inbox. If there is no notification from us there, please contact us about the status of your application.

How do you decide who gets in the class?

Code the Dream classes are very competitive. It is always a difficult decision to select which students are admitted, but here are some examples of the criteria we take into consideration:

  • What are the applicant's career goals?
  • What is the applicant's experience with and interest in coding?
  • Does the applicant have the time to commit to be successful in this class?
  • Could this be a life-changing experience for the applicant?
  • Is the applicant part of a network that could provide additional support?

Class Details

What are CTD Classes like? (Video)

Considering whether or not to apply? Hear what current interns say about CTD classes.

When and where are your classes?

Code the Dream holds classes throughout the year. We are based in the Research Triangle Park in Durham, North Carolina, but you don’t have to be! Our classes are now fully remote to be more accessible to students out of state or in other parts of NC. Classes are in English.

Starting in March of 2021, Code the Dream is partnering with Treehouse to provide the video content of many of our online classes.

Starting in August 2021, Code the Dream is partnering with Robin Wieruch to provide the text for our React Front End classes.

How long are the classes & what is the time commitment?

Code the Dream Intro to Programming class is 16 weeks long. Our advanced classes (React Front End and Ruby on Rails Back End) are 25 weeks long in total and are made up of two sections. The first section is 17 weeks long and students work individually on coding exercises. The second section is Practicum, an 8 week period where students work together in small groups to gain experience in team development and project management skills.

In our online classes, all class material is posted in advance and can be studied at any time during the week. Students are then required to attend at least two "mentoring sessions" per week. Mentor groups are composed of 8 or fewer students with one mentor who is an experienced programmer. During the live, online video mentor sessions, students are required to be online at the same time to join the group.

Code the Dream uses Slack as our primary communication tool. Students will all be part of a Slack channel in which they can ask questions at any time.

Students can expect to spend 15-20 hours a week on class work. That time breaks down to 2-3 hours in mentor sessions, 5-8 hours reading/watching the lesson materials, and the remainder of the time being spent on the coding assignment(s) for the week.

Coding is not easy. It is frustrating and takes a lot of practice, as well as self -motivation to seek out help for the many challenges that will inevitably come. If students seriously commit 15-20 hours every week, we anticipate you will have a good chance success.

What kind of computer and software do I need?

For the Intro to Programming class:

  • Laptop or desktop
    • Webcam preferred but not required for attending mentor sessions
    • Chromebooks and similar two-in-one devices can work for this class, but there may be extra steps you need to take when we get to the last half of the class and they will not work well for the advanced classes
  • Reliable Internet access

For the advanced React and Ruby on Rails classes:

  • PC or Mac computer
    • Chromebooks and similar two-in-one style devices do not work well for advanced classes because their operating systems and hard drive space usually is not sufficient for development
    • Recommended machine specs and operating system versions as of February 2021 are:
      • Mac
        • Needed for iOS development
        • 8GB RAM min, ideally 16GB RAM
        • macOS version at least at Mojave, ideally Catalina (Upgrading to Big Sur has resulted in some issues)
        • Avoid M1 for now as it is new and there are still a lot of unsupported apps (Most relevant for Back End developers)
      • PC (Windows)
        • Intel Core i5 or i7 processor, AMD acceptable as well
        • 8GB of RAM
      • PC (Linux)
        • Preferable to Windows, but you would need to install it yourself and the install and config process is more of an expert-level option
        • Two popular options are Ubuntu & Fedora and these are marketed to new Linux users, making configuration a bit more manageable
  • Reliable Internet access
  • GitHub account
  • An Integrated Development Environment (IDE) such as Visual Studio Code or Atom (there are other options too, these just tend to be the more commonly used ones)

We aren't sharing the above details with the intention of any student or applicant going to the expense of getting a new machine. If you have questions about if your current computer will work, please contact us first before purchasing anything to replace your current machine.

If you are very committed to learning software development but do not currently have access to a computer or internet access, contact us and we will see if we can work with you to identify options.

How much English is required?

Learning to code means learning coding languages; programming uses words and concepts that will be likely unfamiliar even to people who are native-English speakers!

For now, all of our classes are in English, and the mentor sessions are also in English. Class participants will need an intermediate level of English, however, to learn computer programming, participants probably do not need to be as proficient in English as required in many other industries.

The class videos will be in English, but will have the option for subtitling, and participants can rewind to watch again (unlike in in-person classes!), which may help English language-learners.

The "mentor sessions" are small group meetings over video conference, in which students will be talking and interacting with each other and with an experienced software development mentor. In addition, class participants will regularly interact via Slack chats.

What Will I Learn?

WHAT WILL I LEARN?

Code the Dream offers four different classes (Intro to Programming, Front End React.js, Back End Ruby on Rails, and Full Stack Node.js/Express) throughout the year that each have a different curriculum. Please consult the Upcoming Dates and Deadlines option at the top of this page for details on when each of those classes will be offered next. Topics covered in each class are as follows:

Intro to Programming:

  • JavaScript (basics, functions, loops, arrays, objects, DOM manipulation)
  • HTML (basics, forms)
  • CSS (basics, layouts)
  • Introduction to Git
  • How the Internet works and Debugging
  • AJAX basics and API fetch

React.js:

  • Project Setup
  • React fundamentals (React DOM, components, props, state, handlers, hooks and fragments, and more)
  • React router and class components
  • React styling
  • React maintenance and testing
  • Handling sorts, searches, pagination in React
  • Deployment

Ruby on Rails:

  • SQL basics
  • Ruby collections, loops, conditionals, methods, classes, blocks, testing
  • Rails basics, active record associations, testing
  • Bootstrap specifically in relation to it's use within Rails
  • APIs and Swagger
  • Calling API using AJAX

Node.js/Express:

  • Node.js Basics: JavaScript outside the browser, for server side web application development
  • The Node module system
  • Synchronous and asynchronous patterns and event processing
  • Web applications with Express
  • Accessing the MongoDB NoSQL database
  • Creating APIs
  • Authentication with JSON Web Tokens
  • Testing
  • Creating a front end for authentication and Create/Read/Update/Delete operations

Node with Express is the leading JavaScript web application back end.  It is widely adopted in information technology departments worldwide, and it is growing rapidly. Ruby on Rails and React.js are widely used in various industries and in companies of all sizes. Noteworthy websites like Hulu and Airbnb were built using Ruby on Rails.  Facebook and The New York Times use React.js to run their sites. Netflix and PayPal are some of the large companies that built their sites using Node.js. We are always assessing trends in the industry and may make changes to our class offerings or curriculum so please check back with us often!

Starting in March of 2020, Code the Dream is partnering with Treehouse for the video content of many of our online classes.

Starting in August 2021, Code the Dream is partnering with Robin Wieruch to provide the text for our React Front End classes.

INTRO TO PROGRAMMING CLASS DESCRIPTION

Our Intro to Programming class builds a strong foundation for applicants wishing to become software developers. We recommend all students that complete the Intro to Programming class apply for our advanced classes as those are the classes that really prepare you for an entry level job in development. If you are just starting the career change towards development this is the best class for you to apply for and complete first.

The curriculum topics covered in the Intro to Programming class are:

  • JavaScript (basics, functions, loops, arrays, objects, DOM manipulation)
  • HTML (basics, forms)
  • CSS (basics, layouts)
  • Introduction to Git
  • How the Internet works and Debugging
  • AJAX basics and API fetch

Upon completion of the course students will have created a simple portfolio page to be able to build on as they learn additional skills and gain more experience in development.

Starting in March of 2020, Code the Dream is partnering with Treehouse for the video content of many of our online classes.

RUBY ON RAILS CLASS DESCRIPTION

Note: The Intro to Programming Class is a pre-requisite for the Advanced classes (React.js and Ruby on Rails). To skip the Intro class and enter directly into the advanced classes requires completion of a Pre-work assignment to demonstrate knowledge of GitHub as well as Fetch API.

Our Ruby on Rails class begins by learning and practicing foundational programming concepts using Ruby, a language designed to ‘make programmers happy’.  We also do a deep-dive into many topics including HTML, CSS, SQL and databases, Model-View-Controller design pattern, and version control using Git and GitHub.  Both of our advanced classes have an individual work section and a Practicum group project section.

The curriculum topics covered in the Ruby on Rails Back End class are:

  • SQL basics
  • Ruby collections, loops, conditionals, methods, classes, blocks, testing
  • Rails basics, active record associations, testing
  • Bootstrap specifically in relation to it's use within Rails
  • APIs and Swagger
  • Calling API using AJAX

By the end of the individual section of the course students will have built a functional Rails app of their own concept and design using Ruby on Rails.

The Practicum section of the course divides students into small groups of 3-5 person teams. Each team will build one app. During this section of the class students will learn:

  • project management
  • to scope a project and prioritize bug fixes and adding features
  • to resolve merge conflicts in GitHub
  • to work collaboratively in an agile-like team setting

Starting in March of 2020, Code the Dream is partnering with Treehouse for the video content of many of our online classes.

REACT.JS CLASS DESCRIPTION

Note: The Intro to Programming Class is a pre-requisite for the Advanced classes (React.js and Ruby on Rails). To skip the Intro class and enter directly into the advanced classes requires completion of a Pre-work assignment to demonstrate knowledge of GitHub as well as Fetch API.

Our React.js class builds on the JavaScript basics and other web basics skills applicants or past Intro to Programming class students already have in their skillset. The class gives a comprehensive education on all the aspects of React that make it one of the most broadly used libraries today. Both of our advanced classes have an individual work section and a Practicum group project section.

The curriculum topics covered in the React Front End class are:

  • Project Setup
  • React fundamentals (React DOM, components, props, state, handlers, hooks and fragments, and more)
  • React router and class components
  • React styling
  • React maintenance and testing
  • Handling sorts, searches, pagination in React
  • Deployment

By the end of the individual section of the course students will have built two React apps, one that you build alongside the instruction and information provided by the text, and another (a To Do List app) that you build using your weekly coding assignment instructions.

The Practicum section of the course divides students into small groups of 3-5 person teams. Each team will build one app. During this section of the class students will learn:

  • project management
  • to scope a project and prioritize bug fixes and adding features
  • to resolve merge conflicts in GitHub
  • to work collaboratively in an agile-like team setting

Starting in August 2021, Code the Dream is partnering with Robin Wieruch to provide the text for our React Front End classes, via Robin's Road to React curriculum.

NODE.JS/EXPRESS CLASS DESCRIPTION

Our Node.js class builds on the JavaScript skills learned in the Intro to Programming class, and requires the level of JavaScript/HTML/CSS understanding that the Intro class provides.  With Node, these skills are applied to back end development, to web serving, and to the creation of application programming interfaces that use such standards as REST and JSON.  Asynchronous programming patterns are used throughout.  The Express framework is used to speed web application development, and data is persisted in the widely used MongoDB NoSQL database.  Authentication and security are also introduced. The curriculum topics covered are:

  • Introduction to Node and the Node module system
  • Asynchronous program flow and event processing
  • Streams
  • Web applications with Express
  • Static page serving
  • Creating APIS
  • Middleware and error processing
  • Authentication with JSON Web Tokens
  • MongoDB access using the Mongoose module
  • Manual testing with Postman and automated testing with Mocha and Chai
  • Front end access to authentication and to database operations


What’s next after the class?

CODE THE DREAM LABS – PAID APPRENTICESHIPS IN SOFTWARE DEVELOPMENT

After completing the Code the Dream classes, participants have the opportunity to apply for Code the Dream Labs, an internship in which student developers work on real-world web and mobile development projects supporting nonprofit organizations and small businesses.  Apprenticeship positions are full-time and apprentices receive compensation for their work in the form of a monthly stipend. Additionally, apprentices are expected to make a minimum nine-month commitment in which time they will not be actively looking for a development position with another company or organization. This program is a great opportunity for students to build their resume and strengthen the skills they learned in class through their work on real projects for real clients. You can see some of our projects here.

Please understand that due to capacity and funding, we cannot offer all CTD students a spot in the apprenticeship. However, following full completion of our program, including the advanced classes and the practicum, our graduates are well poised to begin their job search.

In some cases, CTD class applicants have more background in software development and might be ready to enter the apprenticeship directly. To read more about the CTD Labs Apprenticeship, click here.

Last week, our team hosted a community conversation about the ways we use #technology to connect with the world around us. Lots of great ideas and resources were shared amongst the participants. codethedream.org/tech-civic-e… Stay tuned for more!

About 2 days ago

@techhanh Thanks for joining us, Hanh! We will continue to explore topics around tech and civic engagement throughout August and September so stay tuned. 🤗

Last week

@BrianOurFriend A true digital native! pic.twitter.com/6AHiafWYpj

Last week

For our final question: Based on the ideas we’ve explored today, what ways do you plan to start (or continue) using technology to build a better future for everyone? How will you connect with your neighbors, your local businesses, and your local government? #CTDxTCE

Last week

Even with the ability to connect with people all across the world, digital communication still has its drawbacks, as described by @STurkle in her 2012 @TEDTalks entitled "Connected, but alone?" #CTDxTCE ted.com/talks/sherry_t…

Last week

Follow @CodeTheDream

Copyright © 2022 Code the Dream · All Rights Reserved · Website by Code the Dream & Tomatillo Design