Course Overview

Course Structure

The Netflix Java Fundamentals Boot Camp is a 16-week course. Class meets twice a week for ninety minutes each. Every class combines lectures, demos, and in-class activities.

Schedule Overview

The boot camp follows this high-level schedule:

Unit 1 (Modules 1–6): Programming with Java

In this unit, you'll do the following:

  • Get set up and systems-ready for the rest of the boot camp, while building your understanding of fundamental concepts of programming.

  • Create different types of variables in Java and learn how to compose statements to accomplish simple tasks, such as printing to the console.

  • Be introduced to the critical elements of flow control structures in Java, including if statements, for loops, and while loops.

  • Be introduced to organizing code into methods, allowing them to add processes to the Java classes.

  • Gain practical experience with the most common data structure in Java—the array—then be introduced to using both traditional and enhanced for loop approaches to iterating over, generating, and modifying data within the structures.

  • Synthesize previous course content into a series of console applications, and complete your first summative project.

Unit 2 (Modules 7–11): Object-Oriented Programming in Java

In this unit, you'll do the following:

  • Revisit some of the earlier concepts of typing, to explore object types and their organization.

  • Learn how to create classes in Java and how those classes create new types of objects. Additionally, learn to create methods for classes and how those methods can create interactivity between objects. Finally, learn about memory management and storage of data objects in memory.

  • Begin thinking about classes from an architectural design perspective, and learn about and practice using interfaces and composition.

  • Learn about how classes can inherit properties and methods from parent classes.

  • Explore polymorphism—making the properties of multiple types available to a single type or class.

  • Architect and implement classes for a series of smaller projects on object-oriented programming, and complete your second summative project.

Unit 3 (Modules 12–15): RESTful API Requests in Java

In this unit, you'll do the following:

  • Learn about some of the data structures in the collections library for Java, including lists and maps.

  • Learn about networks and how to access them using Java; learn to make RESTful API requests and handle JSON responses effectively in Java 8.

  • Be introduced to the concept of exceptions and how to gracefully handle errors in your code.

  • Bring together everything you have learned so far to build a command-line application to interact with several Web APIs, and complete your final summative project.

Assignments and Grading Breakdown

Your course grade will depend on in-class participation, two summative projects, and the final project, as follows:

  • Attendance and participation: 20%

  • Two summative projects: 40%

  • Final summative project: 40%

You can fulfill these requirements as follows:

  • Attendance and participation—This is a fast-moving course, so you should expect to show up and participate during in-class exercises for every session, unless you've notified your instructor in advance.

  • Two summative projects—These summative projects will require you to apply the skills covered in several modules of content. They will be group assignments that you will have time to work on in class.

  • Final summative project—The final summative project will require you to apply all the technical skills covered in this course to develop and present a robust, cleanly written application. This will also be a group assignment, with in-class time allotted for work.

  • Weekly assignments:—These consist of weekly challenges, practice activities, and knowledge checks. Weekly challenges are code exercises that are similar to summative projects but are smaller in scope and ungraded. Practice activities are code exercises that are similar to weekly challenges but are smaller in scope and accompanied by a knowledge check. A knowledge check is an ungraded self-assessment that will help you gauge your knowledge of certain topics. Each week, you will have either a weekly challenge or a combination of practice activities and knowledge checks that do not contain a summative project.

You are expected to do your own work and write your own code. When using external code blocks or APIs, you should comment to indicate copied snippets. Throughout the course, you will be asked to present your work and explain your choices, including describing how your code is intended to work.

Now that you have the big picture, let’s dig into the details of the course.

A Week in the Life

While each week covers different topics, the classroom learning experience is consistent. A typical class consists of the following components:

  • Class activities—These are instructor lectures and activities in which the whole class takes part.

  • Small-group activities—These are activities for either small groups or pairs that everyone completes.

  • Independent activities—These are individual activities that everyone completes.

The makeup of this mix will change as you progress through the course and become more independent and proficient with key concepts.

Class Meetings on Zoom

The entire course is facilitated via Zoom, with different arrangements depending on the activity type, as follows:

  • Class activities—During a class activity, the whole class stays in the same Zoom room and shares the Presenter view.

  • Small-group activities—When the class splits up for a small-group activity, your instructor will assign a breakout room to your group, where you can work together in private. The instructor and the TAs will make their rounds to each room, but you can always reach them through direct messages in Slack.

  • Independent activities—In an independent activity that takes place during a regular meeting time, everyone returns to the same shared Zoom room that the class activities use. During an independent activity, please mute your audio and turn off your camera. If you have a question, send a direct message to your TAs and your instructor. They'll monitor Slack for common questions that need their own breakout rooms. Other students who have the same questions can then join these rooms.

Support

As mentioned earlier, you're not in this alone. This section describes the community of support that you'll receive from various people.

Instructor

Your instructor is the lead facilitator for your learning experience. Instructors have practical experience in the field, so they're exceptional resources for offering insight, examples, and advice to help you succeed. The instructor manages all the virtual classes, guides the TA team, and monitors your progress.

TAs

TAs offer support, guidance, and critical feedback and evaluations of your assignment submissions. TAs attend the virtual classes, help troubleshoot issues, and lead small breakout groups.

Student Success Manager

Your SSM is the person to contact for any questions about the course structure, delivery, or policies. If you're personally or academically struggling or feel that you need support, don't hesitate to reach out to your SSM. That is, if you don’t know where to go, whom to ask, or what to do, ask your SSM!

Your SSM is available during standard business hours via both Slack and email.

Peers

During the course, you'll chat with other students, ask for help, and assist others both in the class and via Slack and Zoom. Research in online learning shows that the students who answer questions from their peers perform the best. It makes sense! A terrific way to solidify new learning is to teach it back to someone else.

Slack

Slack deserves its own mention. Slack is a community space where you can converse with classmates and ask the TAs questions. We encourage you to follow the Read-Search-Ask method. If you get stuck, start by thoroughly reading the course content. Then search for answers online (ask your instructional team for tips about places to search). Finally, if you still feel stuck, ask your question in Slack. Remember that a goal of the course is to train you on how to solve problems as you learn new technologies in the workplace.