What Students Learn and Build at Turing

This is a resource for prospective students to build an understanding of the differences between Front-End and Back-End Engineering, get information needed to make an informed decision about which program is the best fit for you and explore the Turing curriculum and get a little more insight into the life of a Turing student.

Front-End Progression

Front-End Engineering focuses on building the part of applications that users see and interact with. Our curriculum covers object-oriented programming, modern frameworks, cross-browser compatibility, and touches on basic UX and design principles. The program is approximately 7 months long, broken up into four 6-week modules.

Module 1

Module 1 focuses on building a foundation for Front-End Engineering and some of the tools and processes necessary for development. The bulk of students' time will be spent learning and implementing JavaScript fundamentals, including object-oriented programming. Students will also recreate design comps with HTML and CSS.

Student Project: By the end of the module, students are able to build an application like this Tic-Tac-Toe game that can be played by a user in a web browser. A seemingly simple game, a good amount of logic and software design are both required.

Module 2

Module 2 focuses on JavaScript, popular patterns for writing and organizing front-end code, and learning new tools and workflows to help improve the development process for more complex web applications.

Student Project: By the end of the module, students are able to build an application like this hotel management tool for hotel customers and staff to manage room bookings and calculate customer bills. In building this project, students apply concepts around designing and organizing code, and making network requests to send and receive data.

Module 3

Module 3 focuses on front-end frameworks and libraries for building complex, scalable, fully-tested applications, as learning new tools and workflows to help improve the development process for more complex web applications.

Student Project: In Module 3, students are able to choose the topic and content of the project as long as they implement certain technologies. This sample project uses React and Redux, a network request to the Wordnik API, and was fully tested. While the features in this project may appear to be less robust than the Module 2 project, it uses more sophisticated technologies. This project was built by one student in about 5 days.

Module 4

In Module 4, students work in full-stack (Front-End and Back-End) engineering teams to emulate a professional working environment. Students are expected to apply all of the technical and professional development concepts they have learned throughout the program in order to extend and refactor existing production quality code as well as create new web and mobile applications from start to finish. In addition, students refine their behavioral and technical interviewing skills through weekly group and solo practice, networking and outreach with industry professionals, self-reflection and journaling.

Student Project: This application was built by 2 Back-End students and 2 Front-End students during their last 2 weeks before graduation. They collaborated using a professional workflow to bring together their passions for brainstorming, interesting design trends and challenging logic.

Student Project: This application was built by 1 Back-End student and 3 Front-End students in about 2 weeks. One Front-End student had the role of Back-End Developer on this project! This group faced interesting and relevant challenges such as storing images in a database and using technologies they were not yet familiar with.

Back-End Progression

Back-End Engineering focuses on most of the work that happens behind-the-scenes to make an application function. Our curriculum covers object-oriented programming, data structures, and building database-backed web applications. The program is approximately 7 months long, broken up into four 6-week modules.

Module 1

Module 1 focuses on using the Ruby language and object-oriented programming (OOP) to build software. Students develop skills to write automated tests, pseudocode, write implementation code and refactor code to meet Ruby conventions.

Student Project: By the end of Module 1, Back-End students are able to build a program like this command line Battleship game. Behind the interface is a lot of work with logic, decisions about how to structure data and error checking. Projects of this nature build a strong foundation with object-oriented programming (OOP) and software design principles.

Module 2

Module 2 is when Back-End students expand upon fundamental Ruby skills by building database-backed web applications in Rails. They also explore best practices in agile project management and collaboration.

Student Project: This project is a fictitious pet adoption platform where visitors can favorite pets and apply to adopt their newest furry friend. Favoriting items and submitting forms is a huge part of web development, so this was a hands-on application for many core concepts of the module.

Module 3

Module 3 pushes students look beyond the basics of building Rails web applications with the intent of taking a business need and turning it into working software. Students integrate third party APIs, produce APIs, build Rails applications that consume and process data, and improve the performance of their app through caching, background workers and some front-end JavaScript.

Student Project: In Module 3, students are able to choose the topic and content of the project as long as they implement certain technologies. This sample project was built by a team of 4 students over several weeks. It is built with the Rails framework and gets data from ProPublica and a News API. It also integrates with Twitter.

Module 4

In Module 4, students work in full-stack (Front-End and Back-End) engineering teams to emulate a professional working environment. Students are expected to apply all of the technical and professional development concepts they have learned throughout the program in order to extend and refactor existing production quality code as well as create new web and mobile applications from start to finish. In addition, students refine their behavioral and technical interviewing skills through weekly group and solo practice, networking and outreach with industry professionals, self-reflection and journaling.

Student Project: This mobile application was built by 3 Back-End students and 1 Front-End student during their last 2 weeks before graduation. They worked with a project manager and used agile practices resembling an engineering team in the industry.

Student Project: This application was built by 2 Back-End students and 2 Front-End students in about 2 weeks. They saw an opportunity in their community and built something to create change using their new skills!