When I was assigned to give a lecture on “Pengembangan Software Pendidikan” (Edu-Software Development) this semester for Chemistry Education Students, I was challenged. I had no idea how to teach Chemistry Education students how to build Android* applications at all. In my opinion, learning to build an application can't be accomplished instantly through a short course nor 4 years of college, because learning to build an application is the experience of a lifetime and continues to progress in terms of techniques, methodologies, tools and applications themes.
After getting this assignment, I met with the Head of Department of Chemistry Education. I explained that developing an application is not an easy thing, and cannot be done in one semester. He said that "this is a new subject to keep updated", with the aim of equipping students of Chemical Education so they are not left behind in information technology. The previous material on this subject did not really help students create an application; instead, it was Flash-based interactive learning media. After he listened to my explanation, he replied with "Please, teach my students to create Android apps, and then they will become confident teachers themselves."
1st Week: Introduction
I walked into the classroom nervously, but I decided to carry on and win this challenge. First thing I did was discussion, because it is a good medium to get a comprehensive view. I started with how much did they already they know about information technology; I was a little relieved because they already knew or were at least familiar with Information Technology (IT). Out of 46 students, there were only 2 students who do not bring their laptops as they were being repaired. They used their laptop for daily activities: i.e., use Office applications and internet browsing. From the population of mobile devices, 85% of them use Android phone and another 15% use a non-Android phone product. Of course, none of them know or have ever used programming language.
The next discussion topic was IT products for Chemical Education. We discussed products that have been produced by the Department of Chemistry Education. From the discussion, I learned that there were printed products such as books, modules, student worksheets and one digital product using Flash for interactive learning media. Flash products are interesting because unlike the printed media, it can be used over and over again. The problem with Flash is the distribution. These products usually just end up in a laptop or storage media, as they can not be easily disseminated.
In the next session, we discussed the development of mobile apps. Mobile apps penetration is tremendous. Smartphones are no longer a luxury item, Senior High School or even Junior High School students are already familiar with smartphones as a media communication and social media tool. Our discussion led to the possibility of creating Android applications to help their future students learn. They were excited about the idea, but without programming knowledge, it's only an idea.
2nd Week: Computer Systems
With information I got from the discussion last week, I started in the second week of this lecture by explaining about the computer system so that students would have a clear overview. I started to explain general knowledge about the input device, output device processing and storage units. They seemed enthusiastic when I continued to the processing unit, especially the microprocessor. Before my talk, they had only known the physical microprocessor from the outside, but not how it functioned or the principle of manufacturing. They especially enjoyed when I explained about the number of transistors in a processor every two years is increased or doubled; this is commonly known as Moore's Law.
3rd week: Software Development Method
After getting to know the computer system in the previous week, this week the students learned about software development methods. As a teacher, I told them that there are many software development methods. We discussed which was the appropriate method that could be used for developing Chemistry Education applications; turns out, we had problems deciding. Finally, we use d the Waterfall software development method with modifications. In this waterfall method, there are several steps:
- Analyze and Requirement of Service, Limit, and Purpose of System determine by user consulting
- System Development and Software. This phase to decide the whole system architecture.
- Implementation and Testing Unit. From software design until program.
- Integration and System Testing. The program is integrated or tested as a complete system to guarantee that the system requirements have been fulfilled.
- Operation and Maintenance. This phase is the longest phase. The system has been installed and used by user. Maintenance covers repair, errors, or bug repair and implementation system unit and system service.
I modified the Waterfall Software Development Method, including cutting down time in the analysis and design stages:
- System Design and UI/UX Design
I did not know if the shortened time and modification had ever been done before. In my opinion, the modification is an appropriate step to introduce application development for non-programmer students. It is more efficient than using another method, such as Prototyping or RAD.
4th week: Study Case / Analysis
This week I began the analysis stage. Students looked for a theme in a final project or product created by a senior in order to shorten the analysis time. This also would help them not repeat a previous project or do new analysis. If the previous products were worksheets or printed textbooks, they would have to add a statement which states that they need to build an Android application. The students divided their applications into the following categories:
- Information of Competency Standards
- Application Usage Information
The minimum hardware specifications for a Chemistry Education Application is Android Smartphone with 512 RAM and OS Jelly Beans, run on Intel-based Android X86 or ARM. This is based on a previous survey of Android Smartphone use by Junior High School and Senior High School students.
5th week: System Design
The material of UML is generally used for system design, but teaching this same material to non-developers is a waste time. The students used a simple flowchart diagram to design their application systems. This is the easiest and fastest way for students to describe a simple system. This is an example of their flowchart :
It seems a little bizarre, but the student is able to explain the essence of the flowchart. They should be appreciated for what they did. The most important thing for me is that they are passionate about this and their future application development.
6th week: UI/UX Design
This week, the students were introduced to the User Centered Design (UCD) concept for developing Chemical Education Android Applications. They introduced a method to dig up information from students to gain material as base for creating the user interface and user experience. They continued to build a mockup for their application. Below is the mockup made by students:
7th week: Testing and Reporting
The seventh meeting was the last meeting before they would take the mid-semester test organized by the department. They should learn more about programming, but I decided to take the jump to testing. They learned alpha/beta test and usability/functionality evaluation. They have to know the testing phase so that their application is appropriate and acceptable by the user.
Another reason to jump to testing is after the semester test or in 8-14 weeks meeting, the students can focus on learning programming. I am afraid students will forgot programming material otherwise.
Okay, I am finished with all seven weeks of an awesome lecture. Students have been learning a lot of things and I also gained a lot of knowledge from the students on how to teach a non-developer student to create an application. For this mid-semester test I assigned students to write a report on what they have accomplished. This report should consist of analysis, system design, UI/UX design, and a list of questions asked in the alpha/beta test.
Just before students start the lecture 2 weeks later, I tried looking for tools for Chemical Education Students to create an application. My choice for creating an application is the Intel XDK with HTML5. I plan to create 2 or 3 project examples with the Intel XDK as student reference.
I just contacted my friend from Educastudio, an Android Application Studio that has built more than 200 applications in Google Play. I hope they can help me build template / sample projects with Intel XDK. I am hopeful that Educa will make some sort of SDK or engine. I also contacted fellow Intel Software Innovators who have created a platform to create applications, dicoding.com. It will make DicodingStore become a solution for a successful application developer without a Google Play Store account.
Next up: how to make application developers from non-developers.
Aulia Faqih - Intel Software Innovator
Intel RealSense Innovator based in Yogyakarta, Indonesia, currently lecturing at UIN Sunan Kalijaga Yogyakarta. Love playing with Galileo / Edison, Web and all geek things.