Latest Entries in computer-science

feed

Archives

Tags

Maths and CS blogs

Posted Feb. 20, 2010 at 04:11:55 CET on: | 1 comment

Courses 2009

Posted Dec. 3, 2009 at 02:35:52 CET on: | 3 comments

SODA'10 listing

Posted Sept. 4, 2009 at 19:51:40 CEST on: | 0 comments

How to explain to your mom what an algorithm is?

I'm still not convinced with the answers at stackoverflow.com. I also don't have a good one and, the last time I explained what I do, both her and my sister told me a pity lie. I'm guessing the real problem is the transition from the algorithm to the computing machine but I'm not really sure.

Posted July 22, 2009 at 03:12:59 CEST on: | 3 comments

Bertinoro international Spring School 2009

Anyone going to BiSS2009?

Posted Feb. 2, 2009 at 12:40:30 CET on: | 0 comments

2008 Turing Award Predictions

As usually the ACM's Turing Award winner is announced in February, I decided to do a list of possible recipients:

-Alain Colmerauer - Logic Programming, Constraint Logic Programming, Machine Translation - 198X

-Bruce Lucas, Takeo Kanade - Computer Vision - 198X

-Czeslaw Bylinski - Formal Methods - 198X

-David Parnas - Object Orientation - 197X

-Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides - Design Patterns - 199X

-Gordon Plotkin - Operational Semantics - 197X

-Howard Cunningham - Design Patterns, Wiki, Extreme Programming - 199X

-John Alan Robinson - Automated Theorem Proving, Logic Programming - 198X

-Kent Beck - Extreme Programming, Design Patterns, Test-driven development - 199X

-Michael Gelfond, V Lifschitz - Logic Programming - 198X

-Peter Chen - Entity-Relationship, Computer-Aided Software Engineering - 197X

-Richard Sutton - Reinforcement Learning - 198X

-Ross Quinlan - C4.5, ID3 - 198X

-Rudolf Bayer - B-tree -197X

Do you have any guesses?

Posted Jan. 28, 2009 at 09:34:51 CET on: | 1 comment

Lunch Time Seminar - Gianna Del Corso

Today's lunch time seminar was given by Gianna Del Corso on "Evaluating scientific products by means of citation-based models". Here goes the abstract:

The problem of research evaluation is becoming very important . In fact, the number of scientific journals and the number of papers published is increasing at an almost exponential rate. The size and grown of research literature places a tremendous burden on research. For example, it is becoming common to rely on search engines such as {tt Google Scholar} to choose what to read or what to cite. This burden doesn't only affects researchers but also funding agencies, university administrators and even reviewers who are called on to evaluate productivity of researchers and institutions. Most of the time it is however impossible to give an in-depth evaluation of the research performed by a scholar and it is becoming more and more popular to use indirect indicators of quality. In this talk, we first give a quick review of the most used numerical indicators, and then we present new models for ranking scientific publications together with authors and journals. Our models rely on certain adjacency matrices obtained from the relations of citation, authorship and publication, which concur to form a suitable irreducible stochastic matrix whose dominant eigenvector provides the ranking. Some perturbation theorems concerning the dominant eigenvector of nonnegative irreducible matrices are discussed. These theoretical results provide a validation of the consistency and effectiveness of our models. Several paradigmatic examples are reported together with some results obtained on a real set of data.

I you're interested, here are the slides and the paper:

D. A. Bini, G. M. Del Corso, F. Romani. "Evaluating Scientific Products by means of Citation-Based Models: a first Anaysis and Validation" Electronic Transactions on Numerical Analysis, Vol. 32, pp. 1--16, 2008.

Posted Jan. 27, 2009 at 19:39:55 CET on: | 0 comments

Having the Right Tools

Everybody knows that having the right tools has key importance on getting things done. Although we know this, sometimes we are lazy and avoid the overhead of reusing or developing this and that, here and there.

There is a great pleasure in doing things from scratch, starting a blank notebook. Well, this is not totally bad, particularly in science. As Joel says in here:

"When you're working on a really, really good team with great programmers, everybody else's code, frankly, is bug-infested garbage, and nobody else knows how to ship on time. When you're a cordon bleu chef and you need fresh lavender, you grow it yourself instead of buying it in the farmers' market, because sometimes they don't have fresh lavender or they have old lavender which they pass off as fresh.

Independently of reusing or rewriting, you'll take a toll for not having the proper tools for the job. This is a lesson I've learned a long time ago (mainly here and here) therefore I try to avoid making this mistake as much as possible. I always think: is there any tool I can have that will save me time on the long run?

A few weeks ago while talking with Hugo about the importance of having a framework that you grow by gluing the bits and pieces of the algorithms you develop, we got to the topic of having an inspector to the data structures used in the program. Ideally, these are the characteristics we would want it to have:

  • Informative - Should give detailed information about the current state of the data structure, produce high-level metrics, meta-information about the algorithms and some kind of graphical representation;
  • Unintrusive - Shouldn't alter the behavior or speed of the algorithms;
  • Pluggable and Parallel - Should be able to start, stop and work while running, from remote processes and locations;

Probably we are asking too much but it's possible to have a compromise without over-engineering a solution.

Posted Jan. 26, 2009 at 23:34:12 CET on: | 0 comments