ACM CHI has started! XRDS is following!

For over 30 years, the CHI conference has been the top-tier venue for the developments in the field of Human Computer Interaction (HCI). CHI has been truly a place to share ground-breaking research and novel ideas into the ever evolving interaction between humans and machines. This year the conference takes place in the vibrant city of Seoul, in the heart of South Korea!

Screen Shot 2015-04-21 at 12.39.43 AM

Unlike most conferences in HCI, CHI is has a broad spectrum of disciplines: computer science, cognitive psychology, design, social science, human factors, artificial intelligence, graphics, visualization, multi-media design and many others; making it a huge conference: this year, at the opening keynote, were more than 2800 researchers!

CHI is an important venue not just for professors and senior researchers but primarily for the younger ones, such as myself. CHI is a prime moment to reflect, learn and observe the field. There is no rupture, innovation, ground-breaking thoughts without a clear understanding of where HCI is right now.

If you are not familiar with CHI or even with HCI, don’t be afraid! The field is very understandable to non-experts as people try to be as clear as possible, because CHI itself is a mix of the aforementioned and very idiosyncratic disciplines; so we keep things lively with videos, animations and short summaries. Have a look at the program and you’ll find many videos to watch. In fact, just to make things really exciting, this year the chairs created a youtube playlist that allows you to browse through this massive program
in the comfort of your laptop (wherever you are!). If you are more into the academic reading, then you’ll be happy to know that at CHI the papers are immediately published during the conference, so you can already access them through the ACM Digital Library!

I (Pedro) will be covering some highlights of CHI on the XRDS blog over the next four days, so stay tuned here (and also follow us on twitter).

Providing feedback in the classroom

In my previous post, I discussed some current and ongoing research on effective pedagogical approaches to STEM education. The problems in STEM education have gained much attention recently due to the growing gap between demand and skill in American STEM jobs, likely due at least in part to lack of interest or discouragement among American students. Continue reading

Using static analysis to evaluate Java exception handling

Static analysis is a method that one can use in order to analyze, understand, and assess the quality of a program. The main strength of static analysis is the pinpointing of coding errors without the execution of a program. In this blog post, we discuss how static analysis can contribute to the evaluation of the existing exceptions of a program and how static analysis can help in the prediction of possibly thrown exceptions by a program.

Continue reading

Unchecked Exceptions

The execution of a program can suddenly terminate for several reasons. To prevent unexpected program behaviors, developers can include error handling mechanisms in their programs. Specifically, in Java, developers can use two types of exceptions: checked and unchecked. Checked exceptions (IOException, DataFormatException, ParseException, SQLExceptions, etc.) are always caught on compile time, whereas unchecked exceptions (OutOfMemoryError, ArithmeticException, NullPointerException, IllegalArgumentException, IllegalStateException, etc.) can occur on runtime and lead a program to an unexpected termination (crash)—if there is no prevention mechanism in the source code to caught the exception. However, there is a debate regarding the use of the unchecked exceptions in the source code (see Unchecked Exceptions — The Controversy, in the Java documentation).

Continue reading