CYFI Curriculum

Tosin Damilare James Animashaun edited this page Aug 3, 2016 · 5 revisions


WEEKEND 1: Intro to the Computer, OS, Software, CMD and Internet...


DAY 1:

  • Know the basic parts of the computer and their functions
  • Intro to the Windows OS and some application software (Paint, Text Editor, Calculator...)
  • Introduction to directories (e.g create, save, edit) a file and folders
  • Learn how to install and run a software (SublimeText or pycharm and Python will also be installed, also install a fun typing tutor for the typing assignment)

DAY 2:

SESSION 1
  • Explain: "Why SublimeText over Notepad?"(Some tasks can be achieved with different tools from different vendors)
  • Learn file editing operations: Save/Save As, Open, New, Print, Close
SESSION 2
  • Introduction to Microsoft word
SESSION 3
  • Introduction to the internet (Google, Wikipedia, ...)
HOME TASK
  • A typing assignment to get students comfortable with typing on the keyboard
  • An internet search assignment to get students comfortable with searching the world wide web for information
  • Browse www.python.org and read up to your fill



WEEKEND 2: Intro to the Computer, OS, Software, CMD and Internet...Part 2


DAY 1:

REVISION
  • Recap of previous weekend's work
  • Help students with challenges from home tasks
  • Complete setting up Python (if need be)

DAY 2:

SESSION 1
  • Meet the command line (Basics: cd, mkdir, ren, copy, del, help)
SESSION 2
  • Intro to computer programming
  • Learn the basic flow of a program (Instructions are executed step-by-step)
  • Explain: 'Why Python?' (Name some common programming languages)
  • Write your first program: "print ('Hello World')"
SESSION 3
  • Introduction to Scratch (or Turtle) and implementing a basic flow diagram and playing a game using the drag and drop features on Scratch
HOME TASK
  • A typing assignment to get students comfortable with typing on the keyboard
  • Take home assignment on Scratch (or Turtle)



WEEKEND 3: Learn Python - Part 1


DAY 1:

REVISION
  • Recap of previous weekend's work
  • Help students with challenges from home tasks
  • Print to stdout (print)

DAY 2:

SESSION 1
  • Introduction data types: strings, numbers, floats, booleans
  • Introduction to variables and assignment
  • Introduction to operators and operations
  • Control: loops and conditionals
SESSION 2
  • Read from stdin (raw_input, input)
  • Write a simple guessing game.
HOME TASK
  • Play around with the command line: mkdir C:\projects



WEEKEND 4: Learn Python - Part 2


DAY 1:

REVISION
  • Recap of previous weekend's work
  • Help students with challenges from home tasks
  • 1-2 lightning talk(s) explaining how programming is used

DAY 2:

SESSION 1
  • Data-structures (Part 1): Lists, tuples, dictionaries
  • Data-structures (Part 2): Dictionaries, JSON
  • Functions
SESSION 2
  • Modules, imports...
  • Exceptions
  • OOP, classes and methods
SESSION 3
  • Highlight different application domains for the Python programming language
HOME TASK
  • Check for the difference between JSON and dictionaries
  • Students will have a week to pick an area of interest in the application of Python



WEEKEND 5: Go Specialized (Tinkering with Raspberry Pi's)


DAY 1:

REVISION
  • Recap of previous weekend's work
  • Help students with challenges from home tasks
  • Students watch inspiring videos of the different things that can be done with Python
  • Students are grouped and introduced into their chosen areas of interest
    Groups:
    • Web development
    • Data Science
    • Internet of Things (IoT)
    • Game development

DAY 2: (Game Activities differ in each group)

Students watch inspiring videos of the different things that can be done with Python

Web Development:

SESSION 1
  • Explain: 'How websites work?'
  • Explain: 'Servers vs Clients (Browsers)'
  • Explain: 'Database, what it's used for, and how it works'
  • Client-side Tools: Intro to HTML, CSS, JS
HOME TASK
  • Build a web page that will generate a page displaying:
    Hello,
    My name is XYZ
    
    (XYZ being the student's name)

Data Science:

SESSION 2
  • This tutorial lets the students tell a story with code. It demonstrates the simple use of if/else statements to evaluate user input and generate a cute fairy story. This is a fun way to get started with Python programming that lets you really use your imagination and storytelling abilities!
  • Ref (https://www.raspberrypi.org/learning/storytime/) At this point some subtle concepts in data science would be highlighted

Game Development:

SESSION 2



WEEKEND 6: More Web, Fun and Gaming with the Raspberry Pis


DAY 1:

REVISION
  • Recap of previous weekend's work
  • Help students with challenges from home tasks

DAY 2: Project Day (According to groups)

Web Development:

SESSION 1
  • Intro to the Flask web development framework
  • Requests and Response
  • View functions
  • Template Rendering
  • Configuration
HOME TASK
  • Build a flask app that will generate a page displaying:
    Hello,
    My name is XYZ
    
    (XYZ being the student's name)
  • Browse for sqlite database and learn more about it
  • Learn about database table, row, relationships


Data Science:

Learn by building:

SESSION 2
  • Using sensors and output devices is a great way to make computer programs more interactive. The Raspberry Pi Sense HAT contains a whole set of sensors that can be used to detect movement, which will be used in this activity to take a digital pet for a walk.
  • Ref (https://www.raspberrypi.org/learning/pixel-pet/worksheet/)

Game Development:

Learn by building:

SESSION 2
  • In this resource students will take more steps with the programming language Python to draw shapes, patterns, and spirals. They will use a module named Turtle. Along the way they will learn how to think in sequences, and use loops to repeat a sequence. This is a great stepping stone from a visual programming language like Scratch to the text-based environment of Python.
  • Ref (https://www.raspberrypi.org/learning/turtley-amazing/)
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.