Software Design Challenge Invitational
Theme: Imagine a world where technology enables us a better education for all
1. Winning Team:
· Team members: Philip Allan Haines, Ngoc Thuy Duong Khuu, Van Tieu-Vinh, and Ping Li
· Mentor: Dr Dat Tran
· Project title: AUDIO PROGRAMMING ASSISTANT (APA)
· Project summary:
o Aim of the Project: The aim of the project is to develop a tool that gives blind and visually impaired users a simple and neat way to learn C# .NET programming and to share their learning with other users. This project has opened a great possibility that allows blind and visually impaired users to become C# programmers in the future. Currently, blind and visually impaired people have little access to tools and assistance required for them to learn programming languages. The project aims to help blind or visually impaired people achieve equality of access and opportunity in information technology education that will ensure meaningful and equitable employment for their lives.
According to the World Health Organisation (WHO) globally, an estimated 40 to 45 million people are blind and 135 million have low vision. In Australia over 480,000 Australians are vision impaired in both eyes, while over 50,000 are blind. This number is expected to increase to more than 87,000 people within 20 years.
Currently, there are screen reader tools such as JAWS, Brailliant Braille and Window Eyes Screen Reader. However, the costs for these tools are high and there is no tool that integrates the environment for compiling and debugging programs. Furthermore, there is not enough assistance for helping them learn to program in the leading edge language C#.
According Steve Alexander blind programmers could compete in the IT industry when infrastructure suited mainframes more. These days, with all of computers in the workplace, graphical windows applications are far more common. This means that blind programmers are now at a competitive disadvantage in the workplace and require special tools to be productive. Blind and visually impaired people require two things to become programmers. They need up to date knowledge of leading technology, and tools that meet their own requirements. This affects employment levels for blind and low vision people. With the current unemployment rate for blind and visually impaired at almost 70% (Vision Australia, 2007), which is over four times the national average, specialized tools could help a great deal of people.
o Problem Statement: The main issues of this project include the user interface design of the whole system; the technical issues of editing, compiling, debugging and running a program; the recording and navigation functions of the web browser; the file storage management of the web service; and the file uploaded for sharing knowledge and administration sections of the web site. In order to achieve these project objectives, an iterative approach was used. Each part was developed, tested then improved upon and tested again. This meant that usability issues were always found and improved.
The APA system has four major subsystems: APA Studio.NET (APASN), APA Web Browser (APAWB), APA Web Service (APAWS) and APA Web Site (APAWS). These four subsystems integrate with each other to provide an opportunity for blind and visually impaired people to learn and to program in C#. These tools have been designed to display the suitable font, font sizes and color scheme for blind, visually impaired and normal vision people accordingly.
o Impact: This project can potentially impact the lives of blind and low vision people. In Australia the current unemployment rate for blind and visually impaired people is 70% , which is over four times the national average. This coupled with the impending labor shortage, as the baby boomers retire, means that anything that can give blind people the opportunity to acquire practical, technical qualifications could greatly benefit blind people and the whole economy. A tool that teaches programming that is also a programming tool can potentially give jobs to people that was previously unemployable and fills in the skills shortage gap.
The project will also impact software development companies, governments, and educational institutions to develop software packages, educational programs and policies that meet the needs of blind and visually impaired people in achieving equality of access and opportunity in information technology education and equitable employment.
o Scenario 1: A blind user uses APAWB to visit APAWS to learn C# programming lesson
Helen is recommended to visit APAWS to learn her first C# programming lesson. She uses APAWB to open APAWS. She can hear that the web site has been loaded successfully and then APAWS speaks out all available links. Helen presses the Enter key on her computer keyboard when she hears “Learn page”. APAWS loads the page and speaks out all links to lessons. Helen presses the Enter key when she hears “C# Introduction”. APAWS loads the lesson and speaks out the content.
Scenario 2: A blind user starts creating the first C# console application and learns to debug the program
David wants to create a console application project in C#, which just simply displays the words ‘Hello World’. He presses a combination of keys to launch the APASN code editor. The system speaks out when it is loaded and tells him to press the ‘C’ key for creating a console application. The system displays a template of basic code for a console application and locates the cursor in the program’s main method. The system speaks out the code David keys in, that is ‘Console.WriteLine("Hello World")’. David presses a combination of keys to compile the program. APASE executes the compilation and uses the .NET SDK to save the compiled code and files. After the compilation, APASN tells him that there was an error at line number 20 which is a missing of semicolon. David is then asked if he wants the line read out, y for yes and n for no. Then the system asks if he would like to go to the line. When finished listening to the prompts, David was sure there was a missing of semicolon and therefore keys it in. After re-compiling the program, APASN tells him that the compiling was successful and speaks out the output words “Hello World”.
Scenario 3: A blind user starts creating the first C# Windows application
Mary wants to create a program in C# Windows application, which has a text box to key in words and a button to close the window. She presses a combination keys to launch the APASN code editor. The system speaks out when it is loaded and tells her to press the ‘W’ key for creating a windows application. Mary keeps pressing the Tab key and the system speaks out the combination of keys for each function. Until Mary hears the function of “Create a text box”, she presses the keys as heard. The system tells her a window for her to key in values for the text box is loaded and she presses the Tab key to hear and key in the required values one by one. After finishing creating the text box, Mary repeats the similar process to create a button and to write code for the button event handler. Finally she presses in a combination of keys to compile the program. APASN saves the code files then uses the .NET SDK to compile and execute the program. After the compilation APASN tells her the compiling was successful and runs the program.
Scenario 4: A blind user uses APAWB to open University of Canberra (UC) website to find a book in library
Smith wants to find a book in UC Library. He opens UC website using APAWB then presses the Tab key until he hears that he needs to enter an URL. He then keys in the UC link www.canberra.edu.au. APAWB speaks that the page has completed loading. Smith uses the F8 key to scroll through the links until he hears “Link: library” then he presses the Enter key to go to the library web page. He presses F8 again until he hears “Link: catalogue” and finds a text box to enter a keyword for finding book. He keys in the keyword then presses the Enter key. APAWB speaks out the list and Smith finally finds the book is still available.
Scenario 5: A blind user uses APAWB to record and upload a message to APAWS
Helen wants to post a question on APAWS. She opens APAWB and follows instructions to record her message. She presses the record button and uses her microphone to record her voice to an audio file which she names “pointer question”. She plays back the file to make sure that it sounds correct. She then opens APAWS, goes to the upload page and uploads the “pointer question” file to the APA web server.
2. Runner-Up Team:
· Team members: Jagdish Singh Mehra, Muhammad Meherban Arif, and Shafquat Zaman Khan
· Mentor: Dr Dat Tran
· Project title: SMART EDUCATION
· Project details:
o Aim of the Project: The purpose of this project is to address the theme of Microsoft Imagine Cup 2007 and to provide a detailed picture of the project that provides a case study and demonstrates a possible solution to this theme. The theme for this year’s Microsoft Imagine Cup Competition is: to use technology to improve education for all.” To address this theme, our project group known as Education Service Providers have developed a system called “Smart Education”. This system provides certain vital services to students from all backgrounds to make their educational pursuit a lot easier in terms of following lectures and tutorials with ease, managing their study time more efficiently, and in terms of understanding their study material when language is a barrier for them.
o Problem Statement: The feedback given by the students for the survey, shows that the students are facing 5 major problems.
1) Taking notes: especially when the student is attending a lecture and the lecturer is either writing notes on the board or browsing through the presentation slides. It is really difficult for a student to focus on the concept being taught and make notes at the same time. Copying notes from the books and other printed sources is also a big problem for the students. To copy the notes from a book or other kind of printed source, a student has to spend lot of time and effort, and this is one of the major reasons why students prefer web sources and other kind of electronic sources for referencing and making notes.
2) Language problem: Some students have problems following lectures and tutorials because English is not their first language. This problem can be a major barrier in a student’s learning process and it usually results in the student severely lagging behind. In such a scenario, it would help the student tremendously if he or she can use some sort of language conversion functionality to translate his lecture notes, tutorials, as well as other study material.
3) Task scheduling: a good task scheduling system plays a vital role in the student success. Lot of students suffer from the perennial problem of time management and scheduling and wants to overcome this problem. There are many task-scheduling tools available in the market but most of them lack a good reminder mechanism. A good task-scheduling system for students should have a good reminder system such as a mobile reminder, so that the students can get reminders anytime anywhere.
4) Notes sharing and organising: Due to increase in collaborative studies students always look to share notes but most universities and schools don’t provide infrastructure and support for this. Students also face problems in organising their notes and always have trouble while searching for the material they are after.
5) Audio notes: During exam preparation, a student has to go through all the text notes; some students don’t like this method of learning because they find it boring and time consuming. These days, students prefer different formats of notes, other than text notes, such as audio notes. During our survey, one student pointed out that there should be a mechanism to share notes with students who are physically challenged, e.g. a student who is blind. Audio notes are the answer in a scenario like this.
o Solution and scenarios:
After looking into all the problems (In Problem Statement section), we decided to create a Web application with the functionalities to resolve the identified problems.
In this section we are describing the services/functionalities which our web application provides to the students for resolving their problems; this section also highlights some of the possible scenarios in which our web application can be utilized.
1) Quick notes functionality/service: This service basically extracts notes from the image files and returns the text.
Scenario 1: Imagine a student sitting in the classroom attending a lecture of any subject do not need to worry about copying notes from presentation slides or white board. The student can take a picture of the presentation slide or the notes written on the white board, using his/her mobile phone or other means (camera), and can use our web application for extracting the notes. This will help the student spend more time understanding the concepts being taught rather then wasting time on copying notes.
Scenario 2: Imagine a student, who is sitting in the library and preparing for his or her assignment or reading an interesting book, finds a couple of pages which he or she wants to keep as part of his or her notes or assignment. What if he/she doesn’t want to type these pages himself/herself because he/she thinks it’s just waste of time? Using his/her mobile phone or other means (camera) the student can take a picture of those pages and can use our web application for extracting the notes.
In both the scenarios, the student can use his/her mobile for sending request to our web application via MMS or email, rather than accessing the web application using web browser.
Our web application can send the processed output back to the user via SMS AND/OR email.
2) Notes translation functionality/service: This service basically translates the English text into a language of your preference.
Scenario: Imagine a student whose native language is not English and he/she is having problems following lectures and tutorials. This problem can be a major barrier in a student’s learning process and it usually results in the student severely lagging behind. In such a scenario, it would tremendously help the student if he or she can use effective and easily accessible language conversion tool to translate his lecture notes, tutorials, as well as other study material. In this case, the student can use our web application for translating the language of the notes.
In this scenario also, the student can use his/her mobile for sending request to our web application via MMS or email, rather than accessing the web application using web browser
Our web application can send the processed output back to the user via SMS AND/OR email.
3) Audio Notes functionality/service: This service basically transforms a text file into audio format.
Scenario 1:Imagine a scenario where a student does not like reading text notes, especially during exam preparation where a student has time limitations. In this scenario, the student can use our web application for transforming text notes into audio format.
Scenario 2: This is not a very common scenario, but still worthy enough to mention. Imagine a scenario where a student wants to share his or her notes with a person who is blind. One of the possible ways to share the notes in this scenario is to transform the text notes in audio format and share the audio notes with the blind student.
In both the scenarios, the student can use his/her mobile for sending request to our web application via SMS, MMS or email, rather than accessing the web application using web browser (This part is still under implementation).
In both the scenarios, our web application can send the processed output back to the user via email.
4) Share Notes functionality/service: This service basically allows students to upload their notes and other files and allows them to share their notes with other students and group of students. It also helps students in organizing and searching their notes and other materials.
Scenario: Imagine a student who likes to study in a collaborative environment and wants to share his/her notes with other students of the same stream. In a scenario like this, a student can use our web application for creating and accessing a group and can share his/her notes with other students.
5) Task-Scheduling functionality/service: This service basically allows students to manage their time effectively by allowing them to schedule their tasks. This service is also capable of sending reminders to the student on their mobile device via SMS.
Scenario: Imagine a scenario where a student always suffers due to improper time-scheduling throughout his/her academic year. There are many task-scheduling tools available in the market which can be used by the student for scheduling his/her tasks. The problem with these existing systems is that they lack a good reminder system. Most of these systems send reminders in the form of emails. What if the users are unable to access these reminders? In these kinds of scenarios, a student can use our web application for task-scheduling. Our application can not only send reminders to the student via email but can also send reminders to him via SMS so that the student can receive it instantly and can quickly start working on his/her pending tasks.
3. Some links to the teams and projects
· Riot ACT
· Eric Lam