background preloader

Learning to Program - Sites

Facebook Twitter

Announcements — IPython. Kill Math. Bret Victor / April 11, 2011 The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols. When most people speak of Math, what they have in mind is more its mechanism than its essence. This "Math" consists of assigning meaning to a set of symbols, blindly shuffling around these symbols according to arcane rules, and then interpreting a meaning from the shuffled result.

The process is not unlike casting lots. This mechanism of math evolved for a reason: it was the most efficient means of modeling quantitative systems given the constraints of pencil and paper. Unfortunately, most people are not comfortable with bundling up meaning into abstract symbols and making them dance. Thus, the power of math beyond arithmetic is generally reserved for a clergy of scientists and engineers (many of whom struggle with symbolic abstractions more than they'll actually admit). Project Kitchen Math Mathematical Arts. Visualizing Code | Actively Lazy. May 6, 2013 by David Green When writing software we’re working at two levels: Creating an executable specification of exactly what we want the machine to doCreating a living document that describes the intent of what we want the machine to do, to be read by humans The first part is the easy part, the second part takes a lifetime to master.

I read a really great post today pointing out signs that you’re a bad programmer. Whether you’re a bad programmer or just inexperienced, I think the biggest barrier is being able to quickly and accurately visualize code. What does it mean to visualize code? It might sound trivial, but the first necessary step is being able to quickly parse code and mentally step through what will happen. Where you need to understand looping mechanics and mentally model what happens overall not just each iteration. Once you’ve mastered how to understand what a single method does, you have to understand how methods become composed together. Like this: Like Loading... Signs that you're a good programmer - Software Engineering Tips. The most frequently viewed page on this site is Signs you're a bad programmer, which has also now been published on dead trees by Hacker Monthly, and I think that behoves me to write its antithesis.

"Bad programmer" is also considered inflammatory by some who think I'm speaking down to them. Not so; it was personal catharsis from an author who exhibited many of those problems himself. And what I think made the article popular was the "remedies"--I didn't want someone to get depressed when they recognized themselves, I wanted to be constructive. Therefore if you think you're missing any of the qualities below, don't be offended. 1.

The compiler and runtime can often answer a question faster than a human can. Symptoms How to acquire this trait Are you excessively cautious? Much of what makes people timid to experiment is chemical--your brain has a small number of adrenergic receptors, so a little bit of adrenaline excites your fight-or-flight reflexes too much. 2. 3. 4. 5. 1. 2. 3.

Dictionary of Algorithms and Data Structures. Programming's not for you? How about thinking? Be empowered. §. Didactic Code | Learn By Doing. Learn Code The Hard Way -- Books And Courses To Learn To Code. Automated tests of programming skills. Assessment of software developers. Recruitment software. Codility.