Tuesday, 21 June 2016

What may a high school course look like for artifical intelligence

One of the areas that I am looking at for Characteristics of Technology is that of Artificial Intelligence. The course is aimed at the New Zealand High School students which are Year 9 and Year 10. The object is to introduce them to a concept through the ideas of Computer Science, to look at Environment and Social contexts.

Searching and exploring,
When we look at the concepts that I have above, I need to find some ideas of what others have done, or as least explore to see what else is out there.

The CSUnplugged site has information on the Turing test, a good place to start,


This activity explores just how we might recognize whether a system is truly “intelligent”. It involves reasoning about what it means to be intelligent, and even what makes us human

However, does it provide enough information for a student to gather and interpret ideas and make decisions about how effective it is?

From http://technology.tki.org.nz/Technology-in-the-NZC/Nature-of-technology/Characteristics-of-technology/(tab)/Examples
Students could explore a contemporary technology-related controversial context (for example, genetic engineering, stem cell research, climate change, alternative energy sources, environmentally-friendly building design, and so on) and identify issues that have arisen from this context. As part of this, they could interview a range of people to establish their views and explore in depth the influences on and impacts of people's perceptions and attitudes on related technological developments. Current codes of practice related to the wider context (both national and international), could be identified and their development and purpose explained and analysed in terms of how they may influence future developments both positively and negatively.

Students achieving at level 3 could be expected to:
  • describe the physical nature of a Technological Outcome they are developing and describe how it could function and why it would be suitable for particular users
  • explain how changes to the physical nature of their outcome could enhance its fitness for purpose.

Students achieving at level 4 could be expected to:
  • describe the proper function of the selected technological outcome
  • explain how the technological outcome might be able to be used by end-users for purposes other than what it was originally designed for
  • discuss the likely impact of using technological outcomes in alternative ways.

Students achieving at level 5 could be expected to:
  • explain how explorations of their own outcome in various contexts allowed them to gain a deeper understanding of how they could modify their design to reduce user misuse and/or inappropriate environmental location
  • explain the concept of malfunction, and use the selected Technological Outcome to illustrate the difference between malfunction and failure due to wear and tear
  • explain why the Technological Outcome malfunctioned and identify changes in its design should you be developing the outcome today.
Next stage is the more advanced csfieldguide
This has a great deal of information on it that provides more details, opening up to chatbots, and whether chatbots meet the ideas of artificial intelligence.

There is a NCEA Level 3 Achievement Standard that allows for the information to be assessed, this could allow for a basis of understanding for the questioning as well as step ups for the rubric.

Selected Area: Intelligent Systems (Artificial Intelligence)

Key Problem: Determining whether or not a computer program is able to have a conversation with a human and seem like another human.

Algorithms/ Techniques: Turing Test

Practical Application: Using the Turing Test to evaluate if a chatbot is able to have a human-like conversation.

In summary, to satisfy the standard you might do the following:Describe the key problem
Explain how the Turing Test can be used to evaluate a chatbot
Explain (Describe) how you evaluated a chatbot with the Turing Test, in order to demonstrate the use of the Turing Test in Artificial Intelligence.
Discuss other related applications of the Turing Test
Evaluate how effective the Turing Test is at addressing the key problem

Look at overseas now...

Recent advances in computer hardware have been accompanied by similar improvements in software, resulting in affordable fifth-generation languages (5GLs). Availability is not the same thing as accessibility, however, and artificial intelligence, which is a key component to 5GL software, remains a curiosity. At most, one can learn about it as an elective class at the university level, usually taught by a graduate teaching assistant. This is unusual, given the role it plays in society today.

While teaching Artificial Intelligence (AI) at the high-school level, the author has developed a four-part curriculum that is offered as a model for implementation into a high school's computer curriculum. A broad overview of this curriculum follows.

* Overview of AI Curriculum

Students begin by examining a variety of topics, such as the definition of intelligence and the components of learning. They explore different ways of representing information as well as current uses of AI in business and industry. Vocabulary is introduced at this time. The focus of the second part of the curriculum is upon expert systems, a specialized type of software in which the computer attempts to duplicate the function of an expert in a specific field. The computer makes recommendations based upon the rules (knowledge base) created by a programmer. Students are introduced to PDC Prolog, one of two common programming languages used in AI, in the third segment. Use of a robotics manufacturing system that incorporates machine vision in the identification and manipulation of parts occurs in the fourth and final part of the curriculum.

The remainder of this article is devoted to a brief definition of AI, examples of current applications, a justification for including AI in a high school's computer curriculum and the curriculum proposal itself.

* Defining Artificial Intelligence

Artificial intelligence is "the branch of computer science devoted to the study of how computers can be used to simulate or duplicate functions of the human brain... [making] it appear as though a computer is thinking, reasoning, making decisions, storing or retrieving knowledge, solving problems, and learning."

Artificial Intelligence differs from other programming languages in at least three ways. First, it does not use algorithms--step-by-step procedures--to solve problems. Instead, it uses symbolic representation--letters, words or numbers--to represent objects (in the form of statements and procedures), processes and their relationships.

The second major area of difference is how uncertainty is handled. Using the sentence "Erin is taller than Esther" as an example, how does one define tall? Are you tall at five feet five inches? What about short? Are you short at four feet eleven inches or at five feet? Artificial Intelligence is able to deal with such imprecision through the use of confidence factors and probability.

The final distinction lies within the realm of decision-making. Conventional software uses precise data and step-by-step instructions for solving a problem, thereby limiting the computer to predetermined solutions. Whereas in AI, the computer is given information (sometimes imprecise) and the ability to make inferences. The computer and the software determine the solution.

* Real-World Uses of AI

Artificial Intelligence is important not only because the Japanese are using it as their language of choice for their fifth-generation computers, but because it is already impacting our daily lives. Cameras incorporate "fuzzy logic" circuits to control automatic focusing. (Fuzzy logic is a means of dealing with imprecise information, such as short and tall, by assigning a value between 0 and 1.) Subway trains use it to control acceleration and deceleration.

Expert systems are utilized by businesses for such things as locating oil and mineral deposits, managing stocks, or troubleshooting and maintenance. …

My thoughts, When developing this I have been thinking about what is the purpose of AI, and getting students to develop chatbots that have a purpose and function. Just the thinking involved in that would be nice for a 9 week block, only 80 minutes a week.

Some of the ideas are now in a POND bucket, see here

Wednesday, 1 June 2016

Semester Two Ideas

This week is the week of module planning for semester two. Working through combinations of what could be taught together. Something I am looking forward to.

Technology has the focus on two areas of interest for me, it is also something that I have explored in depth.

In the foundation module, this is our theme and context.

Questions to think about:
How might the Partnership enhance the understanding of citizenship, systems?

To EXPLORE by researching the impact and influence of design. (link with characteristic of technology)
To MAKE SENSE by analysing existing practice to find meaning. (design history) (creation of material)
To MAKE SENSE by understanding systems, process and components.
Focus: Characteristics of Technology (minefield)
  • Design History
  • Physical, Environment, Social, Cultural
Focus: Technological Systems
  • Process
  • Transformation
  • Control

I love the idea of what is citizenship and have an idea which is around Digital Citizenship, Being able to look at what other ideas exist out there through netsafe and the THINK ideas. But it is also something that we need to continue to look at within our school. Get some student voice and develop ideas on where to think about the next steps forward. We had Lynfield college talk to us last year and show some of the examples of their work.  It is also something that I had students at my previous school develop some ideas around through the web rangers initiative.

I link to the video that Jamie Curry developed to support this initiative.

I think this could work in with Drama or English really well.

Now, term 4... Technological systems, this is one that is potentially one of excitement, and one that could benefit from me pairing up with drama. Doing the csunplugged and developing resource and ideas for primary school children through the activities. Being able to look at the cs unplugged show that has been running through the University of Canterbury.

Being able to develop new clips with secondary age children to explain the concepts through a performance could offer a new challenge for students to develop their drama skills. I look forward to what is put out for us tomorrow.

My other alternative for an english co-taught module would be one around text based games. I meet a home schooled students last year who was developing her own text based adventure game through a
system called playfix, which uses a natural programming language called Inform.
Playfic is a platform for writing and playing interactive fiction.Interactive fiction (aka "text adventures") is a genre of game that uses no graphics or sound, but instead, uses text to tell a story in an interactive world. 
Playfic is a way to write interactive fiction and publish it entirely on the web. Playfic uses a "natural language" programming language called Inform 7 that's easy to pick up and difficult to master. You're able to make your first simple game within minutes. 
The best part? Playfic runs from your browser, so there's no need to download any programs to use it. You can write a game and publish, instantly creating a clean URL that you can send to your friends. What are you waiting for? Go explore!


Now the thinking for SPINS.

Student voice has been around Programming, as well as some students would like to learn how to put a computer together, thanks to one of my old schools I have a number of old computers available for students to pull apart and put back together. I am wondering of the computer together could go into term 4. That leaves a gap for me next term to think about. Part of the citizenship would like me to think about something different and to really unpack the idea of physical, social and cultural.

Qualification SPIN will be around programming, but I am also considering digital information to help develop the database ideas and concepts that may be of help later on.

What to teach in the programming module, knowing that there will be newbies as well as experienced programmers, I have been thinking about the concepts that I wish to teach which will be able to be carried out through scratch and python.