What our students learn.

Market Ready

The curriculum at Base Camp Coding Academy is anything but static. We want our graduates to have a competitive leg up in the industry, so we prep them with the latest and greatest in tools and technology. Our curriculum committee of industry leaders meets regularly to review recent advancements in software engineering and make adjustments to the curriculum as necessary. Throughout the year, Base Campers will be trained in:

Every developer needs a solid foundation. Our students learn how to turn problems into solutions as they learn the Python programming language.

The web is everywhere, and so are our students. They bring their newfound skills to the browser as they learn HTML, CSS, and JavaScript.

Our students learn the fundamentals of backend web development with the Django web framework. We write out HTTP requests and responses by hand, predict what SQL will be generated by our ORM, and provide rich input validation.

Base Campers learn how to work effectively in an Object-Oriented environment as they revisit their fundamentals in Java. Students appreciate the similarities and differences between tools as they compare their past experiences in Python and JavaScript with Java.

We finish our Java coverage by revisiting web development with the Spring web framework. Students build full stack web applications with Spring MVC and send hand-crafted SQL to their PostgreSQL instance with JDBC.

In addition to all of the technical skills that Base Campers acquire during our program, we also focus on their development as professionals. This involves daily activities centered around effective communication, leadership, interviewing, and personal growth.

Technical Curriculum Details

Language Basics and Application Fundamentals


Web Development


Dynamic Web Development


Java Application Development


Language Basics and Application Fundamentals

PART I: Fundamentals of Programming


  • Python


  • Gries, Paul, Campbell, Jennifer, Montojo, Jason (2013) Practical Programming: An Introduction to Computer Science Using Python 3 (2nd Edition). Dallas, TX: The Pragmatic Bookshelf.

  • Coding Bat


  • Introduction to Programming

  • Function Design

  • Modular Program Organization

  • Decision Making and Looping

  • Data Collection Types


  • Variables, Numbers, Functions, Strings, IO

  • Branching, Modules, and Command Line Basics

  • Methods, Lists, and GitBasics

  • Loops

PART II: Advanced Python Skills


  • Python


  • Gries, Paul, Campbell, Jennifer, Montojo, Jason (2013) Practical Programming: An Introduction to Computer Science Using Python 3 (2nd Edition). Dallas, TX: The Pragmatic Bookshelf.


  • File Input/Output

  • Algorightm Basics

  • Databases

  • Object-Oriented Programming

  • GitHub


  • File I/O and Git/GitHub Branching

  • Alternate Data Structures, Algorithms Basics

  • OOP, Testing and Debugging

  • SQL

Static Web Development

PART III: Introduction to HTML and CSS


  • HTML

  • CSS


  • FreeCodeCamp

  • Mozilla Developer Network


  • Web Page Construction and Structure

  • HTML Elements

  • Box Model

  • Layout vs Components

  • CSS Formatting

  • CSS Flexbox

  • Front End Process and Design

  • Hosting on Github Pages

  • Eleventy


  • HTML/CSS, DevTools, GitHub Pages

  • Semantic HTML

  • CSS Flex, CSS Grid

  • Media Queries, BEM

Dynamic Web Development

PART IV: Django Basics


  • Django


  • Vincent, William (2018) Django for Beginners: Learn Web Development with Django 2.0. Independently Published.


  • User Management

  • Deployment

  • Handling Requests with Django Views

  • Processing Forms with Django Forms

  • Planning and Constructing Models

  • Testing Basics


  • Django Views, Templates, Routes

  • Django Models, Admin, PostgreSQL, PgAdmin

  • Django Forms, ModelForms

  • Testing Views/Models/Forms, Deploying to Heroku

PART V: Advanced Django


  • Django


  • Django Documentation. 
Django Software Foundation, 2017,
Accessed 01 Feb. 2017


  • Fundamentals of Cookie-Based Authentication and Authorization

  • Basics of End-To-End Testing

  • Custom User Models

  • Email, Bootstrap, and PostgreSQL integration


  • Django ForeignKey, ManyToMany, OneToOne

  • Database Performance Issues

  • End to End Testing with Selenium

  • Performance/Error Monitoring, Sending Emails in Production

Part VI: Advanced Front End Skills


  • HTML

  • CSS

  • Javascript


  • Haverbeke, Marijn (2018) Eloquent JavaScript: A Modern Introduction to Programming (3rd Edition). No Starch Press.


  • Converting Static HTML into a Template

  • Extracting Partials from a Template

  • Submitting Forms

  • JavaScript Fundamentals

  • DOM manipulation

  • Event Handling

  • Fetching Data From an API Endpoint


  • JavaScript Language Basics

  • JavaScript Exceptions, Regular Expressions, Modules, Promises

  • DOM Basics, Events

  • Canvas, Fetch, Forms, LocalStorage

Java Application Development

PART VII: Foundations in Java


  • Java


  • Sierra, Kathy, Bates, Bert (2003) Head First Java. O'Reilly.

  • CodingBat

  • CodeWars


  • Primitive Data Types

  • Operators and Expressions

  • Control Structures

  • Object-Oriented Programming and Classes

  • Collections

  • Inheritance

  • Exceptions

  • Interfaces

  • File I/O


  • Java Language Basics

  • Java API, Inheritance, Polymorphism

  • Object Lifecycle, Singletons and static, Exceptions

  • File IO: Serializable, File IO: Plain text, Generics, List, Set, Map

Part VIII: Spring Framework Web Application Development


  • Django


  • Walls, Craig (2011). Spring in Action: Covers Spring 3.0 (3rd Edition). Wiley India Pvt. Limited.


  • Lombok

  • Thymeleaf

  • JDBC & JPA

  • Security

  • Rest APIs

Cumulative Project

  • Lombok, Initializing a Spring Boot Project, Spring MVC Basics, Thymeleaf

  • Database Access with JDBC and JPA

  • JDBC/JPA User Store, Spring Security

  • RestController, Spring Data Rest

Professional Curriculum Details



Writing and Interviewing


Leadership Development


Employement Preparation



PART I: Interpersonal & Organizational Communication


  • Active Listening

  • Study Habits

  • Networking

  • Email Basics

  • Giving and Receiving Feedback

  • Goal Setting

  • Growth Mindset


  • Professional Introductions

  • Elevator Pitches

  • Meet and Greet Skills

  • Professional Email Prompt Response

  • Mentor Assignments

  • Comprehensive Feedback on Peer Portfolios

  • Peer Feedback

Part II: Public Speaking


  • Writing Personal Narrative Speech

  • Presenting Personal Narrative Speech

  • Leadership Projects

  • Capstone Project Presentation


  • Narrative Speech Presentation

  • Leadership Project Group Presentation

  • Unit Project Presentation

  • Knowledge Presentation

  • Capstone Project Presentation

Writing and Interviewing

PART III: Professional Writing


  • Social Media & Personal Brand

  • Blog Posts

  • Project Summaries

  • Resume Writing

  • Cover Letter Writing


  • Write Social Media Biographies

  • Written Summary of Website Design Choice

  • Blog Posts Idea & Outline Submission

  • Written Portfolio Content

  • Approved Resume

Part IV: Interviewing


  • STAR Method Interviews & Practice

  • Technical Interview Preparation

  • Virtual Interview Preparation

  • Phone Etiquette

  • Interview Practice - Story Preparation


  • First Interview

  • Submit Cover Letter

  • Virtual Interview

  • Phone Etiquette Call

Leadership Development

PART V: Leadership Projects


  • LP Assignments

  • LP Project Goal Setting

  • LP Progress Update

  • LP End of Year Progress and Summary


  • LP Proposals

  • LP Final Presentations

Part VI: Self-Assessments


  • Tracking Independent Study and Learning

  • Resume and Portfolio Updates

  • Goal Check-Ins

  • Peer Feedback Reviews


  • Weekly Summary

  • Behavorial Interview

  • Personal Growth Reflection

Employment Preparation

PART VII: Capstone Project Presentation


  • Preparing Visual Aids

  • Group Presentation Outlines

  • Capstone Project Presentations


  • Submit Presentation Outline

  • Practice Presentation

  • Final Capstone Project Presentation

Part VIII: Applying for Jobs and Preparing for Interviews


  • Professional Dress

  • Introduction to Virtual Work Spaces

  • Virtual Interview Practice

  • Individual Interviews


  • Participate in professional Zoom/virtual video call

  • Virtual Interview

  • Leadership Project - Final Presentations

  • Submit Personal Growth Reflections

  • Final Individual Interview

Capstone Project

Technical Knowledge Demonstration

This final unit gives the students time and support to develop a final project representing the culmination of their technical skills.  Students are responsible for proposing, designing, developing, deploying, and presenting their project.  By the end of this unit, students have a stellar project providing evidence of their skill set as a developer.

Professionalism Demonstration

The final project is completed in a group setting, under the guidance of a customer, culminating in a final project presentation, and there is a large professionalism component to the Captston Project.  Students must identify a “customer” that will drive their project goals and demonstrate their ability to work as a team to accomplish their goals.  To finalize the project, students give a group presentation of their final product.  These components enable each student to demonstrate their ability to complete their own tasks, support their teammates, communicate with customers, effectively coordinate team projects, and present their results in a professional and polished way.