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 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:
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
- Mac
- 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.