Thursday, August 30, 2018

Learn to code for free

Free Code Camp Sydney, in partnership with Code.Sydney, is a separate entity from but believes in the same purpose. Free Code Camp is an international community which intends to make learning web development accessible to anyone and help build project for non-profits.

Where to begin

1. Sign up to and start doing the lessons.
2. If you have any questions about a topic, watch the related video using the links below and feel free to ask questions in the video comment section.
3. Please sign up to our leaderboard so we can monitor your progress.
4. Join our slack channel to get access to mentors.

    Photo with Quincy Larson, founder of Free Code Camp during his visit to Melbourne. Code.Sydney/FCC mentors Promie Yutasane and Allan Cheung graced the event. Not in photo is Tony Johnson, who is also a Code.Sydney/FCC mentor.

The Challenge

1,408 coding challenges
30 projects
6 certifications


Important: Please note that only the ones with active links are ready for discussion. The blog is updated regularly as we progress.

A. Responsive Web Design Certification (300 hours)
    A.1 Basic HTML and HTML5
           A.1.1 Say Hello to HTML Elements
           A.1.2 Headline with the h2 Element
           A.1.3 Inform with the Paragraph Element
           A.1.4 Fill in the Blank with Placeholder Text
           A.1.5 Uncomment HTML
           A.1.6 Comment out HTML
           A.1.7 Delete HTML Elements
           A.1.8 Introduction to HTML5 Elements
           A.1.9 Add Images to Your Website
           A.1.10 Link to External Pages with Anchor Elements
           A.1.11 Link to Internal Sections of a Page with Anchor Elements
           A.1.12 Nest an Anchor Element within a Paragraph
           A.1.13 Make Dead Links Using the Hash Symbol
           A.1.14 Turn an Image into a Link
           A.1.15 Create a Bulleted Unordered List
           A.1.16 Create an Ordered List
           A.1.17 Create a Text Field
           A.1.18 Add Placeholder Text to a Text Field
           A.1.19 Create a Form Element
           A.1.20 Add a Submit Button to a Form
           A.1.21 Use HTML5 to Require a Field
           A.1.22 Create a Set of Radio Buttons
           A.1.23 Create a Set of Checkboxes
           A.1.24 Check Radio Buttons and Checkboxes by Default
           A.1.25 Nest Many Elements within a Single div Element
           A.1.26 Declare the Doctype of an HTML Document
           A.1.27 Define the Head and Body of an HTML Document
    A.2 Basic CSS
           A.2.1 Change the Color of Text
           A.2.2 Use CSS Selectors to Style Elements
           A.2.3 Use a CSS Class to Style an Element
           A.2.4 Style Multiple Elements with a CSS Class
           A.2.5 Change the Font Size of an Element
           A.2.6 Set the Font Family of an Element
           A.2.7 Import a Google Font
           A.2.8 Specify How Fonts Should Degrade
           A.2.9 Size Your Images
           A.2.10 Add Borders Around Your Element
           A.2.11 Add Rounded Corners with border-radius
           A.2.12 Make Circular Images with a border-radius
           A.2.13 Give a Background Color to a div Element
           A.2.14 Set the id of an Element
           A.2.15 Use an id Attribute to Style an Element
           A.2.16 Adjust the Padding of an Element
           A.2.17 Adjust the Margin of an Element
           A.2.18 Add a Negative Margin to an Element
           A.2.19 Add Different Padding to Each Side of an Element
           A.2.20 Add Different Margins to Each Side of an Element
           A.2.21 Use Clockwise Notation to Specify the Padding of an Element
           A.2.22 Use Clockwise Notation to Specify the Margin of an Element
           A.2.23 Use Attribute Selectors to Style Elements
           A.2.24 Understand Absolute versus Relative Units
           A.2.25 Style the HTML Body Element
           A.2.26 Inherit Styles from the Body Element
           A.2.27 Prioritize One Style Over Another
           A.2.28 Override Styles in Subsequent CSS
           A.2.29 Override Class Declarations by Styling ID Attributes
           A.2.30 Override Class Declarations with Inline Styles
           A.2.31 Override All Other Styles by using Important
           A.2.32 Use Hex Code for Specific Colors
           A.2.33 Use Hex Code to Mix Colors
           A.2.34 Use Abbreviated Hex Code
           A.2.35 Use RGB values to Color Elements
           A.2.36 Use RGB to Mix Colors
           A.2.37 Use CSS Variables to change several elements at once
           A.2.38 Create a custom CSS Variable
           A.2.39 Use a custom CSS Variable
           A.2.40 Attach a Fallback value to a CSS Variable
           A.2.41 Improve Compatibility with Browser Fallbacks
           A.2.42 Cascading CSS Variables
           A.2.43 Change a variable for a specific area
           A.2.44 Use a media query to change a variable
    A.3 Applied Visual Design
           A.3.1 Create Visual Balance Using the text-align Property
           A.3.2 Adjust the Width of an Element Using the width Property
           A.3.3 Adjust the Height of an Element Using the height Property
           A.3.4 Use the strong Tag to Make Text Bold
           A.3.5 Use the u Tag to Underline Text
           A.3.6 Use the em Tag to Italicize Text
           A.3.7 Use the s Tag to Strikethrough Text
           A.3.8 Create a Horizontal Line Using the hr Element
           A.3.9 Adjust the background-color Property of Text
           A.3.10 Adjust the Size of a Header Versus a Paragraph Tag
           A.3.11 Add a box-shadow to a Card-like Element
           A.3.12 Decrease the Opacity of an Element
           A.3.13 Use the text-transform Property to Make Text Uppercase
           A.3.14 Set the font-size for Multiple Heading Elements
           A.3.15 Set the font-weight for Multiple Heading Elements
           A.3.16 Set the font-size of Paragraph Text
           A.3.17 Set the line-height of Paragraphs
           A.3.18 Adjust the Hover State of an Anchor Tag
           A.3.19 Change an Element's Relative Position
           A.3.20 Move a Relatively Positioned Element with CSS Offsets
           A.3.21 Lock an Element to its Parent with Absolute Positioning
           A.3.22 Lock an Element to the Browser Window with Fixed Positioning
           A.3.23 Push Elements Left or Right with the float Property
           A.3.24 Change the Position of Overlapping Elements with the z-index Property
           A.3.25 Center an Element Horizontally Using the margin Property
           A.3.26 Learn about Complementary Colors
           A.3.27 Learn about Tertiary Colors
           A.3.28 Adjust the Color of Various Elements to Complementary Colors
           A.3.29 Adjust the Hue of a Color
           A.3.30 Adjust the Tone of a Color
           A.3.31 Create a Gradual CSS Linear Gradient
           A.3.32 Use a CSS Linear Gradient to Create a Striped Element
           A.3.33 Create Texture by Adding a Subtle Pattern as a Background Image
           A.3.34 Use the CSS Transform scale Property to Change the Size of an Element
           A.3.35 Use the CSS Transform scale Property to Scale an Element on Hover
           A.3.36 Use the CSS Transform Property skewX to Skew an Element Along the X-Axis
           A.3.37 Use the CSS Transform Property skewY to Skew an Element Along the Y-Axis
           A.3.38 Create a Graphic Using CSS
           A.3.39 Create a More Complex Shape Using CSS and HTML
           A.3.40 Learn How the CSS @keyframes and animation Properties Work
           A.3.41 Use CSS Animation to Change the Hover State of a Button
           A.3.42 Modify Fill Mode of an Animation
           A.3.43 Create Movement Using CSS Animation
           A.3.44 Create Visual Direction by Fading an Element from Left to Right
           A.3.45 Animate Elements Continually Using an Infinite Animation Count
           A.3.46 Make a CSS Heartbeat using an Infinite Animation Count
           A.3.47 Animate Elements at Variable Rates
           A.3.48 Animate Multiple Elements at Variable Rates
           A.3.49 Change Animation Timing witA.3.1 h Keywords
           A.3.50 Learn How Bezier Curves Work
           A.3.51 Use a Bezier Curve to Move a Graphic
           A.3.52 Make Motion More Natural Using a Bezier Curve
    A.4 Applied Accessibility
           A.4.1 Add a Text Alternative to Images for Visually Impaired Accessibility
           A.4.2 Know When Alt Text Should be Left Blank
           A.4.3 Use Headings to Show Hierarchical Relationships of Content
           A.4.4 Jump Straight to the Content Using the main Element
           A.4.5 Wrap Content in the article Element
           A.4.6 Make Screen Reader Navigation Easier with the header Landmark
           A.4.7 Make Screen Reader Navigation Easier with the nav Landmark
           A.4.8 Make Screen Reader Navigation Easier with the footer Landmark
           A.4.9 Improve Accessibility of Audio Content with the audio Element
           A.4.10 Improve Chart Accessibility with the figure Element
           A.4.11 Improve Form Field Accessibility with the label Element
           A.4.12 Wrap Radio Buttons in a fieldset Element for Better Accessibility
           A.4.13 Add an Accessible Date Picker
           A.4.14 Standardize Times with the HTML5 datetime Attribute
           A.4.15 Make Elements Only Visible to a Screen Reader by Using Custom CSS
           A.4.16 Improve Readability with High Contrast Text
           A.4.17 Avoid Colorblindness Issues by Using Sufficient Contrast
           A.4.18 Avoid Colorblindness Issues by Carefully Choosing Colors that Convey Information
           A.4.19 Give Links Meaning by Using Descriptive Link Text
           A.4.20 Make Links Navigatable with HTML Access Keys
           A.4.21 Use tabindex to Add Keyboard Focus to an Element
           A.4.22 Use tabindex to Specify the Order of Keyboard Focus for Several Elements
    A.5 Responsive Web Design Principles
           A.5.1 Create a Media Query
           A.5.2 Make an Image Responsive
           A.5.3 Use a Retina Image for Higher Resolution Displays
           A.5.4 Make Typography Responsive
    A.6 CSS Flexbox
    A.7 CSS Grid
    A.8 Responsive Web Design Projects

B. Javascript Algorithms And Data Structures Certification (300 hours)
    B.1 Basic JavaScript
    B.2 ES6
    B.3 Regular Expressions
    B.4 Debugging
    B.5 Basic Data Structures
    B.6 Basic Algorithm Scripting
    B.7 Object Oriented Programming
    B.8 Functional Programming
    B.9 Intermediate Algorithm Scripting
    B.10 JavaScript Algorithms and Data Structures Projects

C. Front End Libraries Certification (300 hours)
    C.1 Bootstrap
    C.2 jQuery
    C.3 Sass
    C.4 React
    C.5 Redux
    C.6 React and Redux
    C.7 Front End Libraries Projects

D. Data Visualization Certification (300 hours)
    D.1 Data Visualization with D3
    D.2 JSON APIs and Ajax
    D.3 Data Visualization Projects

E. Apis And Microservices Certification (300 hours)
    E.1 Managing Packages with Npm
    E.2 Basic Node and Express
    E.3 MongoDB and Mongoose
    E.4 Apis and Microservices Projects

F. Information Security And Quality Assurance Certification (300 hours)
    F.1 Information Security with HelmetJS
    F.2 Quality Assurance and Testing with Chai
    F.3 Advanced Node and Express
    F.4 Information Security and Quality Assurance Projects

G. Coding Interview Prep (Thousands of hours of challenges)
    G.1 Algorithms
    G.2 Data Structures
    G.3 Take Home Projects
    G.4 Rosetta Code
    G.5 Project Euler

Here are some related blogs that you may want to read
Please do learn to code by Quincy Larson
How to get the most out of Free Code Camp by Anthony Yannos
Failing at Free Code Camp by Gustavo Giampoli

Join our Meet up group to stay updated with regular face to face meet up schedules.