📝

Camp Code Curriculum

Here’s what we’ll be learning over the 22 weeks. Click into each week to see more!

Week 1: Syllabus Day + Programming Intro
  • What to expect
  • How to Learn
  • Computers and how they work
  • Bits Bytes and Binary
  • Data Representation/Encoding
  • All about programming
    • What is it?
    • Types of Languages
    • Compiled vs Interpreted vs JIT
    • Job Types
  • Why we’ll be using what were using
Week 2: Environment Setup
  • CLI tool options
  • Go + Python installation
  • VSCode installation, setup and walkthrough
  • Writing and executing Go Code
Week 3: Introduction to the Command Line
  • CLI vs GUI
  • Anatomy of a command
  • File Systems
  • Command Line Navigation
  • Basic file operation
  • Basic Permissions
  • Core commands practice

Week 4: Running Code, Data Types Intro and Displaying Output
  • Go Playground
  • Go imports
  • Go fmt
  • Language Commands
  • Intro to godocs/documentation
  • Intro to Primitive Data Types
  • Variables
  • Constants
  • Displaying Output
Week 5: #StringTheory
  • What are strings
  • “strings” golang package
  • Runes and Bytes
  • ASCII
  • Concatenation
  • String interpolation
  • String methods

Week 6: String Parsing + Cleaning Data
  • Normalization
  • RegExp
  • String Parsing

Week 7: Numbers, Numeral Systems and Operators
  • Decimal
  • Binary
  • Hexadecimal
  • Integers
  • Floats
  • Arithmetic Operators
  • Assignment operators
Week 8: Collections
  • What are arrays
  • What are slices
  • What are maps
  • Indexes
  • How do you work with these collections
  • Iteration using range

Week 9: Flow Control
  • Booleans
  • Comparison operators
  • if statements
  • switch statements
Week 10: Loops
  • What are loops
  • For loops
  • while loops
  • do-while
  • loop control flow

Week 11: Funky Functions
  • What are functions and how to use them
  • Scope
  • Multiple function returns
  • Variadic Functions
  • Closures

Week 12: Errors
  • What are errors
  • Types of errors
  • Handling Errors
Week 13: Pointers
  • What are pointers
  • Getting comfortable with pointers
Week 14: Structs and Objects
  • What is an object
  • What is a struct
  • Intro to Object Oriented Programming
  • Methods and Interfaces
Week 15: Introduction to Algorithms
  • What are algorithms
  • Space and Time Complexity
  • Sorting

Week 16: Sorting Algorithms
  • Selection Sort
  • Bubble Sort
  • Merge Sort

Week 17: Searching Algorithms
  • Linear Search
  • Binary Search

Week 18: Recursion
  • What is recursion
  • When and why we would use recursion
  • Recursion practice

Week 19: Introduction to Data Structures
  • What are Data Structures
  • Singly Linked Lists
  • Stacks
  • Queues
Week 20: More Data Structures
  • Doubly Linked Lists
  • Hash Tables
  • Tries
Week 21: Solving Problems
  • Problem Comprehension
  • Breaking Down Challenges
  • Probing Statements and Tracing Logic
  • Debugging
Week 22: Ready for the Climb: What’s next