Course Overview
1. Course Structure
Class meets twice a week for 90 minutes each. Each class combines lectures, demos, and in-class activities.
2. Schedule Overview
The boot camp follows this high-level schedule:
2.1 Unit 1 (Modules 1–6) Spring Boot and REST
In the Spring Boot and REST unit, we'll briefly review concepts from the Java Foundations program before moving on to the foundations of building web services in the popular Java framework, Spring Boot. Later, we'll make applications more robust using techniques and technologies such as test-driven development with JUnit and documentation generation using OpenAPI.
In this unit we'll cover the following:
-
Java fundamentals review
-
Web apps with Spring Boot
-
REST and testing
-
Model-View-Controller
-
OpenAPI and query parameters
2.2 Unit 2 (Modules 7–11) Data Stores
We'll introduce the development of modern web services using the widely popular Java Spring Boot framework. We'll also spend time exploring the server-client model before transitioning to project initialization using Spring Initializr; additionally, we'll build our first routes and check server responses using Insomnia.
In this unit, we'll cover the following:
-
Relational databases
-
Advanced SQL statements
-
Spring Data JPA
-
Object-relational mapping
-
NoSQL with Cassandra
2.3 Unit 3 (Modules 12–16) Security and Deployment
Building on the concepts from the Spring Boot week, we'll introduce the Richardson Maturity model in the process of developing RESTful servers in Spring. Later we'll begin developing automated tests for servers and begin using test-driven development as a new, safer development paradigm.
In this unit, we'll cover the following:
-
Mockito, services, and security
-
Authorization and deployment
-
CI/CD in Heroku
2.4 Supplemental Content
Toward the end of this boot camp, you'll be given access to four modules of additional curricular content, covering topics relevant to modern industry standards and best practices. This content is designed to expand on your learning in the boot camp and introduce you to essential topics that companies such as Netflix rely on and look for in potential new hires.
These modules are independent of the course, self-paced, ungraded, and optional—yet we highly recommend you take the time to work through them.
3. Assignments and Grading Breakdown
Your course grade will depend on in-class participation, homework assignments, and the final project as follows:
-
Attendance and participation: 10%
-
Homework assignments: 10%
-
Summative project 1: 20%
-
Summative project 2: 20%
-
Final project (capstone): 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.
-
Homework assignments—These take-home assignments will require you to apply the skills covered in each course module in order to create a working production-ready application.
-
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 project—The final project will require you to apply all the technical skills covered in this course to develop a portfolio-ready capstone that is ready to be published in the cloud.
-
Knowledge checks—These are ungraded self-assessments that will help you gauge your knowledge of certain topics.
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'll 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.
4. 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.
5. 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.
6. Support
As mentioned earlier, you're not in this alone. This section describes the community of support that you'll receive from various people.
6.1 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.
6.2 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.
6.3 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.
6.4 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.
6.5 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.