Friday, September 2, 2011

Reminder: paper submission deadline for KES-IDT 2012

A reminder that the deadline for submitting papers to the 4th International Conference on Intelligent Decision Technologies (KES-IDT 2012) is 1 December 2011. This conference will be held in Gifu, Japan, 23-25 May, 2012.

Reminder: paper submission deadline for ICARIS 2012

A reminder that the deadline for submitting papers to the 11th International Conference on Artificial Immune Systems (ICARIS) 2012 is 1 March 2012. This conference will be held in Taormina, Italy, 28-21 July, 2012

Thursday, September 1, 2011

Reminder: paper deadline ICFSNC 2012

A reminder that the deadline for papers submitted to the International Conference on Fuzzy Systems and Neural Computing (ICFSNC) 2012 is 30 November 2011. This conference will be held in Barcelona, Spain, April 11-13, 2012.

Wednesday, August 31, 2011

The problem with academic journals

George Monbiot nicely summarises the problems with academic journals as they currently stand.

  • Journals get their content for free (papers submitted by authors).
  • Journals get their quality control for free (reviewers volunteering their time).
  • Journals get their editors for free (more volunteers).
  • Journals charge thousands of dollars per year for subscriptions.
Yet, academics must publish in journals to advance their careers: university managers and funding bodies all like the nice, simple metric of counting the number of publications an academic has published in high-impact journals. And most of the high-impact journals are the ones that cost thousands per year.
 
Monbiot argues that this has the effect of shutting cutting-edge science behind extremely high paywalls, which has the effect of making science inaccessible to most of the population. When this happens, is it any surprise that hokum like the anti-vaccination movement takes hold in the population? Or that creationist baloney circulates so widely?

I think it's time for scientists, and leading scientists at that, to start submitting more to open-access journals. More importantly, it's time for managers and funding bodies to ditch the overly simplistic measures of performance that are derived from impact factors. Otherwise, things are not going to end well.

Tuesday, August 30, 2011

Reminder: paper deadline for CINTI 2011

A reminder that the deadline to submit papers to the 12th IEEE International Symposium on Computational Intelligence and Informatics (CINTI) 2011 is September 30 2011. This conference will be held in Budapest, Hungary, November 21-22 2011.

Monday, August 29, 2011

Conference paper deadline: ECAI 2012

The deadline for papers submitted to the 20th European Conference on Artificial Intelligence (ECAI) 2012 is 6 March 2012. This conference will be held in Montpellier, France, 27-21 August, 2012.

Friday, August 26, 2011

Reminder: Paper submission deadline for PAKDD 2012

A reminder that the deadline for submitting abstracts to the 16th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD) 2012 is 25 September 2011. This conference will be held in Kuala Lumpur 29 May - 1 June, 2012.

Wednesday, August 24, 2011

Tuesday, August 23, 2011

Reminder: Paper deadline for IEEE CIBCB 2012

A reminder that the deadline for papers submitted to the 2012 conference on Computational Intelligence in Bioinformatics and Computational Biology is November 20, 2011. This conference will be held in San Diego, California, May 9-12, 2012.

Tuesday, August 16, 2011

Reminder: Paper deadline ACIIDS 2012

The deadline for papers submitted to the 4th Asian Conference on Intelligent Information and Database Systems (ACIIDS) 2012 is September 15, 2011. This conference will be held in Kaohsiung, Taiwan, March 19-21, 2012.

Thursday, August 11, 2011

Wednesday, August 10, 2011

Teaching computational intelligence

Mengjie Zhang at Victoria University of Wellington discusses his experiences teaching computational intelligence in this article in the IEEE Computational Intelligence Magazine (access depends on your institution). What he describes seems like a fairly logical course structure. I thought I'd add my own experiences teaching computational intelligence at the University of Otago several years ago, to provide an alternative course structure.

The course I taught was a required course for third year honours students in the Department of Information Science. It was taught over one semester per year, and I taught it 2000-2003. I usually had between 15 to 30 students in it, with the number being a bit less near the end of my time teaching as the collapse in enrollments in Information Science started to bite. In addition, I usually had one or two students from other departments, usually biochemistry, as they found what I taught particularly useful.

The course was divided into five sections: data processing; rule-based and fuzzy rule-based systems; artificial neural networks; evolutionary computation; applications of computational intelligence. There were two one-hour lectures and one two-hour lab session per week.

The overall focus of the course was answering the question "What is computational intelligence and how do I use it to solve problems?".To this end, a large part of the course was focused on a small group project (two or three students per group) worth 30% of the final course grade. Students had to select a problem and data set, analyse the data, build an intelligent model to solve the problem the data was related do, and finally build a small prototype piece of software that solved the problem. The structure of the project was inspired by a survey of employers, commissioned by the Information Science department, which found that employers wanted graduates who could:

  1. work in a group
  2. write coherent reports
  3. give effective presentations
Point 1 was addressed by making the project a small group project. Point 2 was addressed by requiring three reports during the course of the project, each worth 8% of the final grade. Finally, point 3 was addressed by requiring an in-class presentation to accompany each report, which were each worth 2% of the final grade.
The material presented in the lectures covered the relevant algorithms and techniques from both a theoretical and practical aspect, covering how the algorithms work and how they can be applied to solving problems. The theoretical aspects were reinforced by ten weekly problem sets, which were worth 2% of the final grade each. The practical aspects were reinforced by the weekly practical / laboratory sessions. These used MATLAB with the relevant toolboxes and were largely aimed at providing the students with the skills and knowledge they needed to do the project work.

The final assessment component was a 50% exam. I would have liked to have set an exam worth a bit less than that, but the University regulations at the time prevented me from doing that.

Overall, the students were very happy with the course. Apart from being well-organised, they found it interesting and useful. At least one project group even managed to publish their project in an international conference.

The lectures that I presented for this course are available here. At some point, I will make the laboratory and assessment material available as well.

While I enjoy my current research job a great deal, I do find myself missing teaching, and would like to return to it one day.

Monday, August 8, 2011

Conference paper deadline: KES-IDT 2012

The deadline for submitting papers to the 4th International Conference on Intelligent Decision Technologies (KES-IDT 2012) is 1 December 2011. This conference will be held in Gifu, Japan, 23-25 May, 2012.

Friday, August 5, 2011

Call for papers: IEEE-IS

The deadline for submitting papers to the IEEE International Conference on Intelligent Systems (IEEE-IS) is 20 December 2011. This conference will be held in Sofia, Bulgaria, September 6-8, 2012.

Thursday, August 4, 2011

Reminder: paper deadline for Collective Intelligence 2012

A reminder that the deadline for papers submitted to the 2012 conference on Collective Intelligence is 4 November, 2011. This conference will be held in Cambridge, Massachusetts, April 18-20, 2012.

Tuesday, August 2, 2011

Monday, August 1, 2011

Reminder: paper deadline for EAIS 2012

A reminder that the deadline for submitting papers to the IEEE Workshop on Evolving and Adaptive Intelligent Systems (EAIS) 2012 is 1 November 2011. This conference will be held in Madrid, Spain, 17-18 May, 2012.

Tuesday, July 26, 2011

Software development in science

There are fundamental differences in the way in which scientists and software engineers create software. Here are two posts on two separate blogs, arguing their respective cases about the difference between the software created by scientists and the software created by software engineers. The first argues that the differences are due to culture: scientists view software as a tool that just needs to work, so don't mind doing it quickly and in a less-than-maintainable manner. Software engineers see software as a product, and so spend the time and effort to make software that is maintainable. The second, on the other hand, argues that it is not a cultural difference, but an issue of reproducibility. Being able to reproduce results is extremely important in science - for example, a lack of reproducibility is in part how the fraudulent results of Jan Hendrik Schon were uncovered. Thus, software need to be reproducible and therefore, produce trustworthy results.

As both a software engineer and a working scientist, I tend to agree more with the second argument, but I think that the major problem is that some scientists who code are going too far outside of their area of expertise.

It takes education and a lot of experience to be able to write good code. I've been writing software for more than sixteen years now, and I think I am finally getting to the point that my coding skills are adequate. But that's after earning an honours degree in the field, after spending a couple of years working closely with a truly gifted programmer, and many more years writing software for a wide variety of applications. When I first started writing scientific software, the code I produced wasn't very good: it ran OK, and produced reasonable results, but it was pretty clunky, being very difficult to adapt to other projects. I learned very quickly after that to design code for modularity and replicability. Reusable code,of course, is superior to code that is purpose-built each time. Apart from making it easier and quicker to produce new software, it is far more reliable: bugs are more likely to have been noticed and fixed in the earlier software.

I often tell my co-workers (who are all very good ecologists) that it is very easy to write bad software and that writing good software is hard. So, even though I spend my days writing software to process the output of some fairly painful software (that was obviously written by non-engineers), even though it takes me more time than people think it should, I still spend the time to build it according to the principles I learned as a software engineer. And every time I do that, the effort pays off later on, because I am always able to adapt my code to a new application with minimal effort, even though that application had not even been thought of when I first wrote the code.

I know that this sounds terribly snobbish, even elitist, but I look at it this way: If you want to design a reliable bridge, you need a civil engineer. If you want to design a reliable car, you need a mechanical engineer. If you want to write reliable software, you need a software engineer.

I think this problem of scientists over-reaching into code writing occurs because writing code is so easy to do, and because software can fail in subtle ways. Building a bridge takes a lot of material and manpower, and if it is not designed properly, it falls down. Building a car takes a lot of time and components, and if it is not designed properly, it crashes (or doesn't run at all). With software, however, anyone can download and install a scripting language like Python or a package like R and knock out a script that seems to do what they want. It also means that anyone can knock out numbers that look reasonable but are in fact completely wrong.

If you want good software, you need a software engineer. It's an investment that pays off in the long run.

Thursday, July 21, 2011