Seeking beta testers!

Are you interested in programming? Want to help shape The Academy's product? Send Michael a message!

What You'll Learn

  • Fundamentals of Software Development

    Understand what software development entails and learn key fundamentals that apply no matter what language you will use or what kinds of apps you'll develop.

  • Best Practices and Tools

    Learn the right tools and develop key skills required for success in software. You'll learn about version control, command-line tools, and IDEs, among other topics.

  • See the Big Picture in Software

    Finish the course with a crystal clear understanding of the industry, from the companies you can work for, to the positions you can apply to, and the knowledge required for them.

Course Curriculum

A Sneak-Peek of What We'll Cover

  • 1

    Section 0: Introduction

    • 0.0.0 - Welcome & Message From the Instructor

    • 0.0.1 - What is Software?

    • 0.0.2 - What is a Software Developer? What is a Software Engineer?

    • 0.0.3i - A Day In The Life: Michael T, Sales Engineer @ CircleCI

    • 0.0.3ii - A Day In The Life: Prithvi K, SDE II @ Microsoft

    • 0.0.3iii - A Day In The Life: Chris M, Software Engineer @ Omaze

    • 0.0.4 - Available Specialties in Software Engineering

    • 0.0.5 - Available Positions at Software Companies (Other Than Development)

    • 0.0.6 - Company Types and Sizes

    • 0.0.7 - Be Realistic About Your Education

    • 0.0.SG - Introduction Study Guide

    • 0.0.Q - Introduction Quiz

  • 2

    Section 1: Installing Software

    • 0.1.0 - Computers Actually Can't Read (Source) Code

    • 0.1.1 - Package Managers

    • 0.1.2a - Installing Homebrew for Mac

    • 0.1.2b - Using the Windows Subsystem for Linux (WSL) on Windows

    • 0.1.2c - Using Ubuntu's Package Manager

    • 0.1.3 - Installing Python3

    • 0.1.4 - Installation Wrap-Up

    • 0.1.SG - Software Installation Study Guide

    • 0.1.Q - Software Installation Quiz

  • 3

    Section 2: Basics of Programming I - Building Blocks

    • 0.2.0 - Basic Terminal Commands

    • 0.2.1 - Hello World!

    • Vim Cheat Sheet (by Richard [rtorr on GitHub])

    • 0.2.2 - Primitive Types

    • 0.2.3 - Operators & Math

    • 0.2.4 - Your First Git Commit

    • 0.2.5 - Variables

    • 0.2.SG1 - Mid-Section Study Guide 1

    • 0.2.Q1 - Mid-Section Quiz 1

    • 0.2.6 - Dotfiles & .vimrc

    • 0.2.7 - Conditionals

    • 0.2.8 - User Input, Basic Errors, & Type Conversion

    • 0.2.M0_C1P - SVA Charity: Prompt

    • 0.2.M0_C1S - SVA Charity: Solution

    • 0.2.9 - Loops: While Loop

    • 0.2.10 - Loops: For Loop

    • 0.2.M0_C2P - Sign Production (Basic): Prompt

    • 0.2.M0_C2S - Sign Production (Basic): Solution

    • 0.2.11 - Boolean Logic

    • 0.2.M0_C3P - PizzPazz: Prompt

    • 0.2.M0_C3S - PizzPazz: Solution

    • 0.2.SG2 - Basics I Study Guide

    • 0.2.Q2 - Basics I Quiz

  • 4

    Section 3: Basics of Programming II - Working With Data

    • 0.3.0 - Functions

    • 0.3.1i - Basic Data Structures: Lists I

    • 0.3.1ii - Basic Data Structures: Lists II

    • 0.3.1iii - Basic Data Structures: Lists III

    • 0.3.1.EX1 - Example Problem: Summation

    • 0.3.1.EX2 - Example Problem: Find and Replace

    • 0.3.2 - Explaining the Challenge Format From Here On Out

    • 0.3.M0_C4P - Peak Volumes: Prompt

    • 0.3.M0_C4S - Peak Volumes: Solution

    • 0.3.M0_C5P - Mean, Median: Prompt

    • 0.3.M0_C5S - Mean, Median: Solution

    • 0.3.3 - Basic Data Structures: Dictionaries

    • 0.3.3.EX1 - Example Problem: Sign Production (Intermediate)

    • 0.3.4 - Main Function

    • 0.3.3.EX2 - Example Problem: Library Catalog (Basic)

    • 0.3.5 - Pipenv and Python Package Management

    • 0.3.M0_C6P - Security System (Basic): Prompt

    • 0.3.M0_C6S - Security System (Basic): Solution

    • 0.3.M0_C7P - Employee Database: Prompt

    • 0.3.M0_C7S - Employee Database: Solution

    • 0.3.5 - Basic Data Structures: Sets

    • 0.3.5.EX1 - Example Problem: Isograms

    • 0.3.M0_C8P - Intersection: Prompt

    • 0.3.M0_C8S - Intersection: Solution

    • 0.3.6 - Nesting Data Structures

    • 0.3.M0_C9P - Sudoku Validator: Prompt

    • 0.3.M0_C9S - Sudoku Validator: Solution

    • 0.3.M0_C10P - Library Catalog (Advanced): Prompt

    • 0.3.M0_C10S - Library Catalog (Advanced): Solution

    • 0.3.7 - Section Wrap Up

    • 0.3.SG - Basics of Programming II Study Guide

    • 0.3.Q - Basics of Programming II Quiz

  • 5

    Section 4: Choose Your Adventure App

    • 0.4.0 - Intro & Requirements

    • 0.4.1 - IDEs vs. Text Editors and Plugins

    • 0.4.2 - Whiteboarding Our Program

    • 0.4.3 - Hard Coding a Basic Game

    • 0.4.4 - Git Branching: What It Is, and Why People Do It

    • 0.4.5 - Intro to Object Oriented Programming

    • 0.4.6 - Defining Our Program's Class

    • 0.4.7 - Moving Logic to Methods

    • 0.4.8 - Writing Basic Unit Tests

    • 0.4.9 - Reading Game Data From a File

    • 0.4.10 - Introduction to Streams, Stdout, and Stderr

    • 0.4.11 - Exception Handling: Try/Catch, and Throws

    • 0.4.12 - Refining Output and User Interaction

    • 0.4.13 - Cleaning Up Your Repository & Generation Documentation

    • 0.4.14 - "Releasing" Your Game

  • 6

    Section 5: Wrapping Up

    • 0.5.0 - Congratulations & Recap

    • 0.5.1 - Where Do You Go From Here? What's Next?

    • 0.5.2 - How the Static Void Academy Can Help You

Your Instructor

An expert engineer is here to guide you

Sales Engineer

Michael Thanh

Michael is the founder of The Static Void Academy and a Sales Engineer working at a Silicon Valley startup. With a background in computer engineering and networking, he has had extensive experience building projects for Tier 1 network providers and other large, Fortune 100 companies. Michael is now working to build one of the best online software academies in the world.

FAQs

  • I'm completely new to software development. Is this the right course for me?

    Yes! This course starts off with the assumption you have no knowledge about software development. If you have some prior coding knowledge, you may skip as many sections as you see fit. We cannot offer partial refunds for skipped material.

  • What do I need to get started with this course?

    All you will need is an Internet connection and a computer you're willing to make changes to. We will be installing the software required for development.

  • Do we actually write code in this course?

    Yes - by the end of Module 0, you will have written several programs and one larger project to showcase as part of your GitHub profile.

  • Is this a complete course on Python or Algorithms?

    No. We use Python as our programming language, and we learn about simple data structures and problem-solving. But the end-goal of this course is not to make you an expert on either topic.

  • How long will I have access to this course after purchasing?

    Your purchase of Module 0 includes lifetime access to Module 0, including future updates and new material.

  • What is the Refund Policy?

    If you are dissatisfied with this course, contact me within 14 days of purchase for a full refund. I do not offer refunds beyond 14 days after purchase. This Refund Policy applies only to this course and not other planned offerings.

Start Learning Today For Free!

Invest in your software education and learn from an experienced engineer in the industry.

100% Satisfaction Guarantee

The Foundations of Programming module gives you an unbiased, uncomplicated view into the industry. This course is one of the best courses on the Internet that can paint the larger picture and give you a clear path forward.

By the end of the course, you will not only know how to write rudimentary code - you will know exactly what to learn next for the best chances of getting a job. You'll have a direct route to your end goal carved into the sea of information, tools, and languages.

If you are dissatisfied with this course for any reason, contact me within 14 days for a full refund.