Witty.ca - Mr. Rich's Professional Archives

  • Home
  • Courses
    • Course Listing & Updates
    • HCS Archive 2015-2016 >
      • HCS'15 Media Studies 120
      • HCS'15 Nutrition for Healthy Living 120
      • HCS'15 Visual Art 9
      • HCS'16 Intro to Electronics 110 >
        • Purchasing a Computer in 2016 >
          • HCS'15 Visual Art 110/120
      • HCS'16 Housing & Design 120
      • HCS'16 Visual Arts 10
      • HCS Winter Decoration Ideas
    • HCS Archive 2014-2015 >
      • HCS'15 - Digital Production 12
      • HCS'15 - Graphic Art & Design 11
      • HCS'15 - Media Studies 12
      • HCS'15 - Visual Art 10
      • HCS'14 - BBT 10
      • HCS'14 - Info Tech 11/12
      • HCS'14 - Visual Art 9
      • HCS'14 - Visual Art 11/12
      • HCS Art Club
      • HCS Announcement Text
    • HCS Archive 2013-2014 >
      • HCS'14 - English 12
      • HCS'14 - Graphic Design 11
      • HCS'14 - Individual & Family Dynamics 12
      • HCS'14 - Info Tech 12
      • HCS'14 - Social Studies 8
    • Student Introduction Form
  • Tech Units
    • Safety & Citizenship >
      • Work Place Safety
      • Digital Safety & Citizenship
      • Digital Communication
      • Digital Rights & Responsibilities
      • Digital Etiquette
      • Digital Wellness
      • Digital Business
      • Digital Access
      • Digital Literacy
      • Digital Law
    • Audio / Video >
      • Sound (Audacity)
      • Video (One Minute PSA)
      • Make a Movie Trailer
      • Blender Video Editor - Test
    • Automotive >
      • Auto - Careers
      • Auto - Engines
      • Auto - 4-Stroke vs 2-Stroke
    • Raster Graphics >
      • How to Submit - Raster Graphics
      • Photoshop Activities
      • GIMP Overview
      • GIMP Install & Setup
      • GIMP Activity 1
      • GIMP Activity 2
      • GIMP Activity 3
      • GIMP Activity 4a
      • GIMP Activity 4b
      • GIMP Activity 6a
      • GIMP Activity 6b
      • GIMP Activity 6c
      • GIMP Activity 6d
      • GIMP Activity 6e/f
      • RG Final Project - Magazine Cover >
        • HCS'16 Graphic Art & Design 110
      • RG Final Project - Cereal
      • RG Marking Breakdown
    • Vector Graphics >
      • Inkscape Act.1
      • Inkscape Act.2
      • Inkscape Act.3
      • Inkscape Act.4
      • Inkscape Act.5
      • Inkscape Act.6
      • Inkscape Challenge
    • Coding - Teacher Start
    • Python (Coding) >
      • Python - CS 110 PD - July 2016
      • Python - CS 110 PD Part 2 (Projects)
      • Python - CS 110 PD Part 3 (GUI)
      • Install Python 3.5 + PyGame
    • Scratch 2 (Coding) >
      • Scratch 2 - Introduction to Coding
      • Scratch 2 - How to
      • Scratch 2 - Introduction
      • Scratch 2 - Frogger (p1)
      • Scratch 2 - Frogger (p2)
      • Scratch 2 - Frogger (p3)
      • Scratch 2 - Frogger (p4)
      • Scratch 2 - Frogger (p5)
      • Scratch 2 - A 2nd Project
      • Scratch 2 - Teacher Notes
      • Scratch 2 - Choosing another language
    • Scratch 1 (Coding) >
      • Scratch (Scripts 1 & 2)
      • Scratch (Script 3)
      • Scratch (Frogger)
      • Scratch (Frogger 2)
      • Scratch (Frogger 3)
      • Scratch (Frogger 4)
      • Scratch Mini-Challenge 1
      • Scratch Final Project
      • Notes for Teachers >
        • Teaching Scratch
    • Design (AutoCAD) >
      • Design Act. 1
      • Design Act. 2
      • Design Act. 3
      • Design Act. 4
      • Design Act. 5
      • Design Act. 5b and 5c
      • Design Act. 6
      • Design Act. 7
      • Design Act. 8
      • Design Act. 9
      • Design Act. 10
      • Design Act. 11
      • Design Act. 12
    • Design (Sketchup) >
      • Sketchup House Setup
    • Portable Apps >
      • Cam Studio
      • Virtual Dub
      • Scratch (and Zip File for Students)
      • TuxPaint (and Zip File for Students)
      • TuxTyping (and Zip File for Students)
      • Google Chrome
    • Project Management >
      • Intro to Project Mgmt.
      • Assignment for Project Management
    • Database >
      • Tasks Database
    • Final Projects and Exam Review >
      • Final Project - BBT 10 - 2015
      • Final Project - Digital Production 2015
      • Final Project - Media Studies 2015
      • Exam Review 2013
    • Cybersecurity
  • Art Units
    • Elements and Principles >
      • Elements of Art
      • Principles of Design
    • Photographic Composition
    • Visual Art 9
    • Graphic Art & Design 110 >
      • Colour Theory
      • Layout
      • Fonts and Type
    • Visual Art 110
    • Previous Box Projects - Visual Art 10
  • Other Units
    • Housing >
      • How to Design a House
    • Media Studies >
      • Media Studies Handouts
      • What is media? Why study media?
      • Film, Television and Video
      • Advertising, Marketing and You
      • Media and the Internet
      • Self-Study Project
    • Nutrition >
      • Recipes >
        • Black Bean Cake and Cupcake
  • Sports
    • Volleyball >
      • NMS Volleyball 2019
      • Volleyball Contact
      • (Old) Volleyball 2017
      • (Old) Volleyball Spring 2016
      • (Old) 2016 Tournament - MS Boys Volleyball
      • (Old) Volleyball Spring 2015
      • (Old) 2015 Tournament - MS Boys Volleyball
    • Soccer >
      • (Old) Soccer Fall 2015
    • Basketball
  • Blogs
    • Computer Science Blog
    • Personal Blog
  • Contact
  • About
    • About Mr. Rich
    • About Technology and Computer Science
  • Archives
    • Teaching Software >
      • Purchasing a Computer (notes) >
        • Purchasing a Computer
        • Computer Scenarios
        • Computer Presentation
        • PAC Test Instructions
        • PAC Peer Review
        • How to Submit Computer Comparisons
        • How to Submit Computer for Helen
      • Scratch 2 (Coding)
      • Scratch 1.4 (Programming)
      • ARCHIVED - GIMP (Raster Graphics)
      • ARCHIVED - Inkscape (Vector Graphics)
      • AutoCAD (2D Design)
      • Sketchup (3D Design) >
        • Google Sketchup (2011)
        • Google Sketchup (2012)
      • Excel vs Calc (Spreadsheet)
      • Cam Studio (Screen Capture Videos)
      • TuxPaint (for young kids)
      • TuxTyping (Typing Tutor)
    • Links >
      • Career Links in Fredericton
      • Job Hunting Tips
    • Presentations >
      • Scratch Workshop Oct 11, 2013
      • Scratch Workshop Sept 18, 2013
      • Math for French Immersion
    • Software That Is No More >
      • Setup (for an older version of Weebly) >
        • Setup - Day 1
        • How To Setup Your Weebly Pages
        • Marks (link to Canvas)
        • Web Portfolio
    • Previous Teaching >
      • Old Teacher's Logs >
        • Teacher's Log 2015-2016
        • Teacher's Log 2014-2015
        • Teaching Notes - Hartland 2014
        • BBT9 Teacher's Log (Apr-June2013)
        • BBT9 Teacher's Log (Jan - Apr 2013)
        • BBT9 2012
      • Sept2010-Jan2012 >
        • Old Home
        • Middle School >
          • Literacy
          • Social Studies 6
          • Social Studies 7 >
            • Online Test - Canada at Confederation
      • Jan2012-Nov2012 >
        • Book Blog >
          • Blog to Book
        • About Mr Rich
    • PD Sessions >
      • BBT9-10 Oct6 2016
      • BBT Teachers PD (Jan 2013)
      • Cyber-bullying (May 2013)
Python PD - Part 1 - Part 2 - Part 3 - PyGame Install

Computer Science 110 - PD for Teachers!

July 5-8, 2016 - Mr. Rich is co-leading a Python workshop based on the new Computer Science 11 curriculum for New Brunswick, Canada.  Twelve teachers will be learning Python with the intention of teaching CS 110 in their home schools next September or February!

Q #1 - Why learn to code?

Students need a reason!  So let's give them a few (and keep this short).
  • The Internet runs on code.  (So, no code means no Internet!)
  • Your phone is useless without code.  (No code + phone --> brick!)
  • Learning to code is like learning how things work.  In this case, we want to understand how computers and electronics perform useful tasks.
  • There are jobs in coding!  ... here at home and around the world!
​

Q #2 - What is visual coding and where do I start?

Many students today start with drag-and-drop "visual" coding in grade 6-9 (or earlier).  Many use Scratch, some use Blockly, others use Vizwik or AppLab.

The purpose of these activities is to teach "computational thinking".  This helps students understand the logic and reasoning that goes into computer programming.

You don't have to include visual coding in your CS 110 course, but you certainly can!

There are lots of examples of this on the web:
  • Mr. Rich's instructions to use Scratch to built the Frogger video game
  • Mr. Rich's instructions to use Vizwik to build a "Simon Says" video game
  • Blockly Challenges (built by different people, but published here)
​

Q #3 - I can't install!  Can I learn text-based coding?

Before you install anything, here are online resources to learn Python with only a web browser.  Just follow along and the web site will detect if students have entered the correct code.
  • Penjee.com - mostly text instructions, some video  (Best choice!)
       Code a penguin's actions to pick up fish!
       (More Penjee challenges are being added later this summer.)

  • Alt #1: Tech Rocket's Code with Python - silly, for younger learners

  • Alt #2: Codecademy.com - Python - all text instructions, no video

  • Alt #3: CodeSchool.com - Python - text instructions, some video
​

Q #4 - I can install!  What should I install?

It's time to download and install an IDE. (What's an IDE?)
  • We recommend PyCharm Edu (free)
  • Or try PyScripter (free, used by Khan Academy)
  • Or use Python's built-in Idle (nothing fancy, works like Notepad)
​

Q #5 - IDE installed!  What do we study?

Teachers now need to determine which lessons to follow.  All of the choices below will examine the language sequentially, like a text book.  
  • ​Learn Python the Hard Way (free online, good for HS)
  • Invent Games with Python (free PDFs, good for MS/HS)
  • Non-Programmer's Tutorial for Python (WikiBooks) (free online,PDF) 
  • PyCharm Edu has built-in a "Introduction to Python" (good but steep)
  • Khan Academy - 23 YouTube videos (no text instructions)
​

Q #6 - What projects can Python students do?

After working through some of the resources above, students should be ready for some bigger projects.
  • You can head over to Part 2 of this PD session
  • You can look into some GUI project ideas
    (GUI = Graphical User Interface, which means "more than text on a command line")

Best of luck!  Let us know how it goes on the Contact Form!
Picture

Which Python?

We started out using version 2.
Looks like we can use version 3 also!

FIT Brochure for NB

The NB FIT Brochure (PDF)
FIT = Focus on Information Technology

Use PyCharm EDU (an IDE)

Download PyCharm EDU here.

Lists of Resources

Lists of Python learning resources with reviews.  Choose what's right for you and your students!
  • "The Best Way" list
  • "Skilled Up" - 7 Best Courses
  • "Full Stack" list
  • "Slash4" Best Way in 2016 list
  • "Hitchhiker's Guide" list
​

Full Python Online!

Can't install anything?  No problem! Try these online Python services:
  • Skulpt.org
  • TutorialsPoint.com

Best IDE for Python

Here are some reviews and lists of Python IDE's for you to consider.
  • "Choosing the Best ..."
  • "The 10 Best IDEs ..."
  • "Python.org's IDE list"

Official Resources

From Python.org   (Keep handy!)
  • Official Python Tutorial (v2)
  • Python Docs Reference Library

Links from Andrew C

​A few links for CS110 and Python.
  • Hitchhikers Guide to Python
  • How to think like a Computer Scientist
  • ​Visualize Python
  • ​Python 3 Course (good reference for GUI-Tkinter)
  • ​Tkinter Tutorial
  • Pygame Tutorial
  • Online Python – Don’t even need python on a machine
  • Another interesting online Python interpreter
  • Free Computer Science books everyday (excellent source of Python books)
  • ​O'Reilly - Excellent source of Computer Science books – Often have deals at 50% 
  • EdX.org - A collection of university courses (including Computer Science) from all over the world


Alternatives to the Alternatives - Javascript

Python has been the "go to" beginner programming language for decades. This means that it is good and has been proven.  It also means that there has been lots of time for complaints and for developers and teachers to suggest other languages for "introduction to coding" exercises.

Lately, the biggest challenger language (for "introduction to coding" exercises) is JavaScript.

Personally, I think JavaScript is much more complicated to learn, with many more syntax challenges (e.g. curly braces) than Python.  However, there are lots of resources out there.

The other "plus" of JavaScript is that you can start coding without downloading anything.  Just fire up Notepad, save your work, then open the file using your favourite web browser.  And voila!  You should now see your JavaScript running.

Of course, I hope someone warned you that JavaScript runs slightly different in each web browser.  And the students will need to know some HTML and CSS (which can take as little as 30 minutes).  But these are important warnings.

If you're curious about learning JavaScript, then I suggest starting with Blockly and click to see what's underneath the blocks.  
  • Try the Blockly Challenges (each one is very different!)

Then, try taking a course from:
  • Codecademy.com
  • CodeSchool.com
  • W3Schools.com
  • ...


Also, when you want to extend JavaScript, there are lots of choices!
  • jQuery
  • Node.js
  • AngularJS
  • ExpressJS
  • MEAN (MongoDB + ExpressJS + AngularJS + Node.js)
  • ReactJS
  • CoffeeScript
  • Sass (for CSS, which isn't JavaScript, but works with it!)

Best of luck!  Let us know how it goes on the Contact Form!
Picture


Copyright © Graham Rich 2010-2020.   Site made using Weebly.com.