-
Notifications
You must be signed in to change notification settings - Fork 2
CYFI Curriculum
Tosin Damilare James Animashaun edited this page Jun 1, 2016
·
5 revisions
- 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)
- 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
- Introduction to Microsoft word
- Introduction to the internet (Google, Wikipedia, ...)
- 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
- Recap of previous weekend's work
- Help students with challenges from home tasks
- Complete setting up Python (if need be)
- Meet the command line (Basics: cd, mkdir, ren, copy, del, help)
- 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')"
- Introduction to Scratch (or Turtle) and implementing a basic flow diagram and playing a game using the drag and drop features on Scratch
- A typing assignment to get students comfortable with typing on the keyboard
- Take home assignment on Scratch (or Turtle)
- Recap of previous weekend's work
- Help students with challenges from home tasks
- Print to stdout (print)
- Introduction data types: strings, numbers, floats, booleans
- Introduction to variables and assignment
- Introduction to operators and operations
- Control: loops and conditionals
- Read from stdin (raw_input, input)
- Play around with the command line: mkdir C:\projects
- Recap of previous weekend's work
- Help students with challenges from home tasks
- 1-2 lightning talk(s) explaining how programming is used
- Data-structures (Part 1): Lists, tuples, dictionaries
- Data-structures (Part 2): Dictionaries, JSON
- Functions
- Modules, imports...
- Exceptions
- OOP, classes and methods
- Highlight different application domains for the Python programming language
- Check for the difference between JSON and dictionaries
- Students will have a week to pick an area of interest in the application of Python
- Recap of previous weekend's work
- Help students with challenges from home tasks
- Learning about version control (Git)
- Students are grouped and introduced into their chosen areas of interest
Groups:- Web development
- Data Science
- Internet of Things (IoT)
- Game development
-
- 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
- Server-side Tools: (Name options and teach Flask)
-
- Intro to the Flask web development framework
- Requests and Response
- View functions
- Template Rendering
- Configuration
-
- 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
- Build a flask app that will generate a page displaying:
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
-
- (Please fill-in this space)
- Recap of previous weekend's work
- Help students with challenges from home tasks
- Learn by building: (Please fill-in this space with a simple project)
- Learn by building: (Please fill-in this space with a simple project)
- Learn by building: (Please fill-in this space with a simple project)
- Learn by building: (Please fill-in this space with a simple project)