TeCoEd (Teaching Computing Education)
  • Home
    • Freelance
    • Book
    • Downloading
  • Python
    • Learn Python >
      • Python Modules
    • PyGame Zero
    • Python Programs >
      • Higher or Lower
      • Magic Calculator
      • Password Checker
      • Python Pit
    • What's News App
    • Pixels to Cells
    • Python Mosaics
    • Python OCR
    • L-1-AM
    • Web Scraping >
      • Scraping Trains
    • Weather App
    • Snakes and Windows
    • Python Web Server >
      • Flask
    • Python Picks
  • Raspberry Pi
    • All About the Pi
    • Getting Started
    • Remote Desktop and VNC
    • Static IP Address
    • Sonic Pi >
      • 3.14
    • Twitter Feed >
      • Tweepy
    • Android & Pi >
      • Advanced Apps
      • Odds
    • A.I on the the Pi
    • CRON
    • Pick Your Own
  • Pi Hardware
    • Pi HATS >
      • Sense Hat Hacks
      • AstroPi HAT
      • Unicorn-HAT >
        • Unicorn Alphabet Disco
        • Uni Codes / Programs
      • Skywriter
      • Piano HAT
    • STS Pi
    • Pi Camera >
      • Pi-Cam, Python & Email >
        • Time Lapse
      • Pi Noir
    • Pipsta >
      • Flask, Input & Printers
    • Raspberry Pi Power >
      • Energenie IR power
    • Pibrella
    • Distance Sensor
    • LCD Screen
    • Pi-Tooth
    • Robot Arm
    • PiGlow
    • PiFM
    • Accelerometer
    • PiFace >
      • Installing PiFace >
        • Python Commands
  • Pi-Hacks
    • Drone Hacks
    • Pi Glue Gun Hack
    • Blinkt!
    • Sonic Pixels
    • R2D2
    • Get to the chopper
    • Astro Bird
    • Twitter Translator
    • Hacking a Robot
    • Nature_Box >
      • Best Nature Photos
    • Wearable Tech >
      • Project New York
      • P.N.Y Part 2 Health
      • P.N.Y Part 3 Games
      • P.N.Y Part 4 Translation
    • Dino-Tweet
    • Other Links
  • Pi-Hacks 2
    • The Joker
    • Hologram Machine
    • Google Vision: Camera Tell
    • Yoda Tweets
    • Pi Phone
    • Darth Beats
    • Twitter Keyword Finder
    • Crimbo Lights Hack
    • Xmas Elf
    • Halloween 2016
    • Halloween Hack 2015
    • Socrative Zombie
    • Voice Translation
    • The Blue-Who Finder
    • GPIO, Twitter
    • Pi Chat Bot >
      • Dictionary Definitions
    • PiGlow & Email
    • Pibrella Alarm System
    • SMS with Python >
      • Spooking a Mobile
  • Pi-Hacks 3
    • Ferminal
    • Crypto Tracker
    • David Bowie
    • Lamp Prank >
      • TEST
    • Yoda FM
    • Retro Player
    • LED Pixel Art
    • TARDIS
    • Battleships
    • LED Board
    • Night Vision
    • Enviro+ Weather
  • Minecraft
    • Minecraft API
    • Minecraft Sweeper
    • PiGlove: Minecraft Power Up
    • Minecraft Photo-booth
    • Rendering Pixels
    • Speed Cube
    • Lucky Dip
  • Computing
    • Why Computing?
    • Can You Compute
    • micro:bit
    • Coding Resources
    • Learn to Code >
      • Coding with iPads
      • Apps Creation Tools
      • sKratchInn
      • Sound Editing
    • Cheat Sheets
    • Theory
    • HOUR OF CODING
    • BEBRAS Computing Challange
    • Computer Facts
    • Free Software and Links
  • Contact Me

Teaching Kids Coding with Scratch

8/3/2020

0 Comments

 
The Scratch Programming Language

Scratch may not be a programming language that you’re familiar with if you've grown up hearing about BASIC and Cobol, but today Scratch is used in colleges, universities, and workshops to teach the basics of coding to both children and adults.

Scratch was a project created by the Lifelong Kindergarten Group of the MIT Media Lab. While it was developed for students between the ages of 8 and 16, there is a robust online community of contributors, and today, students of all ages are beginning their computer science journeys with Scratch. In fact, Scratch is included in many universities' computer science curricula, including the University of Missouri and Harvard. There is also an active Scratch community creating new projects everyday.

Scratch programming uses drag-and-drop code blocks to teach students how to code. Users are presented with colorful characters (called sprites), easy-to-understand code blocks, and a stage on which they can see their code come to life on their own computer with the click of a green flag. It’s a great way to introduce students to coding.

Rather than having students memorize commands, Scratch promotes students to think about what it is they want the code to do step-by-step and how the different blocks can help them achieve their goals. Are they trying to move a sprite? They probably need a block in the Motion section. Do they need to repeat a step more than once? They should probably reach for a repeat block.

This kind of learning environment helps those learning to code think more abstractly about what it is they are trying to achieve and not get overwhelmed by details. While Scratch is simple enough to be self-taught, many students simply wouldn’t know where to begin.

What Kind of Projects Can be Built with Scratch?

If you take a look at the thousands of projects that have been developed in Scratch, you’ll see a vast variety of impressive work. From short films to recreations of popular games, such as Angry Birds and Minecraft, the possibilities with Scratch are just about endless. Scratch developers are able to build and solve puzzles and mazes, create interactive games based on math and science, and create video games that they can share with friends.

It’s also a great way for students to start thinking about how they can solve real-world problems. One of Juni’s assigned projects tasks students with solving the famous Fizzbuzz interview coding challenge. Through this project, students learn about using conditional statements and the modulus operator to solve this problem.

Some might look at Scratch and find it hard to believe that this framework, with its brightly-colored coding blocks and cartoon sprites, can be an effective way to learn to code. A powerful tool in its own right, Scratch gives students a deep understanding of the foundational coding concepts they’ll need to master other languages.

This article originally appeared on junilearning.com
​
0 Comments

Coding For Kids: Getting Started Learning Programming

7/24/2020

0 Comments

 
Computer programming is rapidly becoming increasingly popular. In turn, more and more parents want their children to learn coding - and for good reason. According to the Bureau of Labor, median pay for software developers is $103,560 per year, with demand expected to increase by 24% between 2016 and 2026, a growth rate which is significantly faster than that of other occupations. Computer programming also teaches a number of important life skills, like perseverance, algorithmic thinking, and logic. Teaching your kids programming from a young age can set your child up for a lifetime of success.
While programming is offered by a some schools in the US, many schools don’t include regular computer science education or coding classes in their curriculum. When offered, it is usually limited to an introductory level, such as a few classes using Code.org or Scratch. This is mainly because effective education in computer programming generally depends on teachers with ample experience in computer science or engineering.

This is where Juni can help. With instructors from the top computer science universities in the US, Juni students work under the tutelage of instructors who have experience in the same advanced coding languages and tools used at companies like Facebook, Google, and Amazon. Juni’s project-based approach gives students hands-on experience with professional languages like Python, Java, and HTML. The rest of this article addresses some of the most frequently asked questions about coding for kids.

How can I get my child interested in coding?

Tip 1: Make it Fun!A good way to get your child excited about programming is to make it entertaining! Instead of starting with the traditional, “Hello World” approach to learning programming, intrigue your children with a curriculum that focuses on fun, engaging projects.

Tip 2: Make it RelatableChildren are more likely to stay interested in something that they can relate to. This is easy to do with coding because so many things, from videogames like Minecraft, to movies like Coco, are created with code! Reminding students that they can learn the coding skills necessary to create video games and animation is a great motivator.

Tip 2: Make it ApproachableIntroducing programming to young children through lines of syntax-heavy code can make coding seem like a large, unfriendly beast. Starting with a language like Scratch instead, which uses programming with blocks that fit together, makes it easier for kids to focus on the logic and flow of programs.

How do I teach my child to code?

There are a few approaches you can take in teaching kids how to code. Private classes with well-versed instructors are one of the most conducive ways to not only expose your kids to programming and proficiently develop your children’s coding skills, but also sustain their interest in the subject.

At Juni, we offer private online classes for students ages 5-18 to learn to code at their own pace and from the comfort of their own homes.

Via video conference, our students and instructors share a screen. This way, the instructor is with them every step of the way. The instructor first begins by reviewing homework from the last class and answering questions. Then, the student works on the day’s coding lesson.  The instructor can take control of the environment or annotate the screen -- this means the instructor can type out examples, help students navigate to a particular tool, or highlight where in the code the student should look for errors -- all without switching seats. Read more about the experience of a private coding class with Juni.

We have designed a curriculum that leans into each student’s individual needs. We chose Scratch as the first programming language in our curriculum because its drag-and-drop coding system makes it easy to get started, focusing on the fundamental concepts. In later courses, we teach Python, Java, Web Development, AP Computer Science A, and a training program for the USA Computing Olympiad. We even have Juni Jr. for students ages 5-7.

Other Options: 

Coding Apps and Coding Games
There are a number of coding apps and coding games that children can use to get familiar with coding material. While these don’t have the same results as learning with an instructor, they are a good place to start.

Code.org has been featured by Hour of Code, and it is used by public schools to teach introductory computer science. Code.org’s beginner modules use a visual block interface, while later modules use a text-based interface. Code.org has partnered with Minecraft and Star Wars, often yielding themed projects.

Codeacademy is aimed at older students who are interested in learning text-based languages. Coding exercises are done in the browser, and have automatic accuracy-checking. This closed platform approach prevents students from the full experience of creating their own software, but the curriculum map is well thought out.

Khan Academy is an online learning platform, designed to provide free education to anyone on the internet. Khan Academy has published a series on computer science, which teaches JavaScript basics, HTML, CSS, and more. There are video lessons on a number of topics, from web page design to 2D game design. Many of the tutorials have written instructions rather than videos, making them better suited for high school students.

What is the best age to start learning to code? 

Students as young as 5 years old can start learning how to code. At this age, we focus on basic problem solving and logic, while introducing foundational concepts like loops and conditionals. It is taught using kid-friendly content that is interesting as well as projects that involve creativity and an interface that isn’t as syntax-heavy. At ages 5-10, students are typically learning how to code using visual block-based interfaces.

What are the best programming languages for kids?

With young students (and even older students), a good place to start building programming skills is a visual block-based interface, such as Scratch. This allows students to learn how to think through a program and form and code logical steps to achieve a goal without having to learn syntax (i.e. worrying about spelling, punctuation, and indentation) at the same time.

When deciding on text-based languages, allow your child’s interests to guide you. For example, if your child is interested in creating a website, a good language to learn would be HTML. If they want to code up a game, they could learn Python or Java.
What kind of computer does my child need to learn to code?This depends on your child’s interests, your budget, and the approach you would like to take. Many online coding platforms, like repl.it, are web-based and only require a high-speed internet connection. Web-based platforms do not require computers with much processing power, which means that they can be run on nearly any computer manufactured within the last few years. Higher-level programming using professional tools requires a Mac, PC, or Linux with a recommended 4G of RAM along with a high-speed internet connection.

Why should kids learn to code?

Reason 1: Learning to code builds resilience and creativityCoding is all about the process, not the outcome.
The process of building software involves planning, testing, debugging, and iterating. The nature of coding involves checking things, piece by piece, and making small improvements until the product matches the vision. It’s okay if coders don’t get things right on the first attempt. Even stellar software engineers don’t get things right on the first try! Coding creates a safe environment for making mistakes and trying again.

Coding also allows students to stretch their imagination and build things that they use every day. Instead of just playing someone else’s video game, what if they could build a game of their own? Coding opens the doors to endless possibilities.
Reason 2: Learning to code gives kids the skills they need to bring their ideas to lifeCoding isn’t about rote memorization or simple right or wrong answers. It’s about problem-solving. The beautiful thing about learning to problem solve is, once you learn it, you’re able to apply it across any discipline, from engineering to building a business.

Obviously students who learn computer science are able to build amazing video games, apps, and websites. But many students report that learning computer science has boosted their performance in their other subjects, as well. Computer science has clear ties to math, and has interdisciplinary connections to topics ranging from music to biology to language arts.  
Learning computer science helps develop computational thinking. Students learn how to break down problems into manageable parts, observe patterns in data, identify how these patterns are generated, and develop the step-by-step instructions for solving those problems.

Reason 3: Learning to code prepares kids for the economy of the future. According to WIRED magazine, by 2020 there will be 1 million more computer science-related jobs than graduating students qualified to fill them. Computer science is becoming a fundamental part of many cross-disciplinary careers, including those in medicine, art, engineering, business, and law.

Many of the most innovative and interesting new companies are tackling traditional careers with new solutions using software. Software products have revolutionized industries, from travel (Kayak, AirBnB and Uber) to law (Rocket Lawyer and LegalZoom). Computing is becoming a cornerstone of products and services around the world, and getting a head start will give your child an added advantage.

Many leading CEOs and founders have built amazing companies after studying computer science. Just take a look at the founders of Google, Facebook, and Netflix!

Career Paths 

Although computer science is a rigorous and scientific subject, it is also creative and collaborative. Though many computer scientists simply hold the title of Software Engineer or Software Developer, their scope of work is very interesting. Here is a look at some of the work that they do:
  • At Facebook, engineers built the first artificial intelligence that can beat professional poker players at 6-player poker.
  • At Microsoft, computer programmers built Seeing AI, an app that helps blind people read printed text from their smartphones.
​
Computer scientists also work as data scientists, who clean, analyze, and visualize large datasets. With more and more of our world being encoded as data in a server, this is a very important job. For example, the IRS uncovered $10 billion worth of tax fraud using advanced data analytics and detection algorithms. Programmers also work as video game developers. They specialize in building fun interactive games that reach millions of people around the world, from Fortnite to Minecraft.
All of these career paths and projects require cross-functional collaboration among industry professionals that have a background in programming, even if they hold different titles. Some of these people may be software engineers, data scientists, or video game designers, while others could be systems analysts, hardware engineers, or database administrators. The sky is the limit!

How can you get your kids started on any of these paths? By empowering them to code! Juni can help your kids get set up for a successful career in computer science and beyond. Our founders both worked at Google and developed Juni’s curriculum with real-world applications and careers in mind.

Coding for Kids is Important

Coding for kids is growing in popularity, as more and more families recognize coding as an important tool in the future job market. There is no “one-size-fits-all” for selecting a programming course for students. At Juni, our one-on-one classes allow instructors to tailor a course to meet a student’s specific needs. By learning how to code, your kids will not only pick up a new skill that is both fun and academic, but also gain confidence and learn important life skills that will serve them well in whatever career they choose.

This article originally appeared on junilearning.com
0 Comments

COMPUTER LESSONS WITHOUT PRINTING OR COMPUTERS

10/22/2014

1 Comment

 
This week we are having a server upgrade which will knock out the computers for a few days.  Initially my department wanted to print out loads of worksheets and task sheets.  However, there are a many activities that require little more than a pen and paper but, are still engaging, fun and foster learning.  Below is the list that I shared with my department,

1) Create a poster about E-safety / Cyber bullying

2) Design a new set of icons / user interface for a mobile device - explain what each of the apps do and why they are required

3) Write a story about a student that gets shrunk and placed inside a computer, what do they see? what  happening, what are  the dangers? how do they escape?

4) Each student writes 2 / 3 computer related questions,collect them all in and run a whole class quiz

5) I have a box of computer hardware which students could label and discuss what each part does, 

6) Students could create a A4 a flat version of a computer, drawing the various parts and connecting them to each other

7) Binary and Hexadecimal conversion and equations!!!

8) Create a problem page for computer issues, students could answer each others as the agony aunt!

9) Give students a set of commands FD, BK, RT, LT and they have to program another student to move around the room, how      can the basic code be improved? Can they write a code that enables a student to move from any place in the room to a certain  point? 

10) Play a song that has instructions for example, The Clash, " should I stay or should I go?"  Students create an algorithm for the  various options,  example below.
Picture
1 Comment

iPad Apps for Coding and Programming KS2,3,4

4/20/2014

0 Comments

 

A great and varied selection of free and paid apps available on iPad to engage and teach learners how to code and program.

0 Comments

3D Dragon Illusion - try it!

4/20/2014

1 Comment

 
1 Comment

R.E.A.P

2/12/2014

0 Comments

 

R.E.A.P: REPLICATION, EXTENTION, APPLICATION, PERSONLISED

R.E.A.P
As teachers, educators and constructors of learning, how can we use technology to facilitate good student learning?  Many educational institution have injected technology, mainly iPads throughout the classroom.  This has come with much expense and extra demands on time and staff.  Most significant is the change and development in the we teach and the methods that we to use deliver learning when using technology.   I recall asking several schools and colleges what the most difficult part of iPad deployment had been.   The most common response was the 'difficulty in getting teachers to change the way they do things'.  They observed  best practice and use of technology where courses or content had changed and teachers were forced to change their own resources and teaching approaches. This then led to a natural progression where planning, resources and teaching incorporated technology. 

I was introduce to the SAMR model which sets out the various stages of where and how technology is being used, with the aim that teachers can move from the Substitution stage up to the Redefinition stage of learning.  For schools or colleges that have embedded mobile device technologies SAMR is a good guide to separating what or how these devices are being used.  It can foster, " I am at the ... stage discussions and debate".  

I wanted to develop the SAMR model further to include a construct to define what each stage looks like, what the learning looks like and an indication on how to move forward through the stages to embrace the full benefits of technology assisted learning. 

Welcome to R.E.A.P. 

R: Replication
Indicator: Technology, Software and Hardware are used to digitally replicate a current way of completing a task. 

Example
Students creating a spider diagram on a device instead of Paper.  Students take a photo of a text book instead of photocopy.  Students complete a worksheet online instead of on paper.

Learning Level
Same - some motivation.

E: Extension
Indicator:  Using Technology, Software and Hardware, deployed to do something extra or to extend the learning activity.

Example
Students have finished a report on a topic, the teacher instructs them to then create an accompanying video trailer or animation which displays their learning and understanding.

Learning Level
Some extension for some student, some adaptation of learning

A: Application
Indicator: Technology, Software and Hardware are used to deliver the learning content or to stimulate learning processes

Example
Students are presented with a choice of learning activities or applications that teach, assess and foster progression.  Teacher still dictates the learning activities but a student can align their own choice with how they want to learn. 

Learning Level
Some personalisation, independence and choice, 

P: Personalised
Indicator:  Technology, Software and Hardware are selected by the learner to stimulate and enhance their learning experience

Example
The student is an autonomous and independent learner crafting their own methods of learning and assessment.  The teacher motivates, challenges and supports the student on their learning journey as required.

Learning Level
High and independent, Motivated, self sufficent

Master Copy
File Size: 308 kb
File Type: pdf
Download File

0 Comments

Counting Binary with Cups

1/6/2014

3 Comments

 
Picture
I am always looking for interesting and exciting ways to teach computing concepts to students. Engagement is a key to making learning memorable and therefore easier to understand and recall.  This post looks at how to create a Binary counting machine from plastic drinks cups.

You will need:
9 large plastic cups
A marker pen
A pinch of binary logic

Picture
Step One

Join the cups together as shown in the picture, they will need to turn, this can be made easier by lining up the joins on the cups.

Picture
Step Two

Across the top row write the Binary Values, 1,2,4,8,16,32,64,128.  Underneath each value write a zero.  The trick here is to be neat and line up the digits.


Picture
Step Three

Under the zeros add a row of ones.  Again neatness and equal spacing is essential to ensure that the digits will all be lined up when the cups are turned.

Picture
Step Four

 The final step is the add the two indicators as shown in the picture.  The first is the read here, which i where the user lines up the binary values.  The binary  where the user reads the binary code.

Reading the Cups

To read the binary code simply turn the Binary Values until you have the total value that your want, for example 41 (32 +8+1)
Then read the Binary Code from the third line.  The process can be reversed and students can create a Binary Code and then work out the decimal value.  
Picture
3 Comments
<<Previous

    Author

    TeCoEd

    Archives

    August 2020
    July 2020
    October 2014
    April 2014
    February 2014
    January 2014
    November 2013
    September 2013
    August 2013
    July 2013
    June 2013
    March 2013
    January 2013

    Categories

    All
    Binary
    Computing
    Education
    Font
    New
    Nqt
    Pixels
    Primary
    Programming
    Teaching

    RSS Feed

Powered by Create your own unique website with customizable templates.