Fig.1 Electoronic whiteboard and programming education system



Similar documents
Smart Board Basics. December, Rebecca Clemente Department of Education

SMART Board Menu. Full Reference Guide

SMART BOARD USER GUIDE FOR PC TABLE OF CONTENTS I. BEFORE YOU USE THE SMART BOARD. What is it?

SMART Boards. If the board is connected to a different computer - Orientation is needed whenever you connect it to a new or different computer.

ArchiCAD Tutorial Getting started. Dr. Benny Raphael Dept. of Building National University of Singapore (NUS)

Blackboard Learn 9.1 Screencast Collaboration Tools in Blackboard 9.1

GOALS: The goal for this session is: OBJECTIVES: By the end of the lesson participants should be able to: MATERIALS: Instructor ACTVITIES: EVALUATION:

SnagIt Add-Ins User Guide

Epson Brightlink Interactive Board and Pen Training. Step One: Install the Brightlink Easy Interactive Driver

SMART Board User Guide for PC

The SMART Board Interactive Whiteboard

Why Use OneNote? Creating a New Notebook

Windows XP Pro: Basics 1

How to use a SMART Board

Draw pie charts in Excel

SMART Board User Guide for Mac

Handout: Word 2010 Tips and Shortcuts

2. How to Use SMART Board as a Projector and Whiteboard

Maximizing Microsoft Office Communicator

SMART Board Training Outline Trainer: Basel Badran

Sample- for evaluation purposes only! Introductory OneNote. teachucomp, inc. A publication of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.

Introduction to Computers: Session 3 Files, Folders and Windows

Using. An excerpt from Smart Technology's getting started manual explaining the basics of the SmartBoard and how to use it.

Using SMART Boards. Display Power (Projector) & PC Buttons on the Console

SMART Board Tips & Tricks (version 9.0) Getting Started. SMART Tools vs. SMART Notebook software

OneNote 2013 Tutorial

2. More Use of the Mouse in Windows 7

Hands-on Practice. Hands-on Practice. Learning Topics

SMART Board Training Packet. Notebook Software 10.0

SMART Board Interactive Whiteboard Basics Tip Sheet for ABP Faculty

Using SMART Notebook (Overview)

What is Microsoft PowerPoint?

Using the Dean s Conference Room

Ready Light on lowerright of frame bezel

PARCC Technology Skills: Grades 6-8

OneNote 2016 Tutorial

Windows 8.1 Tips and Tricks

PowerPoint 2007: Basics Learning Guide

Handwriting-based Learning Materials on a Tablet PC: A Prototype and its Practical Studies in an Elementary School

Word basics. Before you begin. What you'll learn. Requirements. Estimated time to complete:

Excel 2007 Basic knowledge

Introduction to Windows 8

PEMBINA TRAILS SCHOOL DIVISION. Information Technology Department

The Notebook Software Activity Guide

Task Card #2 SMART Board: Notebook

Beginning PowerPoint: Hands-On Exercise (Windows XP) Regent University

[Not for Circulation]

SMART Board 9 Software Tips and Tricks

Microsoft PowerPoint 2007

Q&As: Microsoft Excel 2013: Chapter 2

Help. Contents Back >>

Blackboard 9.1 Basic Instructor Manual

User s Manual CAREpoint EMS Workstation D-Scribe Reporting System

Unified Communications Using Microsoft Office Live Meeting 2007

Installing Lync. Configuring and Signing into Lync

Collaborative Tools. Course groups can also use the Collaboration tools for private sessions open only to course group members.

PowerPoint 2013: Basic Skills

Manual. OIRE Escuela de Profesiones de la Salud. Power Point 2007

What s New in SMART Board Software 9.0 for Windows Operating Systems

USING TABLET COMPUTERS FOR PRESENTATION OF SLIDES IN THE PROCESS OF TEACHING

Microsoft PowerPoint 2011

Creating a Poster in PowerPoint A. Set Up Your Poster

Microsoft PowerPoint 2010

SMART Sympodium and Notebook Software 9.5

Using the SAS Enterprise Guide (Version 4.2)

I ntroduction. Accessing Microsoft PowerPoint. Anatomy of a PowerPoint Window

Learning Activity Management System TEACHER S GUIDE. October 2006 LAMS V2.0 for The First International LAMS Conference 2006

Using an Access Database

AD201, STC106, STC109, STC204, STC302, STC304, STC309, STC311

Mimio Interactive. Pad and Bar. Technology Integration Department. Last update: 2/15/2013

Teaching Space User Guide

A Web Tour also can be opened up in an external browser: this is called a Web Push. (See Web Push below.)

Hardware Basics for Front Projection SMART Board Interactive Whiteboards

Power Point 2003 Table of Contents

Blackboard IM for Virtual Office Hours and Collaborative Group Work

SB101 SMART Board 101

Creating Custom Crystal Reports Tutorial

Interactive Voting System. IVS-Basic IVS-Professional 4.4

HP MyRoom Customize View Quick Reference Guide

Smoothboard 2.0 Updates. Software Version: 2.0 Document Version: 1.0

Using Neural Networks to Create an Adaptive Character Recognition System

BusinessObjects: General Report Writing for Version 5

Module 9. User Interface Design. Version 2 CSE IIT, Kharagpur

Windows Live Movie Maker Tutorial

Florence School District #1

Windows 8.1 Update 1 Supplement

Linkage 3.2. User s Guide

MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros.

D2L: An introduction to CONTENT University of Wisconsin-Parkside

Smart Sync. Computer Classroom Management Software. What is SMART Sync? Table of Contents

Smartboard Tutorial. 1. Setting up the Smart Board and Presentation Cart. 2. Orienting the Board. 3. Smartboard Toolbars. 4. Inserting a New Slide

SMART NOTEBOOK 10. Instructional Technology Enhancing ACHievement

WHAT S NEW IN WORD 2010 & HOW TO CUSTOMIZE IT

SMART Notebook: Basics and Application

Using Your Polyvision Digital Whiteboard and Walk-and-Talk

ecollege AU Release Notes - ClassLive ClassLive

SMART Board Interactive Whiteboard Setup with USB Cable

Introduction to MS WINDOWS XP

Computer Basic Skills

Transcription:

Programming Education on an Electronic Whiteboard Using Pen Interfaces Taro Ohara, Naoki Kato, Masaki Nakagawa Dept. of Computer Science, Tokyo Univ. of Agri. & Tech. Naka-cho 2-24-16, Koganei, Tokyo, 184-8588, Japan e-mail: sylph@hands.ei.tuat.ac.jp This paper describes a system to teach programming on an interactive electronic whiteboard that combines the merits of classroom lectures using a black/white board and those of computer processing. Using this system, a teacher can write a program on the board, explain it, make the system recognize it and run the program in front of the class while keeping the attention of the students focused on the board. The system allows input data to be entered by writing input parameters on the board. 1. Introduction Conventionally, a teacher teaches programming by writing a program on a white/black board and explaining its logic and structure. Students copy the program and its explanation in their notebooks. Then, they are often required to study the program after the class by running it on a computer. Problems may arise at this stage, however, because the program written by the teacher on the board may have contained some errors, the student may make some mistakes in copying the program, and so on. In order to solve this problem, we have proposed a system for an interactive electronic whiteboard [1]. Using this system, the teacher can verify the correctness of a program that he/she has written immediately, show its execution, and explain how the output is changed when some part of the program is modified, without losing the familiarity and advantages of lectures using chalk and blackboard (Fig. 1). This paper describes the latest version of our programming education system on an electronic whiteboard system. Fig.1 Electoronic whiteboard and programming education system 2. Design of the Programming Education System 2.1 Design Goals The specifications of the programming education system are based on the design criteria of the user interface for the electronic whiteboard [2, 3] as follows: (1) Operability from arbitrary standing position of the user. (2) Easy operability with a single electronic marker. (3) Natural extension of the desktop GUI. (4) Simplicity of displayed contents. (5) Maximize space for contents while minimizing space for control. The first of the specifications allows the teacher to operate the board without having to cross the surface or stretch hands from side to side or from edge to edge. The second specification ensures that the teacher can operate the board with a single electronic marker without needing other markers, keyboard, mouse, etc. The third specification ensures consistency with the desktop environment. The fourth criterion allows the teacher to operate the board without confusion so that the students can understand the contents easily. The fifth criterion is to make sure that

the surface of the whiteboard is utilized for education as much as possible: buttons, menus, etc. should not hide the contents unless absolutely necessary. 2.2 Functional Design The following functions are necessary for the programming education system. (1) Handwritten character recognition With a marker, writing is the easiest and simplest way to input program text. Without pattern recognition, however, handwriting is just pen-trace patterns and cannot be processed as program text. Therefore, handwritten character recognition [4] is necessary. To facilitate character recognition, we provide a grid of character input frames to write program text. The character recognition engine accepts the handwritten text, recognizes it within the context of the programming language and outputs a code sequence of program text. We employ a lazy recognition scheme i.e., recognition after all the text is written, because recognizing each character immediately after it is written interrupts the writing of a program. The lazy recognition approach also allows the use of context to help pattern recognition. After program recognition, handwritten character patterns are replaced by font patterns (Fig. 2). Before program recognition After program recognition Fig.2 Handwritten program recognition (2) Editing Input, insertion and deletion of program text are the most necessary editing functions. According to the design specifications, the user must be able to perform these operations with a single marker. We implement the input function by allowing the user to write a character pattern in any empty frame. Insertion and deletion can be performed by tapping a marker between lines and dragging right or left (insertion or deletion of character frames within a line), or down or up (insertion or deletion of lines). When a marker is dragged to the right, new frames appear along with the dragging and the user can write characters in them. When the marker is dragged to the left, the characters on the right move over the dragged characters which are deleted (Fig. 3). Insertion and deletion of lines can be done similarly by shifting lines downward and making new lines or shifting lines upward. Fig.3 Insertion and deletion of text by sliding character frame

(3) Program execution A program thus edited can be executed by an interpreter. Using an interpreter rather than a complier, the program execution can be started without the compilation step. The output of the program being interpreted is not displayed directly, but a pipe with the system is created and the output is displayed within the execution window of the system. The input is dealt similarly. Data can be inputted by writing in the execution window and the recognized code is sent to the program through the pipe. We deliberately avoided the use of a keyboard for input in our system. A keyboard is neither easy to use for a standing teacher nor easy to observe for the students facing the teacher. When the teacher writes some input in the execution window, its recognition result is displayed in a pop-up window. The teacher can confirm the result of recognition, correct it if necessary, and then make the program continue its execution by pushing the execution button (Fig. 4). (4) Handwriting annotations A great advantage of using a pen is that one can write almost anything freely. It is very useful for the teacher to be able to write annotations on the program that he/she is explaining instead of merely showing the program. Therefore, our system provides an annotation capability on the source and execution windows with the electronic marker in the same way as on a blackboard (Fig. 5). Fig.4 Execution of program Fig.5 Handwriting annotation (5) Screen scroll Since the electronic whiteboard has a limited size, and some programs may be too large to show within the display area, the scroll function is essential. We will describe this in detail in the next section, as it is an issue of user interface. The standard scroll bar for a window is displayed on the bottom right-hand side of the window. This is convenient for operating in the traditional desktop environment, but on an interactive electronic whiteboard with an electronic marker, it is hard to use. The teacher has to stretch his or her hands from side to side and hide the board by his or her body. This violates one of our basic design goals. Therefore, scrolling the screen is implemented without using the traditional scroll bar. Scroll area is located around the input area. By touching the marker on any place in this area and dragging it to arbitrary direction, the screen can be scrolled in that direction. 2.3 Design of the User Interface Design of the user interface is also based on the specifications mentioned earlier in 2.1. (1) Screen interface The screen of the programming education system consists of a handwriting input area and a screen scroll area (Fig. 6). The scroll area is located around the input area except for the upper part of the window. When the user taps with the marker somewhere in the scroll area, a tool bar is displayed and operations can be performed from there. A user can write a program in the handwriting input area.

input area tool bar Scroll area Fig.6 Screen layout of the programming education system (2) Tool bar Since operations in the tool bar are not so frequently performed, the tool bar is displayed only when necessary. When the user taps somewhere in the scroll area with the electronic marker, the tool bar appears there. Moreover, only the buttons used often are displayed, others are hidden. When the functions associated with the hidden buttons are required, the number of buttons displayed can be changed by dragging the scroll area in the tool bar with the marker. (3) Execution window When the teacher is explaining a program, it is useful if he or she can show the source program and its execution results, and annotate them by writing as shown in Fig.5. The execution window displays the source program and its execution result within split areas of the window and allows the user to annotate over both the areas. The user can choose either or both areas to be displayed, and can change their proportions of the window as shown in Fig. 7. Another alternative is to display the result of program execution in a window separate from the source program, but to allow the user to annotate over two or more windows requires restructuring of our system software for this system. Fig.7 The splitter window displaying the source program and result (4) Tool bar for the execution window The tool bar containing buttons for operations on the execution window appears whenever the execution window is displayed because it occupies only a small area and these operations are used often when the teacher is working on the execution window. 3. Implementation of the Programming Education System We have implemented the programming education system on the MS-windows ME using Visual C++ 6.0. Its appearance is shown in Fig. 8.

Fig.8 Appearance of the Programming Education System 4. Conclusion This paper described the design and implementation of our programming education system on an electronic whiteboard system. We are now planning to use the system for teaching a programming course in our university curriculum to evaluate it in actual use. References [1] J. Kanda, S. Sawada and M. Nakagawa: Programming Education System on an Interactive Electronic Whiteboard, Proceedings of the Fourteenth Symposium on Human Interface, Tokyo, pp.601-606 (1998.9) [2] M. Nakagawa, T. Oguni and T. Yoshino: Human Interface and Applications on IdeaBoard, Proc. IFIP TC13 Int l Conf. on Human-Computer Interaction, pp.501-508 (1997.7). [3] M. Nakagawa, K. Hotta, H. Bandou, T. Oguni, N. Kato and S. Sawada: A Revised Human Interface and Educational Applications on IdeaBoard, CHI99 Video Proceedings and Video Program and also CHI99 Extended Abstracts pp.15-16 (1999.5). [4] T. Fukushima and M. Nakagawa: On-line Writing-box-free Recognition of Handwritten Japanese Text Considering Character Size Variations, Proc. of 15th ICPR, Vol.2, pp.359-363 (2000.9).