The open source city as the transnational democratic future | Transnational Institute

Interesting perspective on an open source operating system for a city (presented in contrast to the smart city concept):

The open source city clashes head-on with the paradigm of the smart city based on proprietary technology and mass surveillance, which prevails today. The smart city model created by the big multinationals sees the city’s data as a commercial product.

I don’t believe that the smart city concept precludes an open source model, but I agree that it is unlikely to happen without a focused effort spearheading the open source front.

The proposed model includes all sorts of aspects:

The model city proposed by Fuller and Haque seeks to open up its operating system’s code, which might be legal, architectural or information-based (data, content). The change is radical: the city would thus be transformed into a democratic artefact in every sphere. Citizens would be able to participate in the processes of constructing the city, managing its data or changing its laws, among other things. The city would cease to be an artefact designed from the top down and would become one that everyone can alter by means of certain bottom-up processes.

Instead of relying on sensors installed by the tech companies and a centralised and closed form of data management, the project saw each citizen as a potential data producer. Thanks to the proliferation of smart phones and the profusion of free technologies, each and every citizen can become a data-gatherer.

This is much easier said than done, unfortunately.

via The open source city as the transnational democratic future | Transnational Institute.

Recent research reveals false rumours really do travel faster and further than the truth – First Draft News

We’ve got a huge signal-to-noise problem. The spreading of false rumors reminds me of phishing attacks, but now we can’t rely on spotting misspelled words (thanks, Twitter :P), poor email layouts, misleading URLs, etc.

“While the median true rumour is resolved in about 2 hours, the median false rumour takes over 14 hours to be resolved,” they write.

(Unsure what “resolved” means, exactly.)

There is a small industry of fake news websites which publish fake content on a daily basis, aimed at generating and monetizing web traffic. While fact checking is a growing field, it still produces less content on average than the fakers. It can’t keep up.

“Taken together, these observations strongly suggest that rumor-mongering is dominated by few very active accounts that bear the brunt of the promotion and spreading of misinformation, whereas the propagation of fact checking is a more distributed, grass-roots activity,” they write.

via Recent research reveals false rumours really do travel faster and further than the truth – First Draft News.

HT Aviv

Causes of Brexit – Wikipedia, the free encyclopedia

Prospect Theory

Economics writer Chris Dillow has argued that, amongst other factors, Prospect Theory may explain in the surprising willingness of many voters to take a path widely viewed as the more risky of two (change vs status quo). In his words Prospect Theory ‘Tells us that people who feel they’ve lost want to gamble to break even. This is why they back longshots on the last race of the day or why they hold onto badly performing stocks. … People who had lost out from globalization, or felt discomfited by immigration, voted Leave because they felt they had little to lose from doing so.’

via Causes of Brexit – Wikipedia, the free encyclopedia.

A fleet of self-driving trucks rumbles across Europe | Computerworld

Platooning in the U.S. still four to five years out

A “fail safe” condition would be cutting vehicle acceleration and bringing it to a controlled stop alongside the roadway, Gosbee said.

Another issue is that for every truck, there are six to eight trailers that don’t support autonomous hookups, Gosbee said. So an aging fleet of trailers would also have to be modernized over time.

There are also other complex problems to solve, such as controlling sudden movements of lead trucks. For example, imagine the lead truck in a platoon decides to swerve around an obstacle. The trailing trucks will also get the same message to swerve, but they may have obstacles around them at the time that prevent them from also swerving.

via A fleet of self-driving trucks rumbles across Europe | Computerworld.

Teaching algorithms: a one-step look-ahead


What does a one-step look-ahead for teaching discussion/recitation look like?

(And first off, what is a one-step look-ahead? It’s a technical term used in planning algorithms in artificial intelligence, used here to mean that although it’s hard to plan out exactly what to teach for the whole semester, what if we instead plan locally (in time) by looking at what students will need until you see them next? So, let’s plan one step ahead. In this case, since we have weekly discussion sections, this means one step = one week.)

Suppose the primary goal of discussion sections (recitations) are to prepare students for their homework and the next lecture. (The true primary goal is to make sure students learn the material, and the aforementioned is a proxy for doing so. In a well-designed class, these should be well aligned, but that won’t always be the case. [1]) “Prepare” is meant loosely and can include intuition, mathematical background, mechanics of problem solving, concrete examples and applications, visual/graphical explanations. Secondary goals of discussion sections may be to complement/supplement lecture, encourage students, gauge the class atmosphere, get some feedback on how the class is going, solidify your own knowledge of the material, practice public speaking, etc.

Then, to prepare for the next discussion, a one-step lookahead means:
– Anticipate the content of the lecture following the next discussion. This is happening in simulation because it’s not really possible to know exactly what the professor will cover, days in advance. Then, figure out what background students may likely need in advance. (On second thought, this can be pre-planned, with some coordination.)
– Go through the full homework due the following week (following Monday), in order to anticipate techniques and concepts helpful for the homework.
– Go through the discussion worksheet prepared by the course staff.
– Then, put everything together. Pick and choose from the discussion worksheet, with the selection guided by the first 2 items.
– Time permitting (though I believe this is very important), then try as much as possible to find alternative ways to present and explain the material — visually, through demonstration, through simulation, through math, through analogy, through concrete examples.

Let’s try out this policy!

[1] Thanks Shray for the feedback!

Teaching Algorithms: Part 1

I want to write about teaching CS170 (Intro to CS Theory), but I don’t know how I feel about students reading my thoughts quiet yet, so maybe I’ll make these posts available later on. So that means that for now I can say anything. 🙂

EDIT (2016-07-10): Made the post public!

Here’s what I tried today.

Let the students know that I’m on their side

I introduced myself, told them that I was a ugrad not too long ago, almost went into industry but then got sucked back into school. I told them that this is my first time teaching at Berkeley, and I’ll try to infer how they learn best, but please tell me and give me feedback on how to help better.

Learn my audience

This is a continued lesson from my 6.UAT class on technical communication — always know who you are speaking to. My first class is about 1/2 sophomores and the rest is split among the other class years. My second section is split evenly among sophomores, juniors, and seniors. I asked if anyone is taking the class in preparation for more theory classes — there were no definitive hand raises in either of my sections. And about 60-70% of the students are interested in being more prepared for their technical interviews through this class.

Get them talking

At the same time that I was learning my audience, I took this as an opportunity to get them all participating from the very beginning. It’s fairly innocuous — all they had to do was raise their arm. And then I asked them some more easy questions: How did you like yesterday’s lecture? (That was the first lecture of the semester.) I got some nods. What did you learn? Some noted the history of the word “algorithm” (named after Al Khwarizmi) and some noted a new way to multiply numbers. Did you enjoy the streaming algorithm example? (Umesh started the lecture right off with a concrete streaming problem.) Students nodded and a student exclaimed that he was asked the exact question during an interview. Then, an amazing thing happened. Another student agreed. A student followed saying that he enjoyed the applications of algorithms in the first lecture. Another student agreed, several more nodded in unison. Now they are in deep, they’re already participating in full! 🙂

If this doesn’t sound amazing… well, it was to me. I have a stark memory of the first recitation I taught of 6.004 (“Computational Structures”) back in 2012. It was a blank wall of stares. Expressionless, voiceless. I vaguely recall taking weeks to get the students participating at the same level that my students already are here. Not only is it sort of scary, it’s also impossible to get feedback with a class that doesn’t respond.

Let the students learn themselves

One of the other instructors brought up that even though the students want you to lecture at them as much as possible, it’s really best for them to be doing problems. Doing problems is what prepares them for the homework. I tried this out, and the students really taught themselves. They defined BigO notation and gave every answer and every explanation (with small exceptions). And I learned from them too. (Though to be fair, this might not be the best gauge, since the material was review of prerequisite material.)

This was not my approach when teaching 6.004. Instead, I covered a small fraction of the problems piece by piece — sometimes actively participating with me on the board, sometimes in small groups — and I spend a good chunk of the recitation storytelling. I call it storytelling, but it was basically a more interactive lecture, because my goal was to tie the super high level and abstract concepts presented in lecture to the very concrete and nitty gritty problems we were doing in recitation. I felt that it was possible to succeed in 6.004 without making the tie, but in doing so, the students may lose out on a lifetime of understanding (ok, maybe an exaggeration). I tried my best to show why we are doing something, rather than how we are doing it. I forewent most of the “recommended” problems, hoping that if the students had some tangible understanding of the lecture material after I tied up some loose ends, then they would be more able and engaged in tackling the remaining problems.

I can already see some opportunity for augmenting the lectures with a bit more content in recitation. Only time will tell, but I suspect that the lectures will be fairly well tied to the problems. I believe the opportunity this time around is in taking the time to make precise some material from lecture, instilling mathematical understanding in a bite-sized way, and perhaps filling in the gaps where the lecture glosses over motivation. Reduce the hand-waving, tie some knots. Prepare these kids for definitely rocking those interviews. Perhaps inspire them to take more theoretical and mathematical courses.

Well, I’m still on the fence for now. These approaches aren’t necessarily conflicting, but there is a trade-off in preparation time.

Get the students comfortable..?

Too comfortable, perhaps? One of the students came up at the end and apologized for falling asleep and then asked a question. And then I learned that this is probably a tiring day for them all because it’s the day of the Spring career fair!