Pages

Showing posts with label should. Show all posts
Showing posts with label should. Show all posts

Monday, January 23, 2017

Should My Kid Learn to Code



(Cross-posted on the Google for Education Blog)

Over the last few years, successful marketing campaigns such as Hour of Code and Made with Code have helped K12 students become increasingly aware of the power and relevance of computer programming across all fields. In addition, there has been growth in developer bootcamps, online “learn to code” programs (code.org, CS First, Khan Academy, Codecademy, Blockly Games, etc.), and non-profits focused specifically on girls and underrepresented minorities (URMs) (Technovation, Girls who Code, Black Girls Code, #YesWeCode, etc.).

This is good news, as we need many more computing professionals than are currently graduating from Computer Science (CS) and Information Technology (IT) programs. There is evidence that students are starting to respond positively too, given undergraduate departments are experiencing capacity issues in accommodating all the students who want to study CS.

Most educators agree that basic application and internet skills (typing, word processing, spreadsheets, web literacy and safety, etc.) are fundamental, and thus, “digital literacy” is a part of K12 curriculum. But is coding now a fundamental literacy, like reading or writing, that all K12 students need to learn as well?

In order to gain a deeper understanding of the devices and applications they use everyday, it’s important for all students to try coding. In doing so, this also has the positive effect of inspiring more potential future programmers. Furthermore, there are a set of relevant skills, often consolidated as “computational thinking”, that are becoming more important for all students, given the growth in the use of computers, algorithms and data in many fields. These include:
  • Abstraction, which is the replacement of a complex real-world situation with a simple model within which we can solve problems. CS is the science of abstraction: creating the right model for a problem, representing it in a computer, and then devising appropriate automated techniques to solve the problem within the model. A spreadsheet is an abstraction of an accountant’s worksheet; a word processor is an abstraction of a typewriter; a game like Civilization is an abstraction of history.
  • An algorithm is a procedure for solving a problem in a finite number of steps that can involve repetition of operations, or branching to one set of operations or another based on a condition. Being able to represent a problem-solving process as an algorithm is becoming increasingly important in any field that uses computing as a primary tool (business, economics, statistics, medicine, engineering, etc.). Success in these fields requires algorithm design skills.
  • As computers become essential in a particular field, more domain-specific data is collected, analyzed and used to make decisions. Students need to understand how to find the data; how to collect it appropriately and with respect to privacy considerations; how much data is needed for a particular problem; how to remove noise from data; what techniques are most appropriate for analysis; how to use an analysis to make a decision; etc. Such data skills are already required in many fields.
These computational thinking skills are becoming more important as computers, algorithms and data become ubiquitous. Coding will also become more common, particularly with the growth in the use of visual programming languages, like Blockly, that remove the need to learn programming language syntax, and via custom blocks, can be used as an abstraction for many different applications.

One way to represent these different skill sets and the students who need them is as follows:
All students need digital literacy, many need computational thinking depending on their career choice, and some will actually do the software development in high-tech companies, IT departments, or other specialized areas. I don’t believe all kids should learn to code seriously, but all kids should try it via programs like code.org, CS First or Khan Academy. This gives students a good introduction to computational thinking and coding, and provides them with a basis for making an informed decision on whether CS or IT is something they wish to pursue as a career.
Read More..

Wednesday, November 30, 2016

Should computer scientists have a conscience

A recent article in The Atlantic titled The Moral Failure of Computer Scientists argues that computer scientists should take on the surveillance state rather than providing governments with the tools to strip away citizens privacy. Phillip Rogaway, a professor of computer science at the University of California, Davis, puts forward his opinion in an interview with journalist Kaveh Waddell.
My colleague Mark Wilson brought this to my attention.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

Read More..

Saturday, October 15, 2016

A Billion Words Because todays language modeling standard should be higher



Language is chock full of ambiguity, and it can turn up in surprising places. Many words are hard to tell apart without context: most Americans pronounce “ladder” and “latter” identically, for instance. Keyboard inputs on mobile devices have a similar problem, especially for IME keyboards. For example, the input patterns for “Yankees” and “takes” look very similar:
Photo credit: Kurt Partridge

But in this context -- the previous two words, “New York” -- “Yankees” is much more likely.

One key way computers use context is with language models. These are used for predictive keyboards, but also speech recognition, machine translation, spelling correction, query suggestions, and so on. Often those are specialized: word order for queries versus web pages can be very different. Either way, having an accurate language model with wide coverage drives the quality of all these applications.

Due to interactions between components, one thing that can be tricky when evaluating the quality of such complex systems is error attribution. Good engineering practice is to evaluate the quality of each module separately, including the language model. We believe that the field could benefit from a large, standard set with benchmarks for easy comparison and experiments with new modeling techniques.

To that end, we are releasing scripts that convert a set of public data into a language model consisting of over a billion words, with standardized training and test splits, described in an arXiv paper. Along with the scripts, we’re releasing the processed data in one convenient location, along with the training and test data. This will make it much easier for the research community to quickly reproduce results, and we hope will speed up progress on these tasks.

The benchmark scripts and data are freely available, and can be found here: http://www.statmt.org/lm-benchmark/

The field needs a new and better standard benchmark. Currently, researchers report from a set of their choice, and results are very hard to reproduce because of a lack of a standard in preprocessing. We hope that this will solve both those problems, and become the standard benchmark for language modeling experiments. As more researchers use the new benchmark, comparisons will be easier and more accurate, and progress will be faster.

For all the researchers out there, try out this model, run your experiments, and let us know how it goes -- or publish, and we’ll enjoy finding your results at conferences and in journals.
Read More..

Monday, April 11, 2016

Robotic musicians in New Zealand

Radio New Zealand National recently broadcast an interview with Prof. Dale Carnegie the head of Victoria Universitys School of Engineering and Computer Science. Amongst other research his group have been collaborating with the School of Music to design and build robotic musicians that play specially designed instruments. The really interesting thing is that these "musicians"  are not limited by human physiology; they can play faster than a person, they can play chords a human hand couldnt physically span and of course they can play longer. You can see a video of a robotic bass performing a cover of Hysteria by Muse. I have some friends who are bass players who will love/hate this!


from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Delete or edit this Recipe

Read More..

Sunday, April 3, 2016

Should killer robots be banned

Lethal autonomous weapons systems, or "killer robots" as the public prefer to call them, are almost a reality. In fact in certain cases, such as Israels Iron Dome rocket defence system, they already exist. Should the ability of a robot to identify a target and execute an attack without human intervention be outlawed? Many people believe it should, arguing that a robot can never act morally, whilst others argue that in certain circumstances robots may be less dangerous than frightened, stressed and fatigued soldiers. A week long meeting at the UN in Geneva is currently considering the issue. The UK government has already declared that it opposes an international ban on developing "killer robots" as described in this article in the Guardian. An international coalition of NGOs called the Campaign to Stop Killer Robots is lobbying to have a ban established before the technology is upon us. What do you think?

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Delete or edit this Recipe

Read More..

Sunday, March 13, 2016

What of STEM Should Be Computer Science


We keep hearing in the media how many job vacancies there are for computer scientists and how the critical shortage is restricting the growth of many companies. Every one is agreed that we need more people with computing skills. This article from code.org provides an interesting insight into this skills shortage and offers some solutions.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

Read More..

Monday, February 29, 2016

Should your car be programmed to kill you

Imagine this scenario; you are in your new driverless car and a situation arises (doesnt matter how) where the driver (the computer) has to decide between crashing into a group of young school children, probably killing several, or slamming the car into a wall and probably killing the passenger, i.e. you! Simple ethics would recommend taking a least harm approach, but that means maybe killing you. Would you buy a car programmed to kill you? Or would you prefer to buy one that would make the less ethical choice and always seek to protect the cars occupants. These ethical dilemmas are coming to the fore with the advent of autonomous systems. Several years ago the UKs Royal Academy of Engineers published a report on the ethics of emerging technologies and autonomous systems. More recently MIT Technology Review posted a piece titled Why Self-Driving Cars Must Be Programmed to Kill. My colleague, Paul Ralph, also just gave a radio interview on this subject.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

Read More..