๐Ÿฆ‰ Course overview

4 modules of 3 sprints delivered over 12-16 weeks

Objective

The objective of this course is to give people with no prior software development experience an introduction to programming and thinking about data. Common next-steps after this course are to get an entry level job in tech or IT, or to continue learning more advanced software engineering techniques to prepare for a software engineering job.

Primarily this is achieved by teaching programming concepts with JavaScript and Python and data concepts with SQL in spreadsheets. We also focus on professional development skills such as communicating effectively and working well on a team.

A pre-requisite of this course is having completed Code Your Future’s Intro to Digital course which teaches the basics of HTML and CSS.

Modules

๐Ÿซถ๐Ÿฝ Welcome to Code Your Future

    ๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ Onboarding

    1. ๐Ÿ“š GitHub.dev
    2. ๐Ÿงฐ Install VSCode
    3. ๐Ÿ“‹ Check Git installation
    4. ๐Ÿ“‚ Create a work folder
    5. โŒ› Version control software
    6. ๐Ÿ—„๏ธ Sharing history
    7. ๐Ÿ” Inspecting a commit
    8. ๐Ÿ“œ Inspecting previous versions
    9. ๐Ÿด Forking a repository
    10. ๐Ÿ  Working locally
    11. ๐Ÿ“˜ Viewing files from a git clone
    12. ๐ŸŒณ Branching
    1. Form building
    2. ๐Ÿ—„๏ธ Databases with Google Sheets
    1. Accessibility audit

    ๐Ÿฅš Structuring and testing data

    1. ๐Ÿท๏ธ Saving expressions
    2. ๐Ÿ’ฌ Declarations and statements
    3. ๐Ÿช„ Functions
    4. ๐Ÿ“ Running scripts
    5. ๐Ÿ–จ๏ธ Logging
    6. โŒ Errors
    7. ๐Ÿงฎ Percentages
    8. ๐Ÿช„ Declaring functions
    9. ๐ŸŽฎ Playing computer
    10. ๐Ÿ”ญ Scope
    11. ๐Ÿ“ค Returning from a function
    12. โ™ป๏ธ Reusing the function
    13. ๐Ÿท๏ธ Parameterising a function
    14. ๐Ÿ“ผ Solving Problems with Functions
    1. โš–๏ธ Comparing current and target output
    2. โœ๏ธ Writing an assertion
    3. ๐Ÿ”Ž Interpreting errors
    4. ๐Ÿง  Interpreting this error
    5. ๐Ÿ”„ Reusing variable names
    6. โ“ Conditionally executing code
    7. ๐Ÿง  Forming sub-goals
    8. ๐Ÿงถ Accessing strings
    9. ๐Ÿงน Refactoring repetition
    10. ๐Ÿ”ฌ Identifying missing tests
    1. ๐Ÿ–ผ๏ธ Testing frameworks
    2. ๐ŸŽ’ Starting a project
    3. ๐Ÿ“ฆ Using packages
    4. ๐Ÿƒ Installing Jest
    5. ๐ŸŽ›๏ธ Jest's Application Programming Interface
    6. ๐Ÿ’ผ First test case
    7. โœ…โŒ Interpreting feedback
    8. ๐Ÿ—„๏ธ Generalising further
    9. ๐Ÿท๏ธ Anonymous functions
    10. โžก๏ธ Arrow functions
    11. ๐Ÿ“ผ Testing Workshop

    ๐Ÿฃ Data groups

    1. ๐Ÿ’พ Grouping data
    2. ๐Ÿ“œ Arrays
    3. ๐Ÿ” Iteration
    4. ๐Ÿค References
    5. ๐Ÿ”€ Mutation
    6. ๐Ÿค• Side effects
    7. ๐Ÿ“ผ Arrays Workshop
    1. ๐Ÿ“ Ordered data
    2. ๐Ÿ—๏ธ Key-value pairs
    3. ๐Ÿšช Accessing properties
    4. โ“๐Ÿชข Query strings
    5. โ“ Parsing a single key-value pair
    6. ๐ŸŒ Access with variables
    7. โ“โ“ Parsing multiple parameters
    8. ๐Ÿ“ผ Objects Workshop
    1. ๐Ÿ’ป User interfaces
    2. ๐Ÿ›‘ Implementing a character limit
    3. ๐ŸŒฒ The DOM
    4. ๐Ÿ” Querying the DOM
    5. ๐Ÿท๏ธ Updating the interface
    6. โฐ Timers
    7. ๐ŸŽฌ DOM events
    8. ๐Ÿ“ค Reacting to events
    9. ๐Ÿงน Refactor

    ๐Ÿฅ Data flows

    1. ๐Ÿ’พ โžก๏ธ ๐Ÿ’ป Rendering Data as UI
    2. ๐Ÿงฑ Composing elements
    3. ๐Ÿงผ Creating elements with functions
    4. ๐Ÿฑ Creating elements with <template>
    5. ๐Ÿƒ Reusable components
    6. ๐Ÿ—บ๏ธ Using map
    1. ๐Ÿ—บ๏ธ Gathering requirements
    2. ๐Ÿช„ Reacting to user input
    3. ๐Ÿ”Ž Identifying state
    4. ๐Ÿงผ Refactoring to state+render
    5. ๐Ÿ†• Introducing new state
    6. ๐ŸŽฑ Rendering based on state
    7. ๐Ÿฆป๐Ÿป Capturing the user event
    8. ๐Ÿ” Re-rendering
    9. ๐Ÿ” Actually re-rendering
    1. ๐Ÿ• Fetching data
    2. ๐Ÿ—“๏ธ Latency
    3. โณ Asynchrony : outside time
    4. ๐Ÿชƒ Callbacks
    5. ๐ŸŒ Requesting from a server side API
    6. ๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿฝ Promises
    7. ๐Ÿช† .then()
    8. ๐Ÿฌ async/await
    9. ๐Ÿ• ๐ŸŽž๏ธ Fetch Films