I know lots of programming languages but in fact, I have never talked to a computer. We call them language, but they have never been a way to have conversation with a computer. Wouldn't it be more cool if, as in any other language in the world, we could have a speaking conversation with a computer using a programming language that we both know?
What it does
Our skill, called my code provides a way to talk to a computer, through Alexa. This can in fact be a basic practice to learn how to code, by talking to a computer in a language that it knows. My code is not limited to any programming language, but it's a way to learn the basics of all programming languages, including if-clause, loops, print statements and etc. Through interacting with Alexa, one can develop a simple code, by simply saying the concept s/he has in mind to the Alexa as in a dialogue.
How I built it
We started by implementing simple instruction sets which are common and essential in any programming language. It includes, but not limited to:
- basic instructions such as initializing variables and doing mathematical operations on variables.
- flow control instructions such as if-clause and for-loops.
- input and output instructions.
Challenges I ran into
We got a lot of help from the Alexa community during the work, however, this skill was not an straight-forward skill to develop with Alexa. We encountered many unusual problems which was not easy to resolve. Note that there have been many updates to the Alexa during the development time that helped us to resolve our problems.
Accomplishments that I'm proud of
I am definitely proud of the work we have done in this project and the outcome of the project. I believe this skill is making changes in the way students learn to code.
What I learned
I have learnt a lot through the project. It was my first, but not last project in Alexa and it was definitely a different project than any other programming project I have done in the past.
What's next for My Code
In fact, there is a lot to do in my code in the future. The skill can be equipped with ways to read a file, or write to a file. Adding the ability to make a list or array is also a great future works, which enables this skill to be used in writing more complicated codes. We are also enriching the mathematical and control-flow statements of our skill.