Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has.

Slides:



Advertisements
Similar presentations
BRIDGE COURSE of INFORMATION & COMMUNICATION TECHNOLOGY
Advertisements

Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Lecture 4 Basic Scripting. Administrative  Files on the website will be posted in pdf for compatibility  Website is now mirrored at:
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
S.T.A.I.R.. General problem solving strategy that can be applied to a range problems.
SuperStar Basics Brian Bruderer. Sequence Editors Traditional sequence editors use a large grid to control when channels are turned on and off. This approach.
Advanced Microsoft Word Hosted by Jared Hoffman Topics Keyboard Shortcuts Customizing Toolbars and Menus Auto Format & Auto Correct Tabs Inserting Pictures.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Aim: Use the given examples to record examples and our own ideas in our journal 1.Write technical examples in journal and/or participate in full.
Automating Tasks With Macros
Bug Session Two. Session description In this session the use of algorithms is reinforced to help pupils plan out what they will need to program on their.
What is Scratch? Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Lecture Set 3 Introduction to Visual Basic Concepts Part A – User Interfaces and Windows Forms – The Toolbox.
An Introduction to Microsoft Word. Microsoft Word This program allows you to type letters, papers, reports and even books. It is available through the.
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
Chapter 12: The Internet The ultimate direct. Internet Facts U.S. firms spend $14.7 billion on Internet advertising in 2005 By 2010, they are expected.
Microsoft Excel How to make a SPREADSHEET. Microsoft Excel IT is recommended that you have EXCEL running at the same time. You can try what you are reading.
by Chris Brown under Prof. Susan Rodger Duke University June 2012
Spreadsheets in Finance and Forecasting Presentation 8: Problem Solving.
Inspire students to develop ideas & organize thinking
Microsoft Excel By: Dr. K.V. Vishwanath Professor, Dept. of C.S.E,
QUICK DESIGN GUIDE (--THIS SECTION DOES NOT PRINT--) This PowerPoint 2007 template produces a 36”x56” professional poster. It will save you valuable time.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
11.10 Human Computer Interface www. ICT-Teacher.com.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Spreadsheets in Finance and Forecasting Presentation 9 Macros.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Nonvisual Arrays and Recursion by Chris Brown under Prof. Susan Rodger Duke University June 2012.
The Fundamentals of Using Windows 95. Windows 95 ã operating system that performs every function necessary for the user to communicate and control computer.
An Introduction to Microsoft Word. Microsoft Word This program allows you to type letters, papers, and other documents. This program allows you to type.
“The Power At The Click Of A Mouse” (Using Power Point To Create A Presentation)
Bug Session Four. Session description Objectives Session activities summary Resources Prior knowledge of sequencing instructions using Bug Bug website.
Basic Computer and Word Functions, part 1 Read the information and use to answer the questions in the Basic Computer and Word Functions Study Guide.
Enhancing the Graphical User Interface Multiple Forms, Controls, and Menus.
Alerts Manager Refer to Slide 2 for instructions on how to view the full-screen slideshow.Slide 2.
Introduction to Scratch Scratch as Logo Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
Introduction to Excel Editing Your Workbook.
EQ: How can we learn the basics of formatting a college research paper in Microsoft Word? Mini Unit: Typing a Paper Diogene Date: 4/20/2015 Course: ELA-Grade.
An Introduction to Alice (Short Version) – Extras! Yossra Hamid Under the Supervision of Professor Susan Rodger Duke University, June 2014 This is a continuation.
Lesson No: 6 Introduction to Windows XP CHBT-01 Basic Micro process & Computer Operation.
Grade Book Database Presentation Jeanne Winstead CINS 137.
Middle School Grades 6-8 Advanced Features of Inspiration.
Visual Basic CDA College Limassol Campus Lecture:Pelekanou Olga Semester C Week - 1.
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
Tutorial for Arrays and Lists. Description This presentation will cover the basics of using Arrays and Lists in an Alice world It uses a set of chickens.
1 Project designed and created by M. Shajith Kumar.
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
MAY LEGO ENVISON SYSTEM Team members: Brennan Beavers (CprE) Justin Goers (CprE) Erin Isvik (CprE) Roger Rathje (CprE) Client: Toying with Technology.
Project Information Abstract Project Objectives The objective of this project is to: Create a visual designer that will allow inexperienced end- users.
Background & Related Work Approaches to teaching media computation have so far primarily been reliant on textual programming languages [1]. For students.
Today We Will Review: Operating Systems (Windows) (week 3 & 4) Starting up MS Windows Desktop and its contents Functions of the desktop components Brain.
1 Unit E-Guidelines (c) elsaddik SEG 3210 User Interface Design & Implementation Prof. Dr.-Ing. Abdulmotaleb.
Introducing Scratch Learning resources for the implementation of the scenario
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Scratch for Interactivity
Microsoft Excel.
Nonogram Solver Cs491b Software Design Prepared by :
Program and Graphical User Interface Design
An Introduction to Computers and Visual Basic
Introduction to Events
Microsoft Excel All editions of Microsoft office.
Hands-on Introduction to Visual Basic .NET
Introduction to TouchDevelop
Game Loop Update & Draw.
ICT Spreadsheets Lesson 1: Introduction to Spreadsheets
An Introduction to Computers and Visual Basic
Presentation transcript:

Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has resulted in several environments and languages that offer a visual language that is much easier to learn than a traditional programming language. However, the visual interface of such environments requires use of a mouse and keyboard (with drag and drop usage), which limits the potential for adoption by children with a physical disability. The purpose of this Emerging Scholars project is to develop a voice interface to use along with visual programming languages so that individuals who cannot use a traditional keyboard and mouse can still learn to program. The tool support for this effort uses voice recognition software to understand what words are spoken, and then parses those words for understanding of what actions to take to mimic the equivalent mouse and keyboard events. The goal is to support the concept of “Programming by Voice” (PBV). The Myna project considers the topic of PBV for multiple environments. For this project, I investigated the application of PBV on a tool called Snap!, which is a web-based programming environment for children that was developed by the University of California at Berkeley. The main challenge is making the voice interface as versatile as the graphical interface. Simple tasks like scrolling and moving objects through voice commands are challenging because the voice interface has to know exactly where everything is with the programming tool, even when objects are moved or the screen is changed. We are investigating ways to implement solutions to these problems, and discovering that a voice interface, while offering its own challenges, is capable of providing the assistive needs to help children with special needs learn to program. Methods Conclusions Programming By Voice Josh Pepperman University of Alabama, Department of Computer Science Advisor: Dr. Jeff Gray My primary goals for this project were to initiate the PBV concepts to handle the Snap! interface online, and to implement the delete function. In order to get the PBV concepts working with Snap!, I had to take screenshots (like the ones below) of each of the menus and record their pixel positions on the screen. Then I had to transfer all that data into the program’s code, and also check to make sure that all of it worked. As an example, the delete function works as if the user is using a mouse: drag the block to be deleted off into the menu on the left. If there is something under the to-be-deleted block, then move it down and proceed. Then, move the other block back up. Here is what that looks like in the Snap! environment: Here are three typical blocks. Despite these issues with how to get certain functions of the program working, the rest of the team is making good progress on it. From what we have done so far, the project is certainly an achievable feat to accomplish, and once it is done it will be very helpful when teaching those with physical disabilities how to program. Some of the issues I listed can be fixed by forcing the program to run on a fixed resolution, so if we ask the user to set their screen at a certain resolution before running it, we could avoid certain issues related to screen size and positioning. Finding ways to make the program dynamic to its environment can be considered by scaling based on screen size. Also, changing the amount that the screen scrolls by a set rate, and then adding or subtracting that from the positions stored for the blocks as the screen moves are possible ideas for making the environment adapt to screen changes by the user. The ultimate goal of our efforts to bring the PBV concept to children is to support many different visual programming languages so that teachers are not restricted to just one when they are teaching children to program. A future idea for the project is to support adaptation to different environments instead of having to put in all the locations in for each environment element (as was done in this effort with Snap!). The motivation for this project is to provide a capability for children with disabilities to learn how to program a computer. Much of the experimentation was done by myself, but future efforts are planned to perform user-based testing with children identified by our collaborators at United Cerebral Palsy of Birmingham. This will let us see what works well with our project and what does not, and give us a better understanding of exactly how our Myna project will be used in a teaching environment. Seeing how teachers utilize it and how students use and react to it will help us as we continue to improve this project. Introduction Next, the block can be dragged and deleted off to the left side: If we want to delete the block in the middle, the block below it must be moved beneath it, programmatically within Myna: Finally, the previous block can be dragged to reattach to the new sequence: This process seems simple at first, but when considering all the complications of not being able to use a mouse, it becomes a challenging problem. For example, if the screen is scrolled down, all the block positions are saved after they are moved. Thus, if the screen itself is moved, the internal positions representing each block must also be modified. Many complications arose when dealing with screen changes and trying to represent where everything is located in the internal representation. Other issues also arose in this investigation, such as: what if screen sizes are not consistent across different computers? How can we get the program to undo and redo numerous actions? How can we allow scrolling without using the mouse? Some blocks (like the ones pictured) have places to input text, so how can the user add text verbally, and how to handle the size of the block expanding?