ComputerScience

The Shortest Path to Happiness

image

By Daniele Quercia

We all know how busy the world is today. People race around from place to place trying to shave off minutes from their commutes in order to squeeze in more time for other things. But what if you had a happier, more pleasant journey?

In a previous Tumblr post called “Can Cities Make us Happy?”, we summarized our preliminary work on which urban elements make people happy. We found that in London, for example, people associate public gardens and Victorian and red brick houses with beauty and happiness, and that cars and fortress-like buildings are associated with sadness.

In our latest research we put those insights to practical use in the form of maps and routes. Consider that existing mapping technologies return shortest directions. Now, imagine a new mapping tool that, instead of suggesting the shortest walking course from A to B, is able to suggest a route that is both short and pleasant. Based on our previous work, we were able to design algorithms that automatically map out the most beautiful, quiet, and happy routes between two points. Taking into account an average of the results of the three algorithms, our study showed that despite being 12% longer in length and roughly 7 and a half minutes longer in time, respondents preferred the option of taking more scenic, quiet, and happy routes.

More interestingly perhaps, our study participants in London and Boston loved to attach memories to places: both personal memories (e.g., “This is the street I gave my first kiss.”) and shared memories (e.g., “That’s where the old BBC building was.”) In “Remembrance of Things Past,” French novelist Marcel Proust described how a small bite of a madeleine cake unleashed a cascade of memories from childhood. In a similar way, our participants found places to be pleasant (or not) and memorable depending on the way they smelled and sounded. It turns out that these smells and sounds also play a role in the paths people take from one place to another. This point begs a new question with fascinating implications for the research community: What if we had a mapping tool that suggested pleasant routes based not only on aesthetics, but also on memories, smells, and sounds?

Our study produced one other compelling point worth mentioning — participants pointed out that the experience of a place changes during the course of a day. For example, one of our London participants commented, “Fleet street is beautiful because of its history. However, depending on the time of day, it can be colorless and busy leading to the opposite results.” The idea that the pleasantness of routes differs depending on the daily course of the sun, variance in temperature, and noise level is extremely insightful and nuanced.

As we continue to research the shortest path to happiness, we’re thinking about all these questions. If you find this concept as interesting as we do and live in Berlin, Boston, London, or Turin, then we’d love for you to share your memories around a few paths in your city here. You’ll be helping us with our research, and hopefully making people’s paths happier.

Goalr! The Science of Predicting the World Cup on Tumblr

By Mihajlo Grbovic, Vladan Radosavljevic, Nemanja Djuric, and Narayan Bhamidipati

With the 2014 FIFA World Cup kicking off on June 12, billions of fans across the world are turning their attention toward host country Brazil to root for their favorite teams. Soccer (or, if you prefer, football) fans are loud; you need only remember the last World Cup’s infamous vuvuzelas for a demonstration. But fans aren’t only loud in stadiums. They also make their voices heard across social media. And though you may assume these fans are just blowing their vuvuzelas into the social abyss, if you listen closely, you’ll discover a treasure trove of data — including possibly an answer to the most important question of all: Who will win?

As soccer fans and Yahoo Labs scientists with access to Tumblr data, we wanted to find out if we could take advantage of our unique insight to comb through an ocean of posts to predict a World Cup winner. And we have! But before we share our prediction on which nation will get to revel in World Cup glory, we’ll tell you how we figured it out.

Sifting through 188.9 million Tumblr blogs comprising 83.1 billion posts to find World Cup-related content wasn’t easy. To begin, we used two main parameters to determine which content was relevant: posts with hashtags referencing #WorldCup, #World Cup, #Copa do mundo (or other variants outlined in our technical report), and posts with hashtags referencing #soccer, #football, #futbol, etc.

However, using these parameters alone proved too broad. So once we isolated #WorldCup-related posts, we checked the bodies of the posts for mentions of country names. Then we did the same for #soccer-related posts (for Team USA, we counted only mentions in #soccer posts to avoid confusion with American football. For Team Brazil, we discounted a percentage of posts due the country hosting the event and thus receiving extra mentions — this was a percentage calculated based on an editorial evaluation on a sample of posts).

To get even more representative results, we checked the bodies of posts in both hashtag categories for mentions of any national team player according to FIFA’s official list of players for each nation.

Upon completion of our filtering, we were left with 27.3 million relevant posts from February through May. The fun (read: science-y) part came next.

In order to figure out how each country will stack up against each other, we needed to assign values of strength to each team. These values were calculated according to each matchup and provided a representative game score. More specifically, when two teams are positioned to play against each other, we estimated the number of goals scored by each team using a Poisson distribution with four differently-weighted parameters learned using the Maximum Likelihood algorithm on prior games (qualifications, friendlies, etc.). The four parameters included these: 1. Team mentions in #WorldCup-related posts, 2. Team mentions in #soccer-related posts, 3. The average number of player mentions per team, and 4. The standard deviation of player mentions per team.

Finally, we were left with a statistical model predicting the outcome of each successive matchup based on our calculations. Taking into account the 27.3 million relevant posts, we had a complete bracket and a winner: Team Brazil.

Do you agree with our prediction? Think some other team will win? Make sure to check back to see how well the World Cup social frenzy on Tumblr predicted the outcome.

In my perspective … science and computer science is a liberal art, it’s something everyone should know how to use, at least, and harness in their life. It’s not something that should be relegated to 5 percent of the population over in the corner. It’s something that everybody should be exposed to and everyone should have mastery of to some extent, and that’s how we viewed computation and these computation devices.

Such a beautiful story of Ruby Robinson, Columbia University Engineering/Computer Science graduate didn’t expect her dad, an army captain deployed in Afghanistan to make it to her graduation. A last minute approval and help from the university allowed them to pull off this wonderful surprise. #blackgirlfly #bgfgrads #columbiauniversity #ivyleague #blackexcellence #achievement #classof2014 #blackgrads2k14 #computerscience #engineering #stem #blackgirlnerds #rubyrobinson

5 things that Computer Science/Engineering students should focus on
  • The next billion customers: The IT revolution has probably reached a billion people of the world so far. In the next 5 years, it will reach the next billion. These will be a very different set of people. Many of them will be illiterate – so you need to focus on non-text, non-English interfaces – video, animations, voice recognition. Search for “English Seekho” to get an idea of what I mean. Most won’t have money or electricity for computers, so mobile devices will rule – so you need to start playing with mobile platforms like Android. In general, search for the “the next billion” and you’ll find some interesting material put together by the likes of Nokia, and MIT giving you ideas on what to focus on.

  • Usability: As IT touches the lives of more and more people, less and less of them will be “computer savvy”, and less and less of them will view computing devices as something that needs to be learnt. Consequently, the products that will succeed, will be the ones that are easy to use. And making something easy to use is rather difficult. It is a sub-discipline of computer science, and there is a lot of theory, and a bunch of well-defined algorithms and practices you can use to make things easy to use. The whole area is called HCI (Human Computer Interaction), and UCD (User Centered Design) is a part of it. It’s an area that you must be familiar with

  • Computer Science Fundamentals: This will never go out of fashion, and yes, when I look at students coming out of our colleges, this appears to be a rather neglected area. Far too much emphasis on specific programming languages, and specific “technologies” is a mistake. Whatever the future holds, you will be well served by knowing the basic theory of computer sciences. Learn data-structures and algorithms. If you don’t have a favourite data-structure, and an algorithm that you find beautiful, then your computer science education is incomplete. If, after seeing an algorithm, your first thought is not about the complexity of the algorithm (O(n), O(log n), etc.), then you need to hit your books again. If you’ve only learned Java and C#, and you don’t really understand pointers, heaps, stacks, you will sooner or later be at a disadvantage. Understand the basics. And while you’re at it, also learn mathematics and statistics.

  • Presentation skills: This is not a computer science skill, but this is one of the most important skills that computer science students are missing. You must treat presentation as equally important, or more important than your program, design, and algorithms. And you must spend as much time learning presentation (from books, in classes, and in practice) as you spent on programming languages, and computer science subjects. I’m sure you haven’t done that, hence this item in my list. You should know how to write well. Not just papers and documents, but much more importantly, emails, and blog posts, and facebook wall postings, and tweets. You must think about what the user/reader/client wants to know (instead of what you know and want to tell). And of course, you must know how to speak well. How to tell a story instead of listing some arcane facts about your work. How to leave out stuff that you find extremely interesting, but the listener doesn’t.

  • EconomicsScott Adams, the creator of Dilbert says: “When you have a working knowledge of economics, it’s like having a mild super power.” Basically, if you understand the fundamentals of economics, you can see and understand what drives people and technologies and success and failure a lot better than people who do not understand it. I hated the fact that I was made to study economics in IIT for my computer science course. It seemed like a complete waste of my time. Now, looking back, I think it was probably the most important course.

Source

http://punetech.com/5-things-that-computer-science-engineering-students-should-focus-on/

CS is not for me

Eugene Wallingford:

Of course, using a powerful, fun language in CS1 creates a new set of problems for us. A while back, a CS educator on the SIGCSE mailing list pointed out one:

Starting in Python postpones the discovery that “CS is not for me”.

After years of languages such as C++, Java, and Ada in CS1, which hastened the exit of many a potential CS major, it’s ironic that our new problem might be students succeeding too long for their own good. When they do discover that CS isn’t for them, they will be stuck with the ability to write scripts and analyze data.

With all due concern for not wasting students’ time, this is a problem we in CS should willingly accept.

(via Jens Ohlig)

When I was seven years old I took group swimming lessons.

I didn’t learn to swim.

When I was eleven years old my family joined a local health club and went nearly every morning for years. They had a pool which I would horse around in.

After many months in the pool I taught myself to swim, quite by accident.

※ ※ ※

My first programming course was BASIC on an IBM PC. While not full-blown computer-sciencey is was structured.

I hated it and didn’t want anything to do with programming after the first lesson.

Years later we bought a used Mac Plus with this thing called HyperCard. I explored it intensely and taught myself to program, again quite by accident.

※ ※ ※

I came to computer science from the wrong side of the tracks. Other have before me, and others will after me.

Attempting to weed out entrants is a disservice to the whole of computer science: its teachers, students and practitioners.

Weeding out entrants has a noble intent to help students discover that computer science isn’t for them at an early stage, however it is insular and conceited.

Many — perhaps most — entrants will do well to jump directly into the deep end of the computer science pool. However room should be allowed for those who want to splash around in the shallow end first.

4

Old nuclear bunker turned into a Data Center.

Located in Stockholm, the ISP Bahnhof gained notoriety when it hosted wikileaks’ sensitive materials. Built into the Pionen mountains, the center took two years to retrofit the caves with enough space for their server racks and backup generators. In total, it is roughly 1,200 square meters (12,900 square feet) and will hold the future of blogging after the apocalypse.

Source: TheChive

Ten Things Every Computer Science Major Should Learn

1. The basics of economics - An introductory course covering topics like complements and substitutes is vital for working in the greater economy, or just simply understanding it. While the concept of a Giffen Good won’t necessarily help you, knowing about externalities will. It might also help you appreciate that more situations are win-win than you might have realized.

2. How to write a proof - All computer science majors should know how to write a proof. And discrete math, while a part of a well balanced breakfast, doesn’t count. [Induction is just one proof technique, and you can get by without actually knowing much about proofs.] A course in algebra or real analysis is necessary to really write proofs. And by algebra I mean group theory or abstract algebra, not the course you took in high school. For the full benefit, take algebra and real analysis in the same term.

Why is proof writing essential? Because it’s programming! Think about when you first learned how to program: if a task required an “if” and a loop, you might not have had any intuition on where to put them in relation to each other. But now the same task would feel completely natural. Writing a proof is very similar. There is a set of tricks that you learn, and once you learn them things look quite different.

3. How to write - Written communication skills are essential, whether you’ll work in the industry or academia. It’s best if you can find a mechanics course, and not a writing course that is effectively about a different topic. That is, many schools will try to make the writing courses more relevant or interesting by making it be about a special topic. Try to go for the “boring” version of the course.

4. Probability and statistics - There are some things that you’ll only pick up properly by taking a course. Together with the CS major requirements (which should give you discrete math, single variable and multiple variable calculus, and linear algebra) and algebra and/or real analysis, picking up statistics will probably give you a minor in math. Learning statistics can help you work with other scientists on their projects.

5. The current hot topic - In previous decades, it might have been databases, or object-oriented programming. Today it might be web programming or service-oriented architecture. Whatever the current fad is, be sure to take a course in it. If only to see what the fad is about.

6. The halting problem - Most problems cannot be solved by machines. This is a fairly deep idea that our culture has absorbed so well that it no longer sounds shocking. The same goes with radio, Goedel, and the atomic bomb; it wasn’t until postmodern art and the cold war that we could once again cope with these concepts. However, taking a course in computability theory can re-sensitize you to this pretty amazing proof.

7. Pure functional programming - You most likely won’t go into pure functional programming, unless you do research in it or work for a select few companies, but knowing it will help you be a better programmer. The reason is that you will learn many new forms of abstraction, and concepts like Church numbers and continuations and monads and, yes, recursion, and these tools can be applied to your next Java program too.

8. P and NP - OK, this one is already on your critical path, but pay attention anyway. You want to be sure you can correct someone when they incorrectly call NP “non-polynomial.” As if!

9. The topics from the course you’re sure to hate - This could be a CS course you find too-low-level, too-theoretical, or a non-CS course you find too-objectionable, too-hard, or too-boring. If a course like this seems to be an issue for you, and you find yourself explaining to others why you’re so glad you don’t have to take so-and-so, it should tell you that you’ll learn a lot by taking the course! Perhaps you won’t learn the materials of the course, but you’ll learn about your own limits and perhaps more about the justifications you make to yourself. [Hint: They are usually weak.]

10. The non-CS course you’re sure to love - In the end, you should have some fun. This is the course you’ll probably get the least out of, but take it anyway. Do it once. If you happen to love many courses, then good for you, but be sure it doesn’t get in the way of covering the rest of the courses on this list.

Source

http://profshonle.blogspot.com/2010/08/ten-things-every-computer-science-major.html

Counting in binary is just like counting in decimal if you are all thumbs.
— 

-Glaser and Way

image


Discrete Mathematics with Applications: 2.5 Application: Number Systems and Circuits for Addition

EXCUSE ME BUT OMFG!! I LOVE MY COLOR IN and De-White-Backgrounded OF AN ORIGINALLY COMPLETELY WHITE ONLINE OF A HAND!!!!! :)