
Higher Computing For Everyone - Learn Programming - Free Programming Classes Online 5.2 More on N! and introducing trees. In this lesson we will continue learning about N!, and also I will introduce an important concept in computing: trees. Important Announcement Lesson Transcript. In the last lessson we talked about factorials, and how they are useful to calculate the total number of possibilities in a situation where you have N possibilities, and upon each of those possibilities being realized you have one less. For our tic tac toe board, we start with 9 possibilities. Whenever you start with one possibility and this leads to another, you can draw out a simple diagram for this just as we did in the last example. Here we see a simple "one level deep" tree. Here, notice that we have a two-level deep tree. You should also be able to see *why* the concept of N! Trees are a common and important concept throughout higher computing. I believe that at this stage in the lesson, you should fully understand the concept of N! When you have finished this lesson, proceed to:
10 Papers Every Programmer Should Read (At Least Twice) I spent most of yesterday afternoon working on a paper I’m co-writing. It was one of those days when the writing came easy. I was moving from topic to topic, but then I realized that I was reaching too far backward – I was explaining things which I shouldn’t have had to explain to the audience I was trying to reach. When I first started writing, one of the pieces of advice that I heard was that you should always imagine that you are writing to a particular person. It gets your juices going – you’re automatically in an explanatory state of mind and you know what you can expect from your audience. I was doing that, but I noticed that I was drifting. The problem I was experiencing is only getting worse. So, I was thinking about this and trying to not to get too glum. We’ve taken an interesting turn in the industry over the past ten years. Here’s the original list. Most are easy to read but some are rough going – they drop off into math after the first few pages.
Stanford School of Engineering - Stanford Engineering Everywhere The Most Important Code Isn't Code Documentation is the single most important change I've made to my coding style in the last year. Documentation is Personal I'm not talking about injecting a few comments in front of confusing lines here and there. I'm talking about taking a firm, consistent view at how you document your methods, your classes, and your projects, and then sticking to that mentality. Documentation is mostly described as a way to communicate your thoughts to other developers, but honestly, other developers can eat it. Documentation is Clarity If you don't have an absolute clarity in the code you're pushing, it rears its head by way of bugs, confused coworkers, and slow code. I typically hate process. Writing the README first means you think about the end-product first. I feel similarly about TomDoc. You describe your method arguments, and you detail your response. Documentation is Testable Documenting code in TomDoc has lead me to two big testing personal "breakthroughs", if you will. Documentation is Diffable
7 Reasons to Switch to the Dvorak Keyboard Layout - StumbleUpon “Something’s wrong with your keyboard,” a friend borrowing my laptop would say. “When I type, all that comes out is gibberish!” “Nothing’s wrong with my keyboard,” I would reply with a grin. Click image to enlarge. My friends usually humor me — this has happened several times — but I’ll spare you the sermon and make it short. 1. Christopher Sholes, who invented the typewriter, found that early prototypes of his invention had a mechanical flaw: When he struck neighboring keys in rapid succession, the typewriter jammed. Good for the typewriter. 2. Typists base their fingers on the home row of the keyboard. In QWERTY, only 32% of keystrokes are on the home row. Dvorak further increases typing speed by placing all vowels on the left side of the home row, and the most commonly used consonants on the right side. 3. Not only is Dvorak faster than QWERTY, it’s also more accurate. Reaching away from the home row, typing consecutively with the same finger — these happen more often in QWERTY. 4.
YouTube U: The Power Of Stanford's Free Online Education If "Occupy X" is about protesting jagged inequalities, are we due to see "Occupy The Ivy’s" anytime soon? Tuition hikes and rising student debt are conspiring to make post-secondary education more wretchedly expensive every day. At least Stanford shouldn’t lose sleep worrying about encampments. This fall, it’s home to a radical experiment that involves putting three classic engineering classes entirely online, for anyone in the world, for free. Whether it’s an economically smart move for the university is unclear. In the late summer, professors leading three traditional Stanford classes--an introduction to AI, to databases and to machine learning--decided to offer their classes online for free to anyone in the world. Professor Andrew Ng is teaching machine learning; professor Jennifer Widom is serving up an introduction to database management. By the time the class started on October 10, 160,000 people had signed up online. By Leonard Medlock and Betsy Corcoran
Numbers Near Multiples Of Ten It's fairly easy to multiply two numbers that are close to the same multiple of 10. The algorithm for doing it is called “Nikhilam Navatascaramam Dasata.” It is part of a system of algorithms and mnemonics to remember them, collectively known as “Vedic Math”, that was developed by Jagadguru Swami Bharati Krishna Tirthaji Maharaj in the early 20th century. The easiest way to explain the algorithm is to give examples, and explain the algorithm along the way. 7 x 8 First find a suitable “base”. base 10 7 | -3 x 8 | -2 Multiply the differences. -3 x -2 = 6. base 10 7 | -3 x 8 | -2 ________ | 6 Now add the difference between the one number to be multiplied and 10, to the other number to be multiplied. Put the result on the left side of the answer: base 10 7 | -3 x 8 | -2 ________ 5 | 6 7 x 8 = 56 Now let's try it with significantly bigger numbers, to see why this is such an advantage. 98 x 89 ____ Since both numbers are close to 100, we will use 100 as our base. 10200 + (-08) = 10192 104 x 98 = 10192
45 Free Online Computer Science Courses - StumbleUpon Missed lectures or hate teachers? Or want to study computer science courses without going to university? … You can study anytime anywhere because there are number of free online computer science courses available on internet that are very interactive. Here is the list of 45 free online computer science courses that are designed by teaching experts from best universities of the world (almost the whole graduation!). 1. Programming Methodology CS106A , Stanford University Course. Complete set of course materials. 2. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. 3. Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. 4. The purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems. 5. 6.
How Speeding The &Most Important Algorithm Of Our Lifetime& Could Change This Modern World Last week at the Association for Computing Machinery's Symposium on Discrete Algorithms (SODA) a new way of calculating Fast Fourier Transforms was presented by a group of MIT researchers. It's possible that under certain situations it may be up to ten times faster than the current way we do these. At this point you are probably wondering: What the hell is he talking about? Here's a quickie explainer: Fourier transforms are a mathematical trick to simplify how you represent a complicated signal--say the waves of sound made by speaking. How so? Now, you should remember that sound waves, and both picture and video signals, are all handled by processors in your TV, PC, and phone, and that the radio waves that whizz through the air to keep us all connected to the Internet need digital processing too. So calculating FFTs up to ten times faster is a big deal. It's almost impossible to scope how enormous an impact this new FFT technique could have. [Image: Flickr user hazure]
First International Workshop in Human-Computer Interaction, Tourism and Cultural Heritage (HCITOCH 2010): Strategies for a Creative Future with Computer Science, Quality Design and Communicability Introduction and Topics, Deadlines and Program Committee 1. Introduction and Topics One of the key elements in the evolution of human kind has been creativity. The new technologies offer us a series of instruments to develop the potential of human beings with the goal of increasing the quality of life of millions of users of interactive systems in our global village. In the current era of qualitative communication, the present virtual space is intended to be a meeting point of all those who freely wish to boost and perfect the set of strategies and techniques to improve the human-computer interaction, tourism and cultural heritage. Our effort focuses on finding the common denominator between the human-computer interaction, cultural heritage and the global village. Best regards, Francisco V. P.S. 2. Papers Submissions: 06.14.2010 - 11:59 pm EST, 2010 Authors Notification: 06.30.2010 Camera-ready, full papers: 07.16.2010 3. - Francisco V. - Andreas Kratky (co-chair :: demo session).
CS-101: Great Ideas in Computer Science Theory Imagine that you discovered a gold mine (or, to be more realistic, a program that beats the odds of the stock market) and would like to convince a wealthy corporation to give you some money to pursue your discovery. Obviously, it is not a very smart idea for you to reveal your secret---whether it is the location of the gold mine or your algorithm for milking wall street---to prove to the other party that indeed you are truthful. In brief, the problem that needs to be solved is: How could one party convince the other that it knows a secret without revealing that secret?! In many computer applications, the above problem arises and there are techniques that allow for one to reveal the fact that they "know" something without revealing that thing. Let's go through a simple example. (C) Copyright 1995.
Hassiba Boulmerka: Defying death threats to win gold 11 February 2012Last updated at 00:58 By Chloe Arnold BBC News, Algiers Twenty years ago this summer, Algeria's Hassiba Boulmerka ran to victory at the Barcelona Olympics. Her achievement wasn't just her country's first Olympic gold - she showed women everywhere how they could overcome prejudice to achieve their goals. On the shelves of her spacious office near the capital, Algiers, are dozens of trophies that Hassiba Boulmerka won during her sporting days. Above them hang photographs of her with sporting legends - the Ethiopian long-distance runner Haile Gebrselassie, the British athlete Jonathan Edwards - and world statesmen, including Nelson Mandela. In Algeria, Boulmerka is hailed as the country's greatest athlete. But this was at a time when Islamist militancy was on the rise in Algeria, and some radicals thought the racetrack was not the right place for a woman. "That year I didn't run a single race [in Algeria]," she remembers. Fist of victory But Algeria was changing. Making history
10 Awesome Online Classes You Can Take For Free - StumbleUpon Cool, but you need iTunes for nearly everything, and that gets an 'F.' Are there really no other places to get these lessons? I was sure there are some on Academic Earth. Flagged 1. 7 of them are available via YouTube. 2. iTunes is free. 1. 2. Don't worry, we're looking out for you! While I have no personal beef with iTunes, I know that many people share your sentiments — so I actually made a concerted effort to include relevant youtube links when possible.
Beginning Game Development: Part VIII - DirectSound | Coding4Fun Articles | Channel 9 - StumbleUpon Welcome to the eighth article on beginning game development. We have spent a lot of time working with the graphics capabilities of DirectX. We also covered how the DirectX API allows us to control input devices. Now we are going to look at another facet of DirectX, the ability to control sound devices. This capability is found in the DirectSound and AudioVideoPlayback namespaces. Sound in Games Sound creates an ambiance in a game that provides for a more immersive game experience. Sound effects also provide the same audible cues we expect in real life, such as the direction and speed of a person approaching us based on the volume, direction, and frequency of the footsteps. In BattleTank2005 I want to integrate sound in the following way. Secondly, I want to be able to play background music during game play and I want to control what music plays when in the game. DirectSound The DirectSound namespace only supports playing 2 channel waveform audio data at fixed sampling rates (PCM). Device
Oula... ca m'a pas l'air très pratique tout ça. by nicolas Apr 27