It's Not the Singularity Just Yet

There were some alerts this past summer that made it sound like an artificial intelligence (AI) system being developed at Facebook was taking over the world. At least that is what some anti-AI folks seemed to be saying. 

The story seemed to be that the AI had started its own conversation between two AI agents developed inside Facebook. They were speaking to each other in plain English. The revelation to the researchers was that because of a mistake in programming the AI had created its own language. It developed a system of code words to make communication more efficient. The researchers shut the system down when they realized it was no longer using English - and they didn't understand what the two agents were saying.

The "singularity" (at least the tech one, not the mathematical or gravitational versions) is the point hypothesized when an upgradeable artificial intelligence will enter a "runaway reaction" of self-improvement cycles. It improves itself to the point of being a superintelligence that surpasses human intelligence. It's when the machines are smarter than us. John von Neumann first used the term "singularity" back in the 1950s i talking about technological progress causing accelerating change.

Why is Facebook messing around with this? For one thing, they want to build chatbots that can have conversations and negotiate with humans in a way that mimics human responses so that they can then make decisions on their own.

Does that scare you?

Facebook was trying to get the chatbots working with a "partner" to divide up several objects that had different numerical points value. That requires negotiation to work out the best way to divide the objects and accumulate the highest possible number of points.

The event is not the first example of AI diverging from its training in English to develop its own language. The new language is nonsense to humans but has semantic meaning when interpreted by AI agents.

chatbotsA chatbot (like the ones shown conversing above) repeating "to me" five times might mean to run a routine five times. It's shorthand. A + B = C is the kind of unsophisticated math we can easily understand, but to the computer the “A” could mean thousands of line of code and that is when we are lost.

It's not that the Facebook chatbots gave up on using English in order to hide from the human observers, it was just more efficient to use another language.

The scary factor is that when Bob the chatbot says "I can can I I everything else” and chatbot Alice replies “Balls have zero to me to me to me to me to me to me to me to me to” we really don't know what they are saying. 

At the OpenAI artificial intelligence lab founded by Elon Musk, they experimented with letting AI bots learn their own languages and it worked. This strikes fear in the hearts of many people, but there's not enough evidence to determine whether AI presents a real threat that could enable machines to overrule their operators.

The team that works on Google Translate believes that the AI created the most efficient solution to some problems.

The singularity is not here yet, but it is coming.

The Information Literacy of Fake News

fake news

Pre- and post-election last fall, there were many stories in all types of media about "fake news." An article in The Chronicle asks "How Can Students Be Taught to Detect Fake News and Dubious Claims?" but I would say that non-students need even more education in this area. Of course, the real question is whether or not this is a teachable skill.

If you had asked me last January to define "fake news" I would have said it was a kind of satire or parody of mainstream journalism. The Onion online, or Saturday Night Live's news segment would fit that definition. Satire always has a bit of truth in it or it doesn't really work.

The Daily Show and Last Week Tonight with John Oliver and other shows and sites have blurred the line. They use real news and sometimes parody it, but sometimes they are closer to investigative journalism. They can edit together clips of a persons inconsistencies in views over the years and create a montage that shows someone who either has a terrible memory or is a liar. It may frighten some to hear it, but many young people and adults list shows like these as their main source for news.

The fake news that is really the focus of attention now are ones (almost exclusively online) that produce wholly fictionalized news stories. Those non-journalistic entities have a very powerful delivery system via social media like Facebook and twitter.

A Stanford University report published last year concluded that many students could not detect fake or misleading information online. They gave students from middle school to college tasks to see how well they could tell a native advertisement from a news article or identify a partisan website as biased or separate a verified social-media account from an unauthenticated one

A larger conclusion I see here is that faculty often assume that young people are fluent in or savvy about n social media in the same way that it is assumed that digital natives know how to use smartphones, websites, photos, video and other digital technology. Bad assumption or expectation.

I remember teaching lessons on determining the veracity of research sources before there was an Internet and after. That has been a part of literacy education since the time when books became more common. I'm sure it was a teachable moment pre-print when a parent told a child to ignore gossip and stories from certain people/courses.

The Stanford researchers said that we need to teach "civic online reasoning" which is something that goes beyond its need in academic settings.

In whose purview is this teaching? English teachers? Librarians? I would say it would only be effective if, like writing in the disciplines, it is taught by all teachers with a concentration on how it occurs in their field.

The science instructor needs to teach how to determine when science is not science. An easy task? No. Look at teaching the truth of climate science or evolution. It is controversial even if the science seems clear.

Napoleon Bonaparte is credited with saying that "History is a set of lies agreed upon." If that is true, how do we teach the truth about history past and the history that is unfolding before our eyes?

But we can't just say it's impossible to teach or assume someone else will take care of it. Information literacy is still a critical, difficult and overlooked set of skills to teach.


Coding as a (second) Language

languages



There is global interest in teaching programming in schools. Initiatives that come from outside education, like Code.org, which is backed by Mark Zuckerberg and Bill Gates, are trying to get more students learning a second (or third) language, but it's not one that is spoken. But I also see a backlash of those who say that writing code is a terrible way for humans to instruct computers and that newer technology may render programming languages "about as useful as Latin."

I support some middle ground. Teaching some coding as part of regular language study in English and world language classes.

This week I am giving a presentation at the NJEDge.Net Faculty Best Practices Showcase that I titled "Code as a (second) Language." It's not about becoming a programmer. Learning about code, like learning about grammar, is about understanding how a system of communication works below the surface.

There are several "computer science, meets humanities" programs. One is at Stanford University, which offers a new major there called CS+X  which is a middle ground between computer science and any of 14 disciplines in the humanities, including history, art, and classics. 

What are the cognitive advantages to learning a second language? Learning any system of signs, symbols and rules used to communicate improves thinking by challenging the brain to: recognize & negotiate meaning, work within structures and rules, and master different language patterns.

As a longtime language teacher - and shorter term coder - I know that code-switching (and that is the term) occurs when a speaker alternates between two or more languages, or language varieties, in the context of a single conversation. That can be done between English and French, but also between English and Java. 

Whether you are working in a traditional language class or a programming class, memorizing rules and learning new vocabulary strengthens overall memory. Multilingual people are better at remembering lists or sequences. Language study & coding forces a focus on knowing important information & excluding extraneous information. We have all heard and read beautiful” and elegant language, such as in a Shakespeare play or great poem, but programmers and mathematicians also talk about beautiful and elegant code and equations.

logoThe conference this week is about STEAM -- STEM plus the arts, including language arts.

Engineering and other STEM subjects are appealing to students in part because they often include hands-on, real-world applications. Many students also feel that these majors lead to better job prospects. Of course, learning to think like an engineer could be useful no matter what students decide to pursue. An increasing number of high schools offer introduction to engineering courses that are project-based, an inquiry-centered. 

There is a Code as a Second Language National Initiative that brings tech professionals and software engineers into schools to introduce students to coding in classes, but also in after-school sessions and events like coding jams. 

This is all great, but my interest here is bring the coding found in STEM courses into languages classes. 

How is a programming language comparable to a spoken language?

My idea is not without precedents. Natural language processing looks at syntax, semantics and models of language analysis, interpretation & generation. Human language technology continues to grow. On a large scale, products like Google and other search tools and Apple's Siri and speech drive commercial uses. The field of computational linguistics is one that grew out of early machine translation efforts and generated mechanized linguistic theories.

There are many programming languages we might use, depending on the grade level and applications. Although JAVA is the most popular programming language, and the AP computer science exam uses a Java subset, it is more than many students will have time to learn. There are coding options that I have written about here for using simpler languages (such as SCRATCH) and tools to aid in writing programs

Although Java might not be the coolest language to use these days, you can do many things with it - including tapping into the current interest by young people for Minecraft. Using mods for Minecraft makes Java more beginner-friendly.  

Language teachers can work with STEM teachers, especially in K-12 schools, to show students the connections between concepts like syntax and help bridge student knowledge of the two fields and also understand commonalties in communications.





The 2016 NJEDge.Net Faculty Best Practices Showcase is a venue to showcase faculty work, work-in-progress or posters to the New Jersey Higher Ed and K-12 communities. Registration and Information on the presentations at NJEDge.net/activities/facultyshowcase/2016/

View the "Coding as a (second) Language" slides via Slideshare by Kenneth Ronkowitz





 


Everyone Should Be Coding

I wrote earlier about the "Hour of Code" and about how coding is a subject not often taught in schools (at all levels) or taught in isolation and to only a small percentage of students.

Students and teachers are sometimes moving into coding via other projects, such as a makerspace and playing with things like an Arduino board or robotics that require some coding knowledge. But a lot of coding education is occurring outside of traditional school settings.

Code.org has a search tool to find computer science classes in your area and my searching around New Jersey didn't turn up as much as I would have guessed.




NJ





Coding bootcamps are intensive, accelerated learning programs that teach beginners coding skills, but the "coding academies" like General Assembly, Galvanize, and the Flatiron School are much more. 

I know someone is reading this and thinking "Why do I or my students need to learn to code?"  I might answer that you don't know what skills will be necessary for your future work, but knowing something about coding could be part of that skil set. Of course, that is very close to the answer I got from my 8th grade algebra teacher when I complained that I would never need algebra to be a writer or English teacher.

These coding bootcamps and academies have only been around for about five years, although there have been computer science classes and programming courses in schools and for-profits for more than three decades.

Bootcamps can vary in length from 6 to 28 weeks, with the average at about 10 weeks long. Code schools teach a broader technical curriculum. It might include Full-Stack Web Development, Data Science, Digital Marketing, UX/UI Design along with teaching coding languages like Ruby on Rails, Python on Django, JavaScript, and LAMP Stack.

Ones that are intended for adults are usually making their money by offering courses aligned with or even in partnership with an employer network.

In 2015, it was expected that the number of graduates from such programs would be 16,000. Not an enormous number, but more than double from 2014, according to a recent survey by Course Report.

Almost none of these are accredited and so students enrolled are more interested in skills than credits or certificates. However, some of these students would probably be interested in using those courses towards a college degree if it was offered, as is the case with many college certificate programs that are usually part of their continuing education or adult learning programs. These can include courses that lead directly into graduate degree programs.

College tuition isn't cheap and these outside bootcamps and academies aren’t cheap either. A summary of the Course Report survey notes that the average cost of the courses is more than $11,000. There are about 70 of the programs in the United States and Canada today.

Last March, President Obama announced an initiative, called TechHire, to train Americans in technology jobs. Among other things, the effort encourages people to enroll in coding boot camps.

Boot camps have the potential to complement computer-science departments’ curricula and degrees, but most colleges are not comfortable in these partnerships, although they do often work with individual employers looking for customized training.

I am particularly interested in the growth of programs for our younger students that use coding both as a critical thinking builder and as a way to learn coding in order to do other STEAM projects.

The vision of many of these groups is based on the belief that computer science and programming should be part of the core curriculum in education, alongside other science, technology, engineering, and mathematics (STEM) courses, such as biology, physics, chemistry and algebra.

Here are some resources towards that goal.

Code.org – This nonprofit foundation website is a great starting point for coding novices. It shares lots of useful online resources, apps and places to learning coding. 

Scratch was designed by MIT students and aimed at children ages 8 to 16 as an easy-to-use programming language. Without using lines of code, you arrange and snap together Scratch blocks of code. 

Stencyl  is software inspired by Scratch's snapping blocks system that allows you to create simple games for iOS, Android, Flash, Windows, Linux and Mac. There are paid pro plans that come with advanced functionality. 

Khan Academy is best known for its math tutorials that often look like games, but it also has basic programming tutorials and students can learn to build graphics, animations and interactive visualizations.

CodeAcademy is an interactive website that has a gentle learning curve and teaches kids basic code through fun and simple exercises that feel like games.

Hackety Hack this quick download allows you to learn Ruby, an open-source programming language that's easy and intuitive. 

Code Monster is  particularly good for kids learning as the Code Monster shows two adjacent boxes - one showing code, the other shows what the code does. As you play around with the code with some help from a prompt, you learn what each command does.

No one knows how old you are when you use these sites, so all you curious adults should feel free to use them as a way to get started - an then share them with your own kids in school or at home.