Big Nerd Ranch Review:

July 26, 2021
Reviews

Make Your Dollar Go Further

Earn up to 50,000 MR points (valued at $1,000 - $1,500) with the American Express Cobalt Card, a low-fee card that offers 5x the points on all food and drinks.

Bonus: $100 USD hotel credit

Big Nerd Ranch is a company and tech school located in Atlanta, Georgia. It offers 12 courses covering mobile development (Android and iOS), web development, user interface, and experience design.

The school doesn't offer any scholarships or payment plans, but they do offer discounts for students based in Atlanta who don't need some or all of the benefits included in the tuition fee.

If you want to know more about Big Nerd Ranch, you can click on the button below:

Big Nerd Ranch is a company and full-time tech school-based in Atlanta, Georgia. that teaches courses in-person and online. The school offers 12 courses covering mobile development (Android and iOS), web development, user interface, and experience design. They offer the following bootcamps:

  • iOS Bootcamps:
    • Advanced iOS.
    • iOS and Swift Essentials.
    • iOs Essentials.
    • Swift Essentials.
    • SwiftUI Essentials.
  • Android Bootcamps:
    • Advanced Android.
    • Android and Kotlin Essentials.
    • Android Essentials.
    • Kotlin Essentials.
  • Web Bootcamps:
    • Python Essentials.
    • React Essentials.
  • UX/UI Bootcamps:
    • UI Essentials.

The school also offers discounts for those who already live in Atlanta and don't need to spend money on transportation, food or a place to stay. Additionally, it also offers refunds and credit for those who decide to leave or take the course at a later date.

Who Is Big Nerd Ranch For?

Big Nerd Ranch helps experienced developers and beginners, in and out of Atlanta, learn about mobile (Android and iOS) development, web development and user interface and experience design. Depending on the program, students might or might not need previous experience or knowledge to join the school, so in this review, we've stated the requirements under each course.

Programs are a full-time commitment, and students have access to an online program.

Features & Benefits of Big Nerd Ranch

Here are a few of the most important features and benefits of Big Nerd Ranch:

In-Person Instruction

Big Nerd Ranch's in-person instruction creates an environment where students can concentrate better because there will be fewer distractions. This will grant them a better understanding and a higher chance of completing the course since they will also interact with instructors and peers.

A classroom also grants the opportunity to access more information since the student will be in the same place as their instructor and peers, making it easier to make themselves heard. This also makes it easier to make friends, problem-solve and build a network with people of different backgrounds.

Online Instruction

Big Nerd Ranch also offers the chance to take their courses online. Online instruction allows students to learn from the comfort of their homes or anywhere they would like to study. It also provides students who live far away the chance to enroll without having to relocate, making the course available for a wider base of students. This type of learning also suits students with different learning methods, letting them learn more flexibly.

The online courses that Big Nerd Ranch offers can fit around students' lives and activities, allowing them to be more relaxed than in a classroom environment. This type of option will allow working people to pursue a new career path without taking the risk of leaving their old jobs until they're ready to land a new role in software development.

Big Nerd Ranch's Course List

Students who enroll in any of Big Nerd Ranch's programs get eight hours worth of training a day in mobile development, web development and user interface and experience design. The school offers instruction from embedded experts that help students get to the finish line. 

The school's tuition fees include hotel, meals, and a shuttle to and from the hotel.

Big Nerd Ranch offers 16 different programs:

  • iOS Bootcamps:
    • Advanced iOS.
    • iOS and Swift Essentials.
    • iOs Essentials.
    • Swift Essentials.
    • SwiftUI Essentials.
  • Android Bootcamps:
    • Advanced Android.
    • Android and Kotlin Essentials.
    • Android Essentials.
    • Kotlin Essentials.
  • Web Bootcamps:
    • Python Essentials.
    • React Essentials.
  • UX/UI Bootcamps:
    • UI Essentials.

In the following table, you'll find an overview of the basic features and costs of these 12 courses.

CourseCourse TypeCourse LengthTuition
Advanced iOSFull Time
In-Person & Online
5 Days
(8 hours/day)
$4,200
iOS and Swift EssentialsFull Time
In-Person & Online
7 Days
(8 hours/day)
$5,200
iOs EssentialsFull Time
In-Person & Online
$4,200
Swift EssentialsFull Time
In-Person & Online
$2,250 excl.
SwiftUI EssentialsFull Time
In-Person & Online
4 Days
(8 hours/day)
$4,000
Advanced AndroidFull Time
In-Person & Online
5 Days
(8 hours/day)
$4,200
Android and Kotlin EssentialsFull Time
In-Person & Online
7 Days
(8 hours/day)
$5,200
Android EssentialsFull Time
In-Person & Online
$4,200
Kotlin EssentialsFull Time
In-Person & Online
Python EssentialsFull Time
In-Person & Online
$3,700
React EssentialsFull Time
In-Person & Online
UI EssentialsFull Time
In-Person & Online
$4,200

Here’s a breakdown of all of these programs:

iOS Bootcamps

Advanced iOS

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesAug. 09, 2021
Time CommitmentFull Time
8 hours per day.
Course Length5 Days
Cost of Tuition$4,200

Students will work with iOS APIs during this intensive 5-day course to build faster, more stable, stand-out apps. Study a broad range of topics from animations and custom drawing to debugging and performance tuning. This program is designed for iOS developers using Swift with at least 6 months' experience, ideally. And recommended for those who have experience working with view controllers, table views, collection views, and web services.

Through the course, students will:

  • Create custom views, animations, and behaviours across and beyond User Interface.
  • They will write robust asynchronous code and understand app performance concerns.
  • Use Swift together with Objective-C harmoniously in the same project.
  • Explore media processing, networking, and data modelling APIs.
  • Debug and troubleshoot performance and memory problems.
  • Combine frameworks to manage reactive data flows in applications.
Skills You Will Learn

The Advanced iOS course focuses on the following skills:

  • iOS, a mobile operating system created and developed by Apple Inc. exclusively for its hardware.
  • Application Programming Interface, also known as API, is an interface that defines interactions between multiple software applications or mixed hardware-software intermediaries.
  • Xcode, Apple's integrated development environment for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS.
  • User Interface Design, also known as UI, is a design approach that focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions.
  • Responsive Web Design, also known as Responsive Design, is a design and development that responds to the user's environment based on screen size, platform and orientation.
Coding Languages You Will Learn

The core coding languages you will learn in the Advanced iOS course are:

  • Objective-C, a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.
  • Swift, a powerful and intuitive programming language for iOS, iPadOS, macOS, tvOS, and watchOS.
Modules You Will Go Through

This course is divided into 6 modules. Here is a breakdown of the topics that will be covered:

Performance TuningDesign a well-abstracted, multithreaded API.
Find and fix CPU hot spots using the Instruments tool.
Create custom Operation subclasses for performing clean asynchronous work.
Study thread-safety concerns and resolve them with locks using Grand Central Dispatch.
DebuggingFind memory leaks, abandoned memory, and other problems using Instruments and the Memory Graph Debugger.
Track down hard-to-find bugs with LLDB and other Xcode debugging features.
Troubleshoot layout problems with the View Hierarchy Debugger.
Write unit tests to ensure the correctness of your code and learn testing best practices.
Customizing UIKitBend collection views to your will with fully custom collection view layouts.
Drive custom interactive view controller transition animations.
Authenticate to OAuth2 services and store credentials in the keychain.
ArchitectureWork with the UIDocument API for modelling data in document-based apps.
Explore wrapping legacy APIs with more modern patterns to help write safer code.
Study reactive programming and create reactive pipelines for clean data flow management using the Combine framework.
Drawing & GraphicsDraw custom views and image data using Core Graphics and UIKit drawing routines.
Explore how animation layers are used to build stand-out graphical effects.
Add Interface Builder support for your custom views.
Filter and process photos with Core Image.
InteroperabilityWork effectively with Objective-C and Swift in the same project.
Understand what does and does not cross the Swift/Objective-C bridge.

iOS and Swift Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesAug. 21, 2021
Time CommitmentFull Time
8 hours per day.
Course Length7 Days
Cost of Tuition$5,200

This program is designed to help experienced programmers begin developing applications for iOS with Swift. Students learn Swift language first; then, they learn about the fundamental building blocks of iOS and common patterns and conventions to help propel their development skills forward.

This course is designed for:

  • Experienced developers wanting to learn the fundamentals of iOS development.
  • Developers who have some experience with an object-oriented programming language such as Java.
Skills You Will Learn

The iOS and Swift Essentials course focuses on the following skills:

  • iOS, a mobile operating system for Apple devices.
  • Xcode, Apple's integrated development environment.
  • Integrated Development Environment, also known as IDE, is a software application that provides comprehensive facilities to computer programmers for software development.
  • UI, a design approach that seeks to make it easy for users to use an app.
  • Responsive Design, a development that responds to the user's screen size, platform and orientation.
  • API, Defines interactions between multiple apps.
  • JSON, a lightweight data-interchange format that is easy to read and write and easy for machines to parse and generate.
Coding Languages You Will Learn

The core coding languages you will learn in the iOS, and Swift Essentials course are:

  • Swift.
Modules You Will Go Through

This course is divided into 7 modules. Here is a breakdown of the topics that will be covered:

SwiftUnderstand elements of the Swift standard library.
Learn about Swift’s approach to safety and how to use it to write better apps.
Implement Swift’s functional patterns and utilize extensions to extend “out-of-the-box” functionality.
XcodeNavigate Apple’s IDE for developing iOS applications.
Debug problems with applications using the tools that Xcode provides
User InterfacesExplore basic interface elements such as labels, buttons, and segmented controls.
Use text fields along with the delegation design pattern to gather user input.
Build interfaces more easily using stack views.
Use containers such as tab bars and navigation controllers to manage more complicated application structures.
Design flexible interfaces that scale across different devices and screen sizes using Auto Layout and size classes.
CollectionsLearn how to utilize the data source design pattern.
Display lists of elements using table views.
Display grids of elements using collection views.
LocalizationRemove hard-coded locale-specific information – such as date formatting and decimal separators – from applications.
Localize applications into more than one language
Data PersistenceLearn how the file system is organized on iOS.
Use archiving to persist simple object graphs to the file system.
Use Core Data to manage and persist complex object graphs.
Web ServicesInteract with live APIs to fetch and display external information to the user.
Parse JSON data into Swift model objects.

iOs Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
8 hours per day.
Cost of Tuition$4,200

Through this course, students will be introduced to developing applications for iOS using Swift. Learn about the fundamental building blocks of iOS as well as common patterns and conventions to help propel their iOS development skills forward.

This course is designed for:

  • Experienced developers wanting to learn the fundamentals of iOS development.
  • Developers who have a working understanding of Swift.
Skills You Will Learn

The iOs Essentials course focuses on the following skills:

  • iOS, a mobile operating system for Apple devices.
  • Xcode, Apple's integrated development environment.
  • IDE, an application that provides comprehensive facilities to computer programmers.
  • UI, a design approach that seeks to make it easy for users to use an app.
  • API, Defines interactions between multiple apps.
  • JSON, a lightweight data-interchange format.
Coding Languages You Will Learn

The core coding languages you will learn in the iOS Essentials course are:

  • Swift.
Modules You Will Go Through

This course is divided into 6 modules. Here is a breakdown of the topics that will be covered:

XcodeNavigate Apple’s IDE for developing iOS applications.
Debug problems with applications using the tools that Xcode provides.
User InterfacesExplore basic interface elements such as labels, buttons, and segmented controls.
Use text fields along with the delegation design pattern to gather user input.
Build interfaces more easily using stack views.
Use containers such as tab bars and navigation controllers to manage more complicated application structures.
Design flexible interfaces that scale across different devices and screen sizes using Auto Layout and size classes.
CollectionsLearn how to utilize the data source design pattern.
Display lists of elements using table views.
Display grids of elements using collection views.
LocalizationRemove hard-coded locale-specific information – such as date formatting and decimal separators – from applications.
Localize applications into more than one language.
Data PersistenceLearn how the file system is organized on iOS.
Use archiving to persist simple object graphs to the file system.
Use Core Data to manage and persist complex object graphs.
Web ServicesInteract with live APIs to fetch and display external information to the user.
Parse JSON data into Swift model objects.

Swift Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
40 hours per week.
Cost of Tuition$2,250 excl.

This intensive course teaches students how to code with Swift language. The course starts with basic syntax and grammar, including Swift development best practices and patterns.

This course is designed for:

  • Developers with iOS experience in Objective-C who are ready to upgrade their skills and codebase to Swift.
Skills You Will Learn

The Swift Essentials course focuses on the following skills:

  • Document Object Model, also known as DOM, is a cross-platform and language-independent interface that treats XML or HTML documents as if they were tree structures where there is an object in each node representing a part of the document.
Coding Languages You Will Learn

The core coding languages you will learn in the Swift Essentials course are:

  • Swift.
Modules You Will Go Through

This course is divided into 4 modules. Here is a breakdown of the topics that will be covered:

Swift BasicsStart with Swift’s basic syntax for working with variables and control flow.
Safely work with the absence of values with the Optional type.
Work with failable operations by handling errors safely.
Standard LibraryLearn to use the basic types from the standard library for storing, organizing, and processing data.
Define functions and closures for doing your app’s work.
ModellingDesign custom structures, classes, and enumerations.
Understand object initialization, lifetime, and memory management.
Customize the behaviour of standard library types with protocols and extensions.
Deepening the KnowledgeWrite flexible code using generics.
Discuss modern patterns, including protocol-oriented programming.

SwiftUI Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesJul. 19, 2021
Time CommitmentFull Time
8 hours per day.
Course Length4 Days
Cost of Tuition$4,000

This course is designed to help developers begin creating applications for iOS and Mac using SwiftUI. Students learn about the fundamental building blocks of SwiftUI as well as common patterns and conventions to help propel their SwiftUI development skills.

Who should take this class?

  • Existing object-oriented developer who wants to learn Apple platform development.
  • Existing UIKit developers who want to learn SwiftUI.
  • Students should already be familiar with basic programming concepts: variables, statements, functions, arrays, data structures and common programming problems.
  • Students should be comfortable with Swift.
Skills You Will Learn

The SwiftUI Essentials course focuses on the following skills:

  • Data Flow, a way of representing a flow of data through a process or a system.
  • iPadOS, a mobile operating system developed for the iPad line of tablet computers.
  • macOS, a proprietary graphical operating system that works as the primary operating system for Apple's Mac computers.
  • Data Persistence, the characteristic of the state of a system that outlives the process that created it. This is achieved in practice by storing the state as data in computer data storage.
  • iOS, a mobile operating system for Apple devices.
  • API, Defines interactions between multiple apps.
  • JSON, a lightweight data-interchange format.
  • Modelling, the use of computers to simulate and study complex systems using mathematics, physics and computer science.
Coding Languages You Will Learn

The core coding languages you will learn in the SwiftUI Essentials course are:

  • Swift.
Modules You Will Go Through

This course is divided into 4 modules. Here is a breakdown of the topics that will be covered:

SwiftUI BasicsNavigate Xcode, Apple’s IDE for developing iOS applications.
Learn how views are composed in SwiftUI.
Modify the appearance and behaviour of views using modifiers.
ContainersArrange views linearly using stack.
Create paginated interfaces using tab views.
Organize content into grids.
Use forms to group controls used for data entry.
Create a scrolling interface of repeated content using lists.
Data Flow and PersistenceManage data source of truth using state and bindings.
Learn how the file system is organized.
Use archiving to persist simple object graphs to the file system.
Leverage the SwiftUI Environment to work with modal interfaces.
AdaptivityCustomize the appearance of multiplatform applications so they look great on iOS, iPadOS, and macOS.
Adapt interfaces based on user preferences such as preferred text size and colour scheme.
Scale interfaces based on the available space.

Android Bootcamps

Advanced Android

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesAug. 09, 2021
Time CommitmentFull Time
8 hours per day.
Course Length5 Days
Cost of Tuition$4,200

Students of this program will go beyond the fundamentals in Big Nerd Ranch's Advanced Android course for experienced Android developers. Learn how to prep an app for app store submission as well as the techniques that make programming skills stand out. The school will teach students how to maintain apps and improve their performance.

For this course, students will need:

  • Install the latest version of Android Studio.
  • Download the project templates and import them in Android Studio to ensure your environment is ready for class.
Skills You Will Learn

The Advanced Android course focuses on the following skills:

  • Android, a mobile operating system developed by Google for mobile devices, and it’s based on Linux. In this course, you’ll learn how to code Android apps using Java and the Android software development kit (SDK).
  • UI, a design approach that seeks to make it easy for users to use an app.
  • RxJava, the go-to framework for simplifying concurrency/asynchronous tasks inherent in mobile programming.
  • RxAndroid, a library that is specific to the Android platform.
  • DataBinding, a general technique that binds data sources from the provider and consumer together and synchronizes them.
  • OAuth, an open standard for access delegation that's commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
  • Dagger 2, a dependency injection framework based on the Java Specification Request that uses code generation through annotations.
Modules You Will Go Through

This course is divided into 5 modules. Here is a breakdown of the topics that will be covered:

Model ArchitectureConfigure your application for dependency injection using Dagger 2, so your application components can get the dependencies they need without unnecessary coupling.
Explore the usage of functional-reactive programming with RxJava and RxAndroid.
Add Data Binding to your application to help implement the Model-View-ViewModel architecture pattern.
Understand View Binding and how it relates to Data Binding.
Reap the benefits of dependency injection by easily testing your model layer objects.
Advanced NetworkingExplore the Retrofit library and learn how it can reduce the network boilerplate in your applications.
Learn how to authorize your application with a back-end server and make authenticated requests using OAuth.
Implement common patterns to deal with network exceptions and background threading.
Test your networking code using both unit and integration tests for a full test suite.
Android ViewsCreate a fully custom list item view to gain as much performance as possible from your UI.
Support accessibility in your custom views.
Maintain user focus as they navigate about your app using shared element transitions.
Animate changes to your UI using Motion Layout.
Apply a notification style to change how your data is displayed to the user depending on the type of data.
Test the UI of your application by using the Espresso framework to write your integration tests.
Performance TestingUtilize the built-in testing tools to identify view performance issues that can lead to dropped frames and suboptimal user experience.
Identify memory leaks in your application as well as conditions that can lead to high battery drain and unhappy users.
Creating BuildsConfigure your application to produce different build flavours and identify how these can be used.
Prepare your application for release in the Play store by configuring your application, signing it, and learning about the release process.
Improve your networking code with a popular library and common patterns for error handling and threading.
Streamline your model layer using dependency injection and functional-reactive programming principles with RxJava.
Improve your user experience with common UI patterns for navigation and notifications.
Test different layers of your application using popular libraries to give you the confidence to refactor and add new code.
Discover performance issues in your application that can lead to dropped frames and poor battery usage.
Current Android developers looking to boost their skills.
We recommend at least 6 months of working experience with Android applications.

Android and Kotlin Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesAug. 21, 2021
Time CommitmentFull Time
8 hours per day.
Course Length7 Days
Cost of Tuition$5,200

This course introduces students to developing applications for Android using the Kotlin language. Students will first learn the Kotlin language through a 2-day intensive study. Then students spend the rest of the program learning the fundamental building blocks of Android, as well as common patterns and conventions to help propel their Android development skills.

This program is designed for:

  • Developers who are looking to build Android applications and are new to the Kotlin programming language.
  • Those experienced with an object-oriented programming language but do not need to have familiarity with Kotlin.

Students should also:

  • Install the latest version of the JDK.
  • Install IntelliJ Community Edition (for the Kotlin portion of the course).
  • Install Android Studio.
Skills You Will Learn

The Android and Kotlin Essentials course focuses on the following skills:

  • Android, a mobile operating system developed by Google.
  • Object-Oriented Programming, also known as OOP, is a programming paradigm based on “objects” that can contain data and code (data in the form of fields, and code, in the form of procedures).
  • Java, a system for developing application software and distributing it in a cross-platform computing environment.
  • API, Defines interactions between multiple apps.
Coding Languages You Will Learn

The core coding languages you will learn in the Android and Kotlin Essentials course are:

  • Extensible Markup Language, also known as XML, is a markup language used to define a set of rules for encoding documents in a format that is both human-readable and machine-readable.
  • Kotlin, a cross-platform, statically typed, general-purpose programming language with type inference.
Modules You Will Go Through

This course is divided into 8 modules. Here is a breakdown of the topics that will be covered:

Kotlin ProgrammingUnderstand writable & read-only properties, take a look at Kotlin’s type system, and learn about nullable and non-nullable types.
Learn about the standard functions included with Kotlin's standard library: let, apply, also, takeIf, and run.
Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints.
Use the function type to define functions that accept other functions, and learn how to optimize them by using the inlining feature of the Kotlin compiler.
Use the functional programming features of Kotlin to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators and higher-order functions.
Objects, Inheritance, and extensionsWork with object-oriented programming concepts.
Learn about primary and secondary constructors, equality, and preconditions for object construction.
Learn how to use data classes and enums to represent data and algebraic data types.
Override classes and define abstract, open or closed classes.
Use Kotlin's built-in singleton implementation.
Understand extension functions to safely add behaviour to classes you don't control.
Advanced KotlinLearn how to interoperate with Java classes.
Explore Kotlin’s platform independence.
Use coroutines to do work in the background.
Use extensions with receivers to define a domain-specific language.
Android FoundationsUnderstand what an Activity is and how they are used to construct Android apps.
Master the activity lifecycle to elegantly respond to device changes.
Maintain UI state across rotation and process death.
Use the debugger to find and fix bugs.
Safely communicate across Activities.
Explore the differences between versions of Android and use new features while maintaining compatibility with older versions.
Full-Featured AndroidUse Fragments to create reusable components and to respond elegantly to different types of devices.
Display lists of items performantly with the RecyclerView API.
Peek behind the scenes at Android’s layout system and understand how to use layout tools such as ConstraintLayout.
Customize a dialogue to present modal content to the user.
Add navigation and menu options to the Toolbar.
Beyond the BasicsUse Room to access a database to performantly store application data and explore the implications of Android’s threading model.
Master the main thread on Android. Understand how to communicate between threads to present data to the user.
Seamlessly communicate with other applications using Android’s intent system.
Respond to device types to create an app that is optimized for both phones and tablets.
Increase the potential user base of an app by supporting multiple languages and improving accessibility.
Explore the MVVM architecture, DataBinding, and unit testing to improve the quality of your code.
Focus on the design of an application using Android’s styles and themes APIs. Construct XML Drawables to further customize how users see an app.
Connecting to the WebDownload, parse and present data from a web service.
Learn more about the Toolbar on Android and how to add custom views.
Perform background work safely in your application.
Receive and respond to system events.
Display content from a website in your application.
Adding Some FunLearn how to create your own custom views when the default widgets just won’t do.
Receive and respond to raw touch events.
Understand how to increase the delightfulness of an app through animation.

Android Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
8 hours per day.
Cost of Tuition$4,200

Students will embark on a journey to learn, which would usually take several years, in only a few days. This class covers everything they need to know about Android so that students will understand how to build stable, performant, and stylish apps using Kotlin.

This program is designed for those who are:

  • Experienced developers who are looking to expand to Android.
  • Familiar with basic programming concepts, who are comfortable working with the Kotlin language.
  • Experienced in object-oriented programming in Kotlin.

Students will also need to install:

  • Install the latest version of the JDK.
  • Install Android Studio.
Skills You Will Learn

The Android Essentials course focuses on the following skills:

  • Android, a mobile operating system developed by Google.
  • API, Defines interactions between multiple apps.
  • flatMap, a method that returns a new array by applying a given callback function to each element of the array and then flattening the result by one level.
  • Object-Oriented Programming, also known as OOP, is a programming paradigm based on “objects” that can contain data and code (data in the form of fields, and code, in the form of procedures).
  • Java, a cross-platform software development platform.
  • Enumerated Type, also known as Enums, is a data type that consists of a set of named values called elements, members, enumeral, or enumerators of the type.
  • Model–view–viewmodel, also known as MVVM, is a software architectural pattern that facilitates separation of the development of the graphical user interface from the development of the business logic or back-end logic so the view is not dependent on any specific model platform.
  • RecyclerView, a view group that contains the views corresponding to your data.
Coding Languages You Will Learn

The core coding languages you will learn in the Android Essentials course are:

  • XML, a markup language.
  • Kotlin, a programming language.
Modules You Will Go Through

This course is divided into 5 modules. Here is a breakdown of the topics that will be covered:

Android FoundationsUnderstand what an Activity is and how they are used to construct Android apps.
Master the activity lifecycle to elegantly respond to device changes.
Use the debugger to find and fix bugs.
Safely communicate across Activities.
Explore the differences between versions of Android and use new features while maintaining compatibility with older versions.
Full-Featured AndroidUse Fragments to create reusable components and to respond elegantly to different types of devices.
Display lists of items performantly with the RecyclerView API.
Peek behind the scenes at Android’s layout system and understand how to use layout tools such as ConstraintLayout.
Use Fragments with a ViewPager to swipe between screens in an application.
Customize a dialogue to present modal content to the user.
Add menu options and navigation elements to the Toolbar.
Beyond the BasicsUse an SQLite database to performantly store application data.
Seamlessly communicate with other applications using Android’s intent system.
Respond to device types to create an app that is optimized for both phones and tablets.
Increase the potential user base of an app by supporting multiple languages and improving accessibility.
Explore the MVVM architecture, DataBinding, and unit testing to improve the quality of your code.
Focus on the design of an application using Android’s styles and themes APIs. Construct XML Drawables to further customize how users see an app.
Connecting to the WebDownload, parse and present data from a web service. Learn how to properly create and manage threads on Android.
Master the main thread on Android. Understand how to communicate between threads to present data to the user.
Learn more about the Toolbar on Android and how to add custom views.
Perform background work safely in your application.
Receive and respond to system events.
Display content from a website in your application.
Adding Some FunLearn how to create your own custom views when the default widgets just won’t do.
Receive and respond to raw touch events.
Understand how to increase the delightfulness of an app through animation.

Kotlin Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
8 hours per day.

Students who enroll in this course will learn an introduction to Kotlin, a new language for Android development. Big Nerd Ranch will cover development techniques, language principles, and how to migrate existing Java projects to Kotlin. The program also explains why Google has pinned Kotlin as the future of Android development.

This course is for those:

  • Java Android developers who are interested in transitioning their projects to Kotlin.
  • Developers who are looking to explore the Kotlin language and see both object-oriented and functional programming paradigms implemented in a modern JVM language.
  • Junior Android developers who need to learn new skills to advance their careers.
  • Teams looking to upgrade their applications from Java to Kotlin.

Students will need to:

  • Install the latest version of the JDK.
  • Install IntelliJ.
Skills You Will Learn

The Kotlin Essentials course focuses on the following skills:

  • OOP, a programming paradigm that can contain data and code: data in the form of fields and code in the form of procedures.
  • Java, a cross-platform software development platform.
  • API, Defines interactions between multiple apps.
  • Ktor, an asynchronous framework for creating microservices, web applications, and more.
  • Loop Testing, also known as Loops, is a type of software testing type that is performed to validate the control structures.
Coding Languages You Will Learn

The core coding languages you will learn in the Kotlin Essentials course are:

  • XML, a markup language.
  • Kotlin, a programming language.
Modules You Will Go Through

This course is divided into 4 modules. Here is a breakdown of the topics that will be covered:

The BasicsUnderstand writable and read-only properties and take a look at Kotlin’s type system.
Work with conditionals and control flow statements and gain the additional support of control flow statements as assignable expressions.
Learn about nullable and non-nullable types and how to work with null safely.
Understand exceptions and how they may be safely handled.
Collections and FunctionsLearn how to represent series of data with mutable and read-only collection types.
See how to work with data for loops while loops, break, and continue.
Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints.
Learn about defining class- and file-level functions and specifying their return types.
See how to pass functions as arguments, lambda notation, function references, and function inlining by example.
Use functional paradigms to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators.
Objects, Inheritance, and ExtensionsWork with object-oriented programming concepts.
Learn about primary and secondary constructors, equality, and preconditions for object construction.
Learn how to use data classes and enums to represent data and algebraic data types.
Override classes and define abstract, open or closed classes.
Understand extension functions to safely add behaviour to classes you don't control.
Advanced KotlinLearn how to interoperate with Java classes and supports Java compatibility.
Take a peek at the future of multithreading with coroutines.
Use Ktor to stand up a simple web server in Kotlin.
Leverage structured concurrency and the Flow API to build safe, efficient streams

Web Bootcamps

Python Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
8 hours per day.
Course Length4 Days
Cost of Tuition$3,700

The Python Essentials program is perfect for those who need to get a working knowledge of Python quickly. This class will introduce you to the language from the basics, Object-Oriented Programming and the effective use of built-in library modules, to advanced topics like custom iteration, generators, closures, decorators and packages.

No prior experience with Python is required. However, students need to have prior experience with some other programming languages such as C++, Java or Perl. They should already be familiar with the basic programming concepts: variables, statements, control-flow, functions, arrays, data structures and common programming problems. And they must already know how to work with: files, folders, editors, command shells, environment settings, internet connections and other essential aspects of using a computer for software development.

Students will need to:

  • Install Python 3.6.
  • Install your preferred text editor: Pycharm is the one that works best.
Skills You Will Learn

The Python Essentials course focuses on the following skills:

  • OOP, a programming paradigm that can contain data and code: data in the form of fields and code in the form of procedures.
  • Object Model, properties of objects in a specific computer coding, technology, notation or methodology that uses them.
Coding Languages You Will Learn

The core coding languages you will learn in the Python Essentials course are:

  • Python, free software environment and programming language for statistical computing and graphics supported by the R Foundation for Statistical Computing.
Modules You Will Go Through

This course is divided into 5 modules. Here is a breakdown of the topics that will be covered:

Working With DataLearn how to represent data in Python idiomatically.
Master Python’s data structures and collections, such as tuples, lists, dictionaries, sets, etc.
Learn about Python’s capabilities to handle and process text.
Understand Python’s sequences and their capabilities for iterations, slicing and reductions.
Discover the power of List Comprehensions.
Working With CodeLearn how to organize larger programs.
Work with functions.
Understand exceptions and error handling in Python.
Learn about modules, namespaces and the difference between global and local definitions.
Get an overview of Python’s most useful modules.
Classes and the Python Object ModelDiscover what Object-Oriented Programming (OOP) is and how it works in Python.
Learn how to define classes and methods and how to manage instance data.
Master single inheritance, multiple inheritance and method overriding.
Understand how the object model works in python.
Discover how dictionaries are at the core of how objects work in Python.
Understand how class and instance attribute lookups work.
Iterators and GeneratorsLearn about the iterator protocol and how to make your own objects respond to iteration.
Discover generators and generator expressions.
Understand the similarities and differences between list comprehensions and generator expressions.
Assemble Generator pipelines to process data in a flexible and modular way.
Some Advanced Topics, Testing, Debugging and PackagesLearn about closures and use them to define function decorators.
Understand static and class methods.
Discover the powerful flexibility of Python’s function arguments.
Learn about Python’s facilities for testing and debugging code.
Organize your projects into importable packages.
Learn how to install third-party packages.
Working effectively with the Python programming language, standard library and Python programming techniques: scripting, tools for systems administration, data processing, object-oriented programming in Python, advanced Python programming topics.

React Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
8 hours per day.

For those who have some programming experience and want to learn how to build responsive web apps using React, this course is for them or their teams. In this program, students craft responsive and complex websites through maintainable user interface components. Students will get a brief refresher on CSS, HTML and Javascript as they dive into the React framework. Then they'll learn the ins and outs of the framework so that they can build solid and responsive applications.

This program is designed for:

  • Native developers who want to create a web presence that supports an app grows a user base and collects user feedback.
  • Backend developers who need to create full-stack web apps.
  • Web developers transitioning to ReactJS.
  • A basic understanding of object-oriented or functional programming is expected.
  • Software development experience is necessary, though it does not have to be with JavaScript.
Skills You Will Learn

The React Essentials course focuses on the following skills:

  • CSS Flexible Box Layout, also known as Flexbox, is a CSS 3 web layout model that allows responsive elements within a container to be arranged automatically depending on screen size.
  • React, a powerful Javascript library that is used to build more complicated web applications.
  • React JSX-templating, also known as JSX, is a react component for style encapsulation. It helps you create components with scoped styles, also compatible with material-UI components.
  • Asynchronous JavaScript and XML, also known as AJAX, a set of web development techniques that use various web technologies on the client-side to create asynchronous web applications.
  • REST, a software architecture that uses a subset of HTTP and is commonly used to build interactive applications with web services.
  • API, Defines interactions between multiple apps.
  • Cypress, a JavaScript end-to-end testing framework.
Coding Languages You Will Learn

The core coding languages you will learn in the React Essentials course are:

  • Cascading Style Sheets, also known as CSS, is a style sheet language used for describing how a document written in a markup language will look.
  • Hypertext Markup Language, also known as HTML, is the standard markup language used in building applications and web pages.
  • JavaScript, also known as JS, is the programming language for the Web. It is used to make web pages dynamic and interactive since it can update and change both HTML and CSS.
Modules You Will Go Through

This course is divided into 3 modules. Here is a breakdown of the topics that will be covered:

Building Responsive, Mobile-Friendly WebsitesStyle and layout an application with HTML and modern CSS.
Create a responsive web page with CSS Grid Layout, Flexbox, and Media Queries.
Implement visual effects and animation using CSS3 transitions.
Write JavaScript functions to respond to user interactions with the page.
Use HTML5 form elements to create an order form.
Ensure correct input with client-side validation.
Creating Web Applications With ReactSplit your interfaces into easily managed, reusable components using the React framework.
Utilize JSX to describe how the interfaces should be rendered.
Persist and synchronize state between components using React hooks.
Manage cart contents with a state reducer.
Access, create and delete remote server data using AJAX and REST.
Asynchronous data fetching with React hooks and promises.
Creating orders and login in with a backend API.
Manage routing with React Router.
Creating orders and login in with a backend API.
Sync open orders with WebSockets.
Pass user details throughout the application with React Context.
Testing ReactEnsure your website behaves as expected through the test.
Write unit tests with React Testing Library.
Write end-to-end tests with Cypress.

UX/UI Bootcamps

UI Essentials

LocationIn-Person – Atlanta
Online
Class Size12
Start DatesNone scheduled
Time CommitmentFull Time
40 hours per week.
Cost of Tuition$4,200

For those who want to learn how designers create user interfaces that are simple, easy-to-use, and easy to look at, Big Nerd Ranch teaches them how to make better design choices in order to build user interfaces that are useful, easy to understand and stylish. Those working with a designer will be able to do it more efficiently and with less friction. Those making their own designs will learn to make ones that users will want to use.

This program has been designed for:

  • Programmers who want to make smarter UI design choices or who want to work more efficiently and effectively with designers.
  • Product Owners looking to more effectively communicate and understand design.

Students will also need:

  • Something to write with: a fine-tip pen or sharp pencil, a broad, black marker (Sharpie or similar), and a broad-tip, coloured marker (Sharpie or similar).
  • A printout of the Big Nerd Ranch Design Workbook.
  • The ability to take a photo of the completed workbook sheets (8.5”x11”) and upload them in order to share with the class.
  • A mobile device (iOS or Android) for applied research. Either a phone or tablet works.

Modules You Will Go Through

This course is divided into 4 modules. Here is a breakdown of the topics that will be covered:

IntroductionWhat you’ll learn during class
UsefulBrainstorm features for a hypothetical application.
What is user want versus user need.
Reducing features from a brainstorming session in order to create a well-tailored application.
UnderstandableUsing the concept of recall versus recognition in order to make intuitive interfaces.
The importance of using hierarchy in order to organize content and user interface elements.
Using human language rather than computer language to more fully inform the user.
StyledBuilding intuitive interfaces that better direct a user's eye to the most important elements.
Optimizing app features to create a less distracting interface for the user.
Creating consistent interface elements in order to cut down on user confusion and cognitive load.

Job Placement & Career Support

Big Nerd Ranch makes sure to surround you with people who will support students every step of the way and who want them to succeed. This is especially important in this school because it is not only a school; Big Nerd Ranch is also a digital product development agency. So you know for certain that each and every one of their mentors is a professional working in the industry.

Along with them, students will also be working hand to hand with cohort classmates to solve the problems given to them throughout the course.

Companies Hiring Graduates

The following companies have hired Big Nerd Ranch graduates:

NASAAmazonFacebook
GoogleEtsyAirbnb
ORKIN

Costs, Payment Plans & Scholarships

#1 Costs

Big Nerd Ranch’s costs vary depending on the program you choose. Here’s a breakdown of how much each of them costs.

iOS Bootcamps:

Advanced iOS$4,200
iOS and Swift Essentials$5,200
iOs Essentials$4,200
Swift Essentials$2,250 excl.
SwiftUI Essentials$4,000

Android Bootcamps:

Advanced Android$4,200
Android and Kotlin Essentials$5,200
Android Essentials$4,200
Kotlin Essentials

Web Bootcamps:

Python Essentials$3,700
React Essentials

UX/UI Bootcamps:

UI Essentials$4,200

Big Nerd Ranch's prices include airport pickup, hotel, meals, and a shuttle to and from the hotel so you can go to school. This means you won't have to pay for anything once you arrive in Atlanta; the school will be taking care of everything.

#2 Discounts

Big Nerd Ranch offers discounts for students who are already in Atlanta and don't really need to spend money to be picked up at the airport, stay at a hotel or get their meals figured out. If you are one of these students, get in contact with the school's faculty to get those expenses discounted from your tuition fee.

#3 Credit and Refund Policy

Students who cancel their registration may choose to either use it as bootcamp credit or receive a refund. The percentage of the refund or credit will depend on how close they are to the starting date. Taking that into account, students will always receive partial refunds of their money, but they can receive 100% credit.

In this table, the credit and refund policy is explained in more detail:

Time SpanCreditRefund
More than 30 days100%90%
30-15 days90%70%
15-1 day70%50%
On or after the first day of classNoneNone

The school also requires students to pay full tuition before the start of the program.

Meet The Team

These are some of the people you will be rubbing shoulders with:

Stacy HenryChris StewartAngie TerrellDaniel Ra
Eric WilsonHolly AvilaJake SenkbeilDeanne Stock

How To Apply To Big Nerd Ranch

Step 1: Go To Their Sign Up Page

You can start your enrollment process by visiting Big Nerd Ranch's website. You can do so by clicking the button below.

Step 2: Register

It's as simple as that. The school doesn't require any tests or interviews. You just fill a short form, pay and start learning.

Big Nerd Ranch User Reviews

Here are just a handful of verified Big Nerd Ranch reviews from a few of their members:

“Very fast paced course. I was initially concerned that I would not retain much of what was covered. However, it has proven invaluable to the advancement of my iOS skills.”Mark Lowther.

“I highly recommend this type of training and the Big Nerd Ranch has always the latest and cutting edge training for software developmnent. I am a proud Alumni.”Marcelo Farjalla

“The class is pretty intense. It's split between lectures and then working through a tutorial chapter in the book covering the same material. It seems like there was always almost enough time to finished the chapter material before we went to the next lecture, but never quite enough, and I don't think I'm slow. In the end, though, it was effective.”Mark Boszko.

“The biggest thing I got from the bootcamp is that I actually got rid of my impostor syndrome. Being there, following along every lesson, learning a ton, I left with a confidence that I did not have before. At the end of the week, I was able to manually draw a graph in Swift, based on dynamic data and to integrate it in a Objective-C code base. Every detail of the bootcamp is well thought out. The overall experience is absolutely fantastic.”François-Olivier Leblanc.

“I was new to iOS programmng and so, for me, the pace was very fast. The course proved to be an excellent foundation for me to build upon. I am looking forward to attending an Advance course when I feel like I have progressed enough to benefit from it.”Cindy Yates.

“This course was an excellent, though high intensity, introduction to iOS programming with Objective-C. Clearly this is an older course, and I have since gone on with the books to Swift, but Joe Conway did an excellent job with this hands on course, keeping everybody together on the same page and steadily progressing.”Bruce Carter.

Big Nerd Ranch Alumni

In case those reviews haven’t convinced you, here are a few quick stories about Big Nerd Ranch members—the sort of people you’ll be rubbing shoulders with once you enter the program.

Before Big Nerd RanchAfter Big Nerd RanchDo They Recommend Big Nerd Ranch?
Del was working with quality assurance.Del is now working as the Lead iOS Developer at ParkHub.“I highly recommend Big Nerd Ranch bootcamps…”
Nicholas was working as a classroom mentor and project reviewer.Nicholas is now working as a Solutions Architect specializing in on-device Machine Learning for Big Nerd Ranch.“…it is worth every penny if not more.”
Michael was working as a designer and programmer.Michael is now working as a Lead Front End Developer at the American Academy of Orthopaedic Surgeons.“…I highly suggest Big Nerd Ranch courses.”

How To Contact Big Nerd Ranch

In the following table, you'll find the most important contact info so you can get in touch with Big Nerd Ranch in order to learn more, ask any questions you may have or sign up.

Email[email protected]
Social Media
Apply Now button
Mailing Address200 Arizona Ave NE, Atlanta, GA 30307

In Summary

Big Nerd Ranch is a tech company and school that offers 3 kinds of courses that cover mobile and web development and UI/UX design. To enroll in the school's programs, you may or may not need to be an experienced developer depending non the course.

The school doesn't offer payment plans or scholarships, but they do offer discounts to those living in Atlanta because some of the things they offer won't be needed by them. It also offers both refunds and credit to use at a later time.

If you want to know more about Big Nerd Ranch, you can click on the button below:

Canada's Best Credit Cards

Exceptional Value

Earn up to 40,000 Aeroplan Miles (valued at $800 - $1,200) with the American Express Aeroplan Card, our #1-rated card in Canada in 2021.

Bonus: Includes Buddy Pass

The Finer Things In Life

Earn up to 80,000 Membership Rewards points (valued at $1,600 - $2,400) with the American Express Platinum Card, plus a $200 annual travel credit.

Bonus: Airport Lounge Access

Low Fee, High Value

Earn up to 50,000 MR points (valued at $1,000 - $1,500) with the American Express Cobalt Card, a low-fee card that offers 5x the points on all food and drinks.

Bonus: $100 USD hotel credit