Google partners with Udacity to offer Nanodegree in Android development Google has launched a new effort, in partnership with online learning service Udacity, to help developers become more skilled and capable at developing for the Android platform. The company has created a new credential called a Nanodegree based on a curriculum designed to take 9 to 12 months to complete. The coursework can be completed on your own schedule, but Google suggests at least 10 hours per week be devoted to the effort. The fee is $200 per month although a one week free trial is currently being offered as part of the launch. In addition to the traditional coursework, students will be engaged in several projects to produce actual apps, add features and capabilities, prepare them for production, and implement Material design concepts. Google thinks developers will want to take advantage of the new Nanodegree in Android development as a way to tap into the continued growth of the Android platform. Be sure to stick with us for more Google news from Google I/O 2015.
How to Debug One of the painful parts of teaching a lab-based embedded systems course is that over and over I have to watch a team with a relatively simple bug in their code, but who is trying to fix it by repeatedly making random changes. Generally they start with code that’s pretty close to working and break it worse and worse. By the end of the lab they’re frustrated, aren’t any closer to finding the bug, and have made a complete mess of their code, forcing them to go back to the previous day or week’s version. A typical Computer Science curriculum fails to teach debugging in any serious way. First we’ll want to define some terms: The high-level reason debugging is hard is that it’s an inverse problem: it attempts to infer the cause for observed effects. Of course, a very bad bug will involve several of these factors at the same time. The following steps constitute a fairly complete approach to debugging. 1. It makes no sense to even start debugging unless we’re pretty sure: 2. 3. 4. 5. 6. 7. 8.
Saccade Trace of saccades of the human eye on a face while scanning Function Humans and many animals do not look at a scene in fixed steadiness (as opposed to most birds, for example); instead, the eyes move around, locating interesting parts of the scene and building up a mental, three-dimensional 'map' corresponding to the scene (as opposed to the graphical map of avians, that often relies upon detection of angular movement on the retina). When scanning the scene in front of you or reading these words right now, your eyes make jerky saccadic movements and stop several times, moving very quickly between each stop. Control Once saccades are underway, they cannot be altered at will. Timing and kinematics Saccades are the fastest movements produced by the human body. The amplitude of a saccade is the angular distance the eye travels during the movement. Types Saccades can be categorized by intended goal in four ways: Pathophysiologic saccades
The Architecture of Open Source Applications Learn To Code, Learn To Think : 13.7: Cosmos And Culture Is learning to code software a valuable skill? Is it one that prepares people to join the workforce of the future? On the one hand, the popularity of computer science as a college major and the proliferation of coding bootcamps suggest the answer is decidedly "yes." "Every student in every school should have the opportunity to learn computer science" On the other hand, some endorse the headline on Kevin Maney's May 29th article at Newsweek: "Computer Programming Is A Dying Art," one that will soon be taken over by smarter, more "brain-like" computers. " ... in 2030, when today's 10-year-olds are in the job market, they'll need to be creative, problem-solving design thinkers who can teach a machine how to do things. Maney's timeline may be optimistic but the prospect isn't crazy. But there's another reason to learn to code, whether or not self-coding computers are on the horizon. In his article, Maney writes: "In the end, far more people will be able to program without knowing code.
Netflix Open Sources “Resilience Engineering” Code Library Hystrix: it’s the genus name for “Old World” porcupines, and it’s also the latest release from Netflix. But you won’t see it in their catalog of movie and TV titles, and you can’t add it to your queue, because it’s not content–it’s how Netflix makes sure its content is highly available. Now, Netflix has made Hystrix open source, for anyone using Amazon Web Services (AWS) to implement in their own cloud applications. Read on for details on this “resilience engineering” code library. Mention Netflix, and most people will think of the company’s DVD-rental-by-mail service or its growing library of “Watch Instantly” streaming video titles. This week, Netflix added Hystrix to its bag of open-source tricks. The Hystrix home page on GitHub defines the problem: [R]unning an application that depends on 30 services that each have 99.99% uptime we get: 99.9930 = 99.7% uptime 0.3% of 1 billion requests = 3,000,000 failures 2+ hours downtime/month even if all dependencies have excellent uptime.
Shepherd's Pie (Cottage Pie) When the English, who seem to have a national fascination with minced meat pies, combined mashed potatoes with minced meat, a truly remarkable dish was born. For over two hundred years, Shepherd's Pie has been made by cooking chopped up lamb or mutton mixed with gravy, topped with mashed potatoes, and baked until a crispy crust forms. When made with beef, this dish is traditionally called Cottage Pie. This recipe, handed down to me by a friend in the form of index cards, was originally from the beloved Joy of Cooking. Start by chopping up 1-1/2 lb. potatoes into rough 1-inch cubes for boiling. While, cooking the potatoes, prepare the vegetables. Dice the carrot, celery, and onion and place in a bowl. When the potatoes are tender, remove them from the water into a large bowl, reserving 1/2 cup of the water. After the potatoes have been mashed, set them aside. Add the diced onion, carrot, and celery and stir until the vegetables are coated. Add 1 Tbs. flour to the mixture. Shepherd's pie
The Rise of ``Worse is Better'' Previous: Lisp's Apparent Failures Up: Lisp's Apparent Failures Next: Good Lisp Programming is Hard I and just about every designer of Common Lisp and CLOS has had extreme exposure to the MIT/Stanford style of design. The essence of this style can be captured by the phrase ``the right thing.'' Simplicity-the design must be simple, both in implementation and interface. I believe most people would agree that these are good characteristics. The worse-is-better philosophy is only slightly different: Simplicity-the design must be simple, both in implementation and interface. Early Unix and C are examples of the use of this school of design, and I will call the use of this design strategy the ``New Jersey approach.'' However, I believe that worse-is-better, even in its strawman form, has better survival characteristics than the-right-thing, and that the New Jersey approach when used for software is a better approach than the MIT approach. Now I want to argue that worse-is-better is better.
Coding in the Classroom: 16 Top Resources As cool as technology is, its intricacies and inner workings are sometimes intimidating, especially for young people who may be more interested in what technology can do for them rather than what they can do with technology. However, when students hurdle that obstacle and see the value of computer science — specifically coding — they gain a broadened perspective and the potential for a rewarding career in the tech field. The following resources will help you teach your students the basics of coding and will provide tips on how to keep kids interested as you go. Tools to Use in Class Can you make coding fun for your students? Edutopia presents a list of six resources designed to help parents get their kids interested in coding. The Facts About Coding Teaching your students to code is important, but teaching them its practical value is also key in helping them derive the most benefit from what they learn. Dr.
IoC container solves a problem you might not have but it’s a nice problem to have | Krzysztof Koźmic on software On frameworks and libraries A logging framework helps you log what's happening in your application. A UI framework helps you render and animate UIs to the user. All of these tasks and concepts are pretty easy to understand. Also the code of your application changes in order to use those frameworks and libraries. What about IoC container? So what about inversion of control containers? I got one of the IoC containers, put it in my application, and then all hell broke loose. Let's ignore the details for now and concentrate on the wider sentiment. So? The sentiment is one of confusion, scepticism and frustration. Truth is, those aren't necessarily the right questions to ask. I have seen applications where introducing a container immediately, would only worsen things. What sort of architecture are we talking about? Container has certain requirements in order to work smoothly. That's a lot of assumptions, isn't it? It's the inversion! The i-word
Spacing effect Researchers have offered several possible explanations of the spacing effect, and much research has been conducted that supports its impact on recall. In spite of these findings, the robustness of this phenomenon and its resistance to experimental manipulation have made empirical testing of its parameters difficult. Causes for spacing effect Decades of research on memory and recall have produced many different theories and findings on the spacing effect. In a study conducted by Cepeda et al. (2006) participants who used spaced practice on memory tasks outperformed those using massed practice in 259 out of 271 cases. As different studies support different aspects of this effect, some now believe that an appropriate account should be multifactorial, and at present, different mechanisms are invoked to account for the spacing effect in free recall and in explicit cued-memory tasks. Not much attention has been given to the study of the spacing effect in long-term retention tests.