Monday, October 12, 2015

Ada Lovelace Day: Grace Murray Hopper and Computer Programming



Today is Ada Lovelace Day, a day to blog about female computer scientists we admire. Augusta Ada Byron, Countess of Lovelace (10 December 1815 – 27 November 1852) is credited with authoring the first computer algorithm (which concerned a method for calculating a sequence of Bernoulli numbers) in 1843 for use on Charles Babbage's early mechanical general-purpose computer, the analytical engine.



This year I'm going to write a posting on Grace Murray Hopper (December 9, 1906 – January 1, 1992) aka "Amazing Grace", whose contributions to Computer Science are innumerable, the true successor to Ada Lovelace, she was one of the first programmers of an electronic computer, starting in 1944, SHE INVENTED THE FIRST COMPILER (for the A-0 programming language), and was instrumental in the development of machine-independent programming languages which led to the development of COBOL. She is credited with popularizing the term "debugging" for fixing computer glitches (in one instance, removing a moth from a computer).

A natural hacker, at the age of seven she decided to determine how an alarm clock worked, and dismantled seven alarm clocks before her mother realized what she was doing. She graduated from Vassar in 1928 with a bachelor's degree in mathematics and physics, and earned her master's degree at Yale University in 1930. In 1934, she earned a Ph.D. in mathematics from Yale under the direction of Øystein Ore. Her dissertation, New Types of Irreducibility Criteria, was published that same year. Hopper began teaching mathematics at Vassar in 1931, and was promoted to associate professor in 1941.

During World War II, she obtained a leave of absence from Vassar and was sworn into the United States Navy Reserve, She served on the Mark I computer programming staff headed by Howard Aiken. Hopper and Aiken co-authored three papers on the Mark I, also known as the Automatic Sequence Controlled Calculator. She continued to serve in the Navy Reserve, and remained at the Harvard Computation Lab until 1949, turning down a full professorship at Vassar in favour of working as a research fellow under a Navy contract at Harvard.

In the 1970s, Hopper advocated for the Defence Department to replace large, centralized systems with networks of small, distributed computers. Any user on any computer node could access common databases located on the network. She developed the implementation of standards for testing computer systems and components, most significantly for early programming languages such as FORTRAN and COBOL.

Thank you Grace Hopper.

Friday, July 31, 2015

The Stanford Prison Experiment wasn't really an experiment


What is the difference between a scientific and an unscientific experiment? My own view is that the Stanford experiment was an unscientific experiment for the following reasons;

(1) The principal investigator, Philip Zimbardo, participated in the experiment as the prison warden. In a good controlled experiment the investigator should not participate in the experiment, there is too much potential for bias.

(2) The initial objective of the experiment will to look at how prisoners become conditioned to the prison system, and the guards were not being monitored as closely as the prisoners, so any conclusions about abuse of power are dubious.

(3) Volunteers were paid for their participation, and some of them really needed the money, this can be a significant source of bias.

(4) There may have been a selection bias problem since the initial advertisement mentioned the experiment was about "prison life", subsequent studies have shown that this phrase may have attracted volunteers with a tendency towards abusive behaviour.

(5) In Zimbardo's book "The Lucifer Effect" he mentions that one of the instructions he gave to the guards at the start was to be like the guards in "Cool Hand Luke" who were sadistic and brutal, this suggests that the guards behaviour was as a result of the Milgram Experiment effect.

(6) A participant asked to leave the experiment; he should have been let go immediately, instead Zimbardo got him to stay, and this action led the prisoners to think that they couldn't exit the experiment -- a fundamental principle of informed consent is that participants cannot be forced continue in an experiment.

Tuesday, October 14, 2014

Ada Lovelace Day: Karen Spärck Jones and Information Retrieval


Today is Ada Lovelace Day, a day to blog about female computer scientists we admire. Augusta Ada Byron, Countess of Lovelace (10 December 1815 – 27 November 1852) is credited with authoring the first computer algorithm (which concerned a method for calculating a sequence of Bernoulli numbers) in 1843 for use on Charles Babbage's early mechanical general-purpose computer, the analytical engine.

This year I am going to post about Karen Spärck Jones, whose work on information retrieval is fundamental to the operation of all modern search engines.


Karen Spärck Jones was born in Huddersfield, in 1935, she attended Cambridge University, in the late 1950s began working as a researcher at the Cambridge Language Research Unit. During that time she worked in the field of Natural Language Processing, and looked at the problem of near-synonyms, and developed more sophisticated ways of distinguishing ambiguous terms.

By the 1960s she was focusing on Information Retrieval and helped develop a metric to measure the importance of an individual word (or a family of words) in a document. This is the notion of Inverse Document Frequency (IDF) weighting, which she introduced in a 1972 paper "A Statistical Interpretation of Term Specificity and Its Application in Retrieval"


The Inverse Document Frequency (IDF) is used in all web search engines and is fundamental to their operation in terms of classification and retrieval, and has also filtered into areas of NLP.

Her more recent work had been on document retrieval, including speech applications, database query, user and agent modelling, summarising, and information and language system evaluation as well as projects on automatic summarising, belief revision for information retrieval, video mail retrieval, and multimedia document retrieval, the last two in collaboration with the Engineering department.

As an influential figure on evaluation programmes, Karen Spärck Jones was also involved in setting the standards for a large proportion of the work in NLP.

She was recipient of a significant number of awards, including:

  • Gerard Salton Award (1988)
  • ASIS&T Award of Merit (2002)
  • ACL Lifetime Achievement Award (2004) 
  • BCS Lovelace Medal (2007)
  • ACM-AAAI Allen Newell Award (2007)

She died on 4 April 2007, and Computer Science lost one of it's most important heroes.

Tuesday, June 10, 2014

Why I think Ken Robinson is wrong about schools killing creativity.





Ken Robinson is a wonderful polemicist, and a fantastic speaker, but his points on creativity are highly debatable; if schools were killing creativity why is the so much creativity being generated by people who have gone through the school system? In both the artistic and problem-solving domains of creativity we have incredible examples of modern-day creativity.

He says we don't know what kinds of jobs there will be in 50 years time, and we may not, but chances are there still will be doctors, lawyers, accountants and street sweepers.

I disagree with his notion that creativity is as important as literacy, it really isn't.

Also I believe his view that we are educating to produce University Professors isn't true, it fails to recognize the wonderful work that so many highly creative teachers do, and it fails to understand that school is more than the classroom, there are sporting activities, and school plays, and all kinds of other non-classroom activities that help educate children (co-curricular activities), and in the case of third-level students, they are often learning to cook, clean and live by themselves.

In terms of the hierarchy in education, if we are ever going to find a cure for serious medical conditions, it's likely going to be achieved by people who studied a science, so there is a reason for this kind of hierarchy.

Finally my own reflection is that if there is anything that is killing creativity, it is rampant consumerism.

Thursday, June 5, 2014

What is the Point of a Four-Year Degree?


There has been a bit of talk in the media recently about the need for a four-year degree, and could it not be compressed down to a shorter period. This is a really interesting question and I think gets to the heart of the goal of an academic education. I believe an academic degree should focus on equipping the students with the ability to "learn how to learn" rather than just learning a collection of skills; focusing on developing them as a person rather than just giving that skills that will make them attractive to employers (which I think is reducing the student down to an economic commodity).

Let me put my cards on the table, I believe it is possible, but very undesirable, to deliver a degree course in a reduced format. I think such a reduced model would have an extremely significant detrimental impact on the students' understanding of the material, and reduce their ability to stay employed in their discipline of choice. And if you think this is me just trying to protect my summer holidays, this is what I do over the summer.

It is clear that such material could be presented in a compressed format, we are all familiar with training courses, so we know that the material can be delivered quickly, but we also know that a training course only teaches you a very specific set of skills, and generally doesn't give you time to reflect on those skills, nor do they typically contextualise that material with a body of theory and models that help the students understand WHY we do things in a certain way as well as HOW to do them. As a Computer Science lecturer this is very evident to me, I know that if I am teaching students a programming language, my two main goals are to teach them how to use the programming language (as per a training course), but also how to understand in general how programming languages work, and why we are doing things in a particular way, and this requires a lot of reflection on their behalf. Why do we do this? Because chances are there will be a new programming language invented by the time they get a job, and they need to understand the general principles, and well as the specifics. The same applies to Operating Systems, Software Methodologies, Testing Techniques, etc. In other words, the goal of an academic degree is to teach students to "learn how to learn" not to learn a bunch of specific skills. As well as learning the specific skills of their discipline the students are learning to future-proof their skillset to ensure that they have the opportunity to have a long-lasting career.The students are also learning vital softskills for their sustained careers, including things like teamwork, communication skills, ethics, and presentation skills, these take years to develop.

The students need four years to reflect on their discipline; to reflect on how different subjects on their course link together for them; to reflect on what kind of learner they are; to reflect on how they work in teams; to reflect on what subjects they like and don't, and from there to consider what kind of job they'd like within their discipline. Reducing the duration of a degree course would seem like a good cost-saving measure, but I believe it would be a short-term action that would result in disastrous long-term consequences. The students need time to think about what they are learning and need time to develop into the professionals, and people, we want them to become -  accomplished, independent thinkers.

More on this:

Monday, May 12, 2014

It's Very Difficult to Measure the Quality of a Programme


Measuring the quality of a programme is very tricky. Paddy Cosgrave, founder of The Dublin Web Summit has suggested that a degree from Trinity College Dublin has more value than an equivalent qualification from other Irish universitiesHe attempted to justify his statements on a blog posting where he suggests there might be cases where Trinity courses are not any better than others!

Normally I wouldn't comment on things like this, but given Mr. Cosgrave is a member of the Board of the HEA, and he picked such an incredibly insensitive (and morale-destroying) time as now, just when so many third-level students are heading into exams, I feel it's important to comment on this sort of claptrap.

Determining the quality of one course versus another is very complex, there are always subjective elements to measuring quality; Paddy Cosgrave suggested the following criteria on twitter for measure the quality of a programme:"faculty, facilities, funding, possible cohort effects, entrance requirements, hours of course etc"



  • The problem with using faculty, how are you measuring the staff members quality?
  • The problem with using facilities, how do you measure that, if you use a blunt metric like amount of money spent on facilities, that doesn't tell us if the money was well-spent.
  • The problem with using funding as a metric, in most cases "funding" as a criteria has a lot to do with research activity rather than teaching ability.
  • The problem with using "possible cohort effects" is the almost complete inability to measure this particular metric.
  • The problem with using "entrance requirements" is that if are looking at students moving from second-level where they may be doing lots of subjects they mightn't be interested in, to third-level where the are doing a topic of interest to them, it's difficult to predict which students will be more successful.
  • The problem with using "hours of the course" is that it's a blunt instrument, are more lectures and less self-study better, or less lectures and more self-study? etc.
In other words, what I'm saying is that these suggestions are very poor metrics, and they show that Mr. Cosgrave really hasn't thought about this at all, or hasn't done even elementary research. Why not consider real metrics like Constructive Alignment, and Horizontal and Vertical Alignment? What about considering the kinds of co-curricular activities supported by the institute?

It's important to recognise that similar degrees in different HEIs teach different content (and therefore often have different learning outcomes), but that doesn't mean one is better than the other or worse than the other, in third-level institutes around the country we are trying to create rounded learners, who are learning how to learn. This isn't like training courses where it's an exact like-with-like comparison, we want to have empowered students who are engaging in self-study (particularly in their final year); and because of these issues there will be a significant disparity from student to student even within the same third-level programme.

His argument about "Grade Inflation" is ludicrous, he incorrectly states that TCD has had less of an increase in First Class honours that all the other universities, it hasn't. There are a lots of reasons why students are getting more Firsts in the last decade; the wider diversity of students in classrooms (particularly the often highly-motivated international students), the wider availability of useful online resources for students to help them learn, the increase in the number of lecturers with educational training as well as discipline expertise, the increased number (and more diverse range) of courses available in all third-level institutes.

On twitter Paddy Cosgrave mentioned that he would prefer to hire a computer science student from MIT than the 5000th ranked higher education institute (here and here), I will note that the criteria for ranking third-level institutes is based almost exclusively on research output of these institutes and has very little (or nothing in some cases) to do with the quality or their programmes or the quality of the teaching on those programmes.

A lack of understanding of statistics is evident in Paddy Cosgrave's statements that he is using the Undergraduate Awards as a metric for college courses. He needs for consider issues such as:

  1. How can you measure the quality of all of the universities on the basis of a couple of hundred students out of over 10,000 enrolled students? it's so statistically insignificant it's shocking.
  2. How many people from each institute entered the undergraduate awards, the distribution of the results of the UA might just reflect the distribution of entrants?
  3. What are the judging criteria for the UA? They are a mixture of highly behaviourist categories combined with highly subjective categories
  4. Is the data normally or near-normally distributed?
  5. Why just consider the 2011 awards (when I can say for certain it was under-prompted in IoTs compared to universities that year)?

He also seems to have no idea of the purpose of the NQAI Framework:

or the purpose of Learning Outcomes:

Learning outcomes are not easy in Computer Science, the ever-changing face of these courses (a course that was high quality last year might be out of date this year, things are changing rapidly in the this domain; look at things like Cloud, Apps, Exadata, etc.). So just looking at the outcomes on programmes based on grades is highly tricky.

See also