Curriculum Details


Language Basics and Application Fundamentals

Part I: Language Basics and Application Fundamentals

Languages
  • Python
Resources
  • 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
Modules
  • Introduction to Programming
  • Function Design
  • Modular Program Organization
  • Decision Making and Looping
  • File Input/Output
  • Data Collection Types
Benchmarks
  • Language Skills: codingbat.com Problem Progress
  • Technical Communication: Mock Programming Interview
  • Application Development: Client and Admin Command Line Applications Sharing JSON File Storage

Part II: Advanced Python Skills

Languages
  • Python
Resources
  • Gries, Paul, Campbell, Jennifer, Montojo, Jason (2013) Practical Programming: An Introduction to Computer Science Using Python 3 (2nd Edition). Dallas, TX: The Pragmatic Bookshelf.
Modules
  • Object-Oriented Programming
Cumulative Project
Command line program managing inventory and revenue for a fictional rental agency.

Essentials of Static Front End Development

Part III: Essentials of Static Front End Development

Languages
  • HTML
  • CSS
Resources
Modules
  • 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
Cumulative Project
Static Front End Fundamentals: Static, brochure, multi-page, web site for a fictional company from scratch.

Part IV: Server Rendered Frontend Development

Languages
  • HTML
  • CSS
  • JavaScript
  • Django Template Language
Resources
Modules
  • 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
Cumulative Project
Build frontend for provided starter django project.

Full Stack MVC Web Development

Part V: Backend MVC Web Development

Framework
Django
Resources
Modules
  • Fundamentals of HTTP
  • URL Routing
  • Handling Requests with Django Views
  • Processing Forms with Django Forms
  • Planning and Constructing Models
Cumulative Project
Build backend for provided starter django project.

Part VI: Full Stack MVC Development

Framework
Django
Resources
Modules

  • Fundamentals of Cookie-Based Authentication and Authorization
  • Basics of End-To-End Testing
Cumulative Project
Build a CRUD app with at least 2 non-User resources, appropriate authentication and authorization, and at least 80% test coverage.

Java Application Development

Part VII: Foundations in Java

Language
Java
Resources
Modules
  • Primitive Data Types
  • Operators and Expressions
  • Control Structures
  • Object-Oriented Programming and Classes
  • Collections
  • Inheritance
  • Exceptions
  • Interfaces
Benchmarks
  • Language Skills: CodingBat and CodeWars completion
  • Technical Interview: Coding Challenge Interview

Part VIII: Spring Web Application Development

Languages
  • Java
  • SQL
Modules
  • Creating and building projects with Spring Boot
  • Creating Rest Controllers in Spring MVC
  • Validating Request JSON
  • SQL Fundamentals
  • Database Management with JDBC
  • Securing Applications with Spring Security
Cumulative Project
Build a REST API using Java/Spring for a provided frontend.

Professionalism and Personal Growth

Employment Preparation

Following successful completion of the their final projects, some students may have the opportunity to job-shadow in a technical workplace. Additionally, the students will engage in tailored coursework to prepare for desired positions.

Additional Coursework and Topics

Coursework
  • Individual and Group Projects
  • Online Courses (as determined by the teachers)
Modules
  • Command Line
  • Version Control (Git)
  • Unit Testing
  • Selenium Testing
Workplace
  • Resume Building
  • Writing Reports
  • Public Speaking
  • Personal Branding