2017 Curriculum Overview

Power of Coding

In a high-impact 3 hour workshop learners explore how coding relates to their interests, use computational thinking to solve problems, and experience the excitement of web development.

Learning Outcomes:

  • Learners are aware of at least one female role model who uses technology
  • Learners can break down a complex task into smaller instructions
  • Learners know that the languages HTML, CSS and JavaScript are some (among other) languages that can be used to create websites
  • Learners write HTML, CSS and JavaScript to edit a webpage

Intro to Coding

This 4 day coding workshop focuses on understanding core programming fundamentals that lay the foundation for programming in any language as well as learning how to create basic webpages using HTML, CSS and JQuery.

 

 

Learning Outcomes:

  • Learners write basic HTML, CSS and JQuery to create a webpage
  • Learners understand basic web architecture
  • Learners are comfortable using a text editor to write code
  • Learners can write pseudocode to  structure their pages
  • Learners can use online resources to find solutions to coding challenges

Code Week

This week-long course equips learners with the foundational skills necessary to become a web developer. Learners understand how the internet works and focus on developing proficiency in using HTML and CSS to create responsive web pages.

 

 

Learning Outcomes:

  • Broad understanding of the role of a web designer / web developer
  • Basic understanding of WWW structure
  • Basic understanding of browser request cycle
  • Understanding of client side languages and their role in a webpage ( HTML, CSS , JS web triangle)
  • Be able to create basic webpage using HTML and CSS
  • Use web design principles and CSS to create a fluid site
  • Use web design principles and CSS media queries to create mobile friendly / mobile first site
  • Learners can use online resources to find solutions to coding challenges

Code Camp

Every woman in tech is as strong as the women who support her. At Code4CT we are not just building skills but also building a network of inspirational friends. In a 3 night camp learners focus on understanding core programming concepts, are exposed to a range of speakers and seminars from industry experts and develop their leadership skills.

 

 

Learning Outcomes:

  • Learners understand programming fundamentals: variables, conditionals, loops.
  • Learners can write pseudocode to solve a problem
  • Learners have met several local tech businesses and are aware of a variety of different career options
  • Learners can use the design thinking process to solve problems
  • Learners can work in a team effectively

Code Classes

Learners further their knowledge of HTM & CSS and develop a good proficiency in JavaScript. By the end of the series, learners are able to create a basic web application.

 

 

Learning Outcomes:

  • What JavaScript is and where it is used
  • The basic syntax of the JavaScript programming languageHow to use variables to store information that changes during a program
  • Different data types in JavaScript like string, numbers, boolean values, arrays, arrays objects
  • Conditional statements
  • What functions are and why they’re useful
  • How to troubleshoot programming problems
  • JQuery library navigation and application

Industry Immersions

Learners spend 5 days in a local tech company where they work on a code project with the assistance of a Code Coach. The intention of industry immersions is that aspiring young Code4CT coders are exposed to the work environment and gain experience in a professional work setting.

 

 

Learning Outcomes:

  • Learners have experience in a professional workplace
  • Learners can communicate and behave professionally in a working environment
  • Learners can create and host a website
  • Learners can read and implement online documentation
  • Learners can conduct online research to gather content
  • Learners can present a project in a compelling manner

Innovation Camp

The Grade 10 programme culminates with a 3 night Innovation Camp where learners are challenged to think about how they can leverage their skills for social innovation.

 

 

Learning Outcomes:

  • Learners understand the design thinking process
  • Learners can identify personal skills and resources
  • Learners can identify community challenges; identify the human needs and motives behind problems; understand the root causes of a problem
  • Learners can recognise the difference between assumptions and facts; Learners practice ethnographic research to check assumptions
  • Learners can synthesise information and identify patterns
  • Learners can define a problem statement
  • Learners can ideate solutions using several different problem solving techniques
  • Learners can evaluate different potential solutions
  • Learners can consider the value a solution creates to different stakeholders and ideate how they might generate revenue
  • Learners are able to pitch an idea
  • Learners can work effectively in a team and appreciate varied opinions

Social Innovation Challenge

Learners work independently during school holidays to further the project they designed during Innovation Camp. During Feb and March learners are linked to mentors who lead groups through the Technovation curriculum. Learners are encouraged to participate in youth innovation challenges such as Technovation Challenge and Innovate the Cape.

 

 

Learning Outcomes:

  • Learners can create a prototype
  • Learners can test and iterate on a prototype
  • Learners can pitch a concept

Grade 11 learners can engage in a variety of different opportunities, including different modules that further their knowledge, working in tech companies, attending tech events and taking leadership roles in Code4CT.

Modules

Grade 11 learners who participated in the Grade 10 Code4CT program can elect to participate in one of two different tracks according to their interests: Front End Web Development or Data Science. Each track consists of three week-long modules which culminate in a final CodeStorm where learners are required to work on a real-life client project.

Front End Web Development

In this track you will learn how to create a website and get it online. You will learn about web design and user experience design principles that will allow you to create websites that people enjoy using. You will be exposed to two different career avenues for front-end developers: creating custom websites with tools such as Bootstrap; or using a content management system such as WordPress. Your final project will be to create a functional e-commerce website for a local business or a donations platform for a non-profit. This track is ideal for learners who enjoy design and who want to be able to build beautiful websites.

Introduction to Web Design

At this point learners are comfortable writing custom HTML, CSS and JavaScript. This module builds on these skills and teaches learners how to use frameworks to speed up their development time. Bootstrap is a widely used and well documented framework that will enable learners to speed up their development time and teach them the merits of sticking to standards.

Learning Outcomes:

  • Learners understand basic web design principles
  • Learners know how Bootstrap can aid web development; be able to identify appropriate use cases for Bootstrap
  • Learners are able to download Bootstrap; navigate the Bootstrap library; Implement Bootstrap’s Getting Started pages.
  • Learners understand how to implement the grid layout
  • Learners can use Bootstrap to create a website from a brief

Introduction to WordPress

This module introduces learners to a different approach to front end development by introducing them to WordPress which allows them to rapidly create websites that can be maintained easily using a CMS. The learners quickly get a website up and running using WordPress, customise their theme and are shown how to add third-party plugins to power up their sites.

Learning Outcomes:

  • Learn to install WP on a hosting environment / set up a local LAMP stack
  • Understand WP architecture (Page, Post, Widget, Plugin)
  • Use the underscores starter theme to create a blog with custom HTML pages
  • Install a plugin (such as Gravity forms) in order to learn how to use shortcodes
  • Be able to determine whether Bootstrap or WordPress is more appropriate to a use case

Intro to User Experience (hosted by Deloitte Digital)

User experience design considers how users interact with technology. Effective design should create a seamless and enjoyable experience for users. This module introduces learners to user experience design principles and takes them through a practical design process.

Learning Outcomes:

  • Understand user experience design principles
  • Be able to critique an existing site using UX principles
  • Be able to critique and design a User Journey
  • Be able to create a paper prototype
  • Be able to test a prototype
  • Be able to use wireframing software such as InVision/Moqup/Balsamiq to create a wireframe

CodeStorm

As budding web developers, learners will be required to create an ecommerce portal or a donations platform for an organisation. Learners will work in groups over the course of the week to deliver the project and will present it in a final showcase event.

Learning Outcomes:

  • Use WordPress to create a site according to a brief
  • Use the WooCommerce plugin to create an e-commerce or donations page
  • Conduct user testing

Data Science Track

In this track you will learn about data and how it can be used to effect change. You will learn Python which is a powerful programming language that you can use to analyse and visualise data. You will use your Python skills to find and tell the stories inside a dataset. Your final project will be to collect environmental data, use Python to analyse the data you collect and present the implications of your findings in a compelling way. This track is ideal for learners considering further studies in Computer Science, Engineering or Science fields.

Intro to Data Wrangling (hosted by Code4SA)

Learners spend one week at Code4SA learning about how data is used to tell compelling stories and learn basic data handling skills.

Learning Outcomes:

  • Learners understand what data is and are aware of practical applications of using data for social good
  • Learners know how to find and clean data
  • Learners can analyse and visualise data to tell a compelling story

Intro to Python

Learners add a powerful new programming language to their toolkit which they will use to analyse and visualise data.

Learning Outcomes:

  • Python language fundamentals, including basic syntax, variables, and types
  • Create and manipulate regular Python lists
  • Use functions and import packages
  • Build Numpy arrays, and perform calculations
  • Create and customize plots on real data

Using Python to analyse and visualise data (hosted by Lwandle)

Lwandle works in the field of marine and coastal ecology and uses Python in their work to analyse environmental data. In a 5 day workshop, Lwandle will further learners’ knowledge of how to use Python to analyse and visualise data, and apply these skills to environmental datasets.

Learning Outcomes:

  • Understand how coding makes data analysis easier
  • Understand how to measure environmental data with various instruments
  • Understand how information is transferred from an instrument to a computer
  • Be aware of different programs used for data analysis
  • Understand which plots would be useful to visualise different data types
  • Be able to write scripts to create plots

CodeStorm (hosted by Lwandle)

As young data scientists, learners will work in groups to conduct environmental assessments by measuring data, analysing it and presenting the findings. Learners will work in groups over the course of the week to deliver the project and will present it in a final showcase event.

Learning Outcomes:

  • Set up an instrument to gather environmental data
  • Transfer data from an instrument to a computer
  • Analyse the dataset
  • Meaningfully visualise the data
  • Present the data in a compelling manner

Industry Immersions

Learners spend 5 days in a local tech company where they work on a code project with the assistance of a Code Coach. The intention of industry immersions is that aspiring young Code4CT coders are exposed to the work environment and gain experience in a professional work setting. Learners enrolled in Company Immersions will be required to complete online courses prior to the immersion.

  • Learners can work from a brief to deliver a project
  • Learners have experience in a professional workplace
  • Learners can communicate and behave professionally in a working environment
  • Learners can present a project in a compelling manner

Professional Development Seminars

Through a series of seminars learners are able to engage with a variety of topics:

  • Careers with Code – a one-day showcase of various career opportunities with information on study institutions that offer relevant further studies
  • Code Conversation – a day of meeting various women who use coding in their careers and the opportunity to match to a female mentor
  • Global Citizenship – a one-day interactive workshop in which learners actively engage with how they can be active citizens

External Events

Learners attend relevant tech conferences to share their work and further their knowledge.

  • PyCon
  • WordCamp
  • Girl Geek Dinner
  • Women in Tech events
  • Tech Talk CPT

At external events, learners can:

  • Attend as a Code4CT representative
  • Give a presentation at an event
  • Run a Code4CT stall at an event to share what Code4CT does and encourage people to support our work

Leadership

Learners can run Code4CT learning events or fundraisers to develop their leadership skills. Grade 11’s in 2017 can:

  • Run a hackathon
  • Run a Code4CT fundraiser
  • Facilitate workshops for younger learners

End of Year Showcase

All learners gather to celebrate their achievements and showcase their work to friends, parents, teachers and local tech companies.

Learners in all grades have access to the various professional development activities. The program aims to

  1. Develop learners’ self-efficacy and interpersonal skills
  2. Help learners navigate critical career and life decisions
  3. Build a supportive, inclusive, and collaborative network between professionals and learners

Seminars

Through a series of seminars learners are able to engage with a variety of topics:

 

 

 

  1. Code Conversation – a day of meeting various women who use coding in their careers and the opportunity to match to a female mentor
  2. Global Citizenship – a one-day interactive workshop in which you actively engage with how you can be an active citizen
  3. Intention Setting – a one-day reflective session in which you identify your skills and aptitudes and set intentions for the year ahead.
  4. Personal branding – a one-day seminar focussed on how you would like to portray yourself and your values; understanding how your digital footprint reflects you and your values online and covering  issues around online privacy and security.
  5. Careers with Code – a one-day showcase of various career opportunities with information on study institutions that offer relevant further studies

Industry Immersions

Learners spend 5 days at a time working in a tech company under the guidance of a Code Coach.

Mentoring

Learners can be matched a female mentor and work through a variety of conversation topics.

 

 

Conversation topics include:

  • Building Confidence
  • Defeating Imposter Syndrome
  • Handling Conflict
  • Reflecting on psychometric test results
  • Teamwork
  • Communicating with Family
  • Decision making

External Events

Learners can attend various events hosted by the Cape Town tech community. Learners can:

 

  • Attend as a Code4CT representative
  • Give a presentation at an event
  • Run a Code4CT stall at an event to share what Code4CT does and encourage people to support our work

Leadership

Learners can take on various leadership positions within Code4CT:

  • School Representative – head up liaison between your school and Code4CT
  • Code4CT Ambassador – train to represent Code4CT at external events
  • Run a fundraiser on behalf of Code4CT – be part of a team to run a fundraising activity
  • Run a Code4CT event – be part of a team to organise a Code4CT activation
  • Personal Reflection – Learners are required to complete personal reflections on their skills development at least twice a year. Through encouraging learners to embrace reflective practices, we aim to help our young coders become resilient young people who are able to thrive in a 21st century work environment.

Reflection

Through encouraging learners to embrace reflective practices, we aim to help our young coders become resilient young people who are able to thrive in a 21st century work environment. Learners are required to complete personal reflections on their skills development at least twice a year. 

 

 

 

Learners reflect on how they can best develop core 21st century skills:

  • Flexibility & Adaptability
  • Initiative & Self Direction
  • Social & Cross Cultural Skills
  • Productivity & Accountability
  • Leadership & Responsibility