Tag Archives: Computer Science

A personal view on Informatics in Digital Humanities degrees

In December, I was invited to talk at the International Conference on Programming in Digital Humanities, an online event dedicated to learning and using programming languages to manage and handle data by students in Digital Humanities (DH) degrees. My speech (slides available on Zenodo) reflected my personal experience in teaching Computer Science topics – particularly Computational Thinking and Programming – to students enrolled in the second-cycle International degree on Digital Humanities and Digital Knowledge (DHDK) at the University of Bologna.

In this post, I would like to focus on a particular passage of the conference, which the following question can summarise:

Are students with a background in the Humanities able to learn the basics of Informatics?

Long story short: yes, they are. You could stop reading here if you are not interested in the backings of such a claim. Otherwise, see you in the following sections.

Informatics at DHDK

The international degree programme in Digital Humanities and Digital Knowledge (DHDK) offers a cross-disciplinary curriculum designed to foster close connections between humanities studies (from which DHDK students usually come) and the sciences of representation and processing of information and knowledge. It is organised in three macro-areas of learning, namely (a) Computer Science, (b) literary, linguistic, historical/cultural and related to the arts in the digital context, and (c) complementary disciplines such as economy, law and communication.

The area focussing on Computer Science topics is prevalent, particularly during the first year of the degree. Indeed, the very first course of the degree is Computational Thinking and Programming (taught by me), which aims at introducing essential and practical aspects of Informatics – namely algorithms, data structures, and algorithmic techniques – to students with a Humanities bachelor with no prior knowledge about them.

DH students and their fears

Often, students approach my course (or similar ones) with a misconception – or an honest prejudice – that I call the Big Fear of Informatics. Indeed, they often claim that abstraction, algorithms, formal notations, programming languages, and other basic Informatics notions are unmanageable by students with a Humanities background: “you know, I was not good at mathematics in the high school; thus I won’t be good at Informatics either – indeed, I hate my computer, and it peacefully hates me in return”.

Person 1, referring to a computer: "You know this metal rectangle full of little lights?" Person 2: "Yeah." Person 1: "I spend most of my life pressing buttons to make the pattern of lights change however I want." Person 2: "Sounds good." Person 1: "But today, the pattern of lights is all wrong!" Person 2: "Oh god! Try pressing more buttons!" Person 1: "It's not helping."
Figure 1. “Computer Problems” from XKCD, https://xkcd.com/722/.

Luckily, students’ perception of Informatics changes when I highlight a few things. First, I show how several of the notions introduced in the course have been already learned and digested in our prior experience. It is only a matter of identifying them again to reuse them consciously. For instance, the way the text of a book is organised follows a precise hierarchical structure (a book is made of chapters, each chapter is made of paragraphs, each paragraph is made of text) which is abstracted by the tree data structure; the way people are served at the post office is compliant with precise rules of engagement recalling the first in, first out strategy which is typical of the queue data structure; the infinity mirror configuration recalls the concept of recursion, etc.

Second, we have a growth mindset – thanks, Carol Dweck, for your mind-changing work on mindsets. Metaphorically speaking, intelligence is a muscle, and it can be developed. Thus, yes: we can learn anything if we truly want to, including the “unreachable” Computer Science topics, despite what others (or ourselves) say.

Third, a programming language is a language. Indeed, differently from natural languages such as Italian and English, a programming language is formal since its syntax follows a specific set of (mathematical) rules. But, still, it continues to be a language. To properly handle any new natural language, we need time and practice. Trying, making mistakes, correcting misuses, talking with others who are more fluent than us in that language are all critical activities to learn it properly. Programming languages are no exception. We should always remind ourselves that we cannot expect to fully master a new programming language after only a 30 hours course – as well as we are not able to master a foreign language we do not know after having it introduced in a few classes.

Finally, the fact that, despite what one may believe, concepts such as abstraction, trial-and-error learning, prior experience, deriving general principles from situations are skills that we always use in everyday life, often unconsciously. Starting the course with simple thinking experiments – big thanks goes to Edward De Bono and his lessons on thinking – is an excellent approach to make students conscious of their existing skills in applying these concepts in real-case scenarios – despite their background.

Concerns from the audience

While I am always ready to address students’ scepticism about Informatics when I start my course, honestly, I was not prepared to demist similar concerns raised by colleagues. After my presentation at the conference, during the question answering session, someone from the audience asked me if, considering students’ background in Humanities studies and the related intrinsic difficulties they have in learning pure Computer Science topics (the Big Fear of Informatics strikes again!), it could be better to focus on and teach them only the tools for doing automatic computations (such as LibreOffice Calc and the Voyant Tools) instead of introducing all the theoretical background which is behind such tools. I want to discuss this aspect by presenting a brief digression.

Let us ask someone in a non-English country such as Italy, who knows only its mother tongue, to write a novel in English. To facilitate the writing, we provide some useful and necessary tools: a pen, a set of sheets of paper, and an Italian-English dictionary. Before asking to start writing, we explain to our guy how these tools work and how they can be used. What do you expect will it be the quality of the novel in the end?

Indeed, learning how to use such tools without having appropriate and informative knowledge about the theoretical groundings to address the activity of writing a novel – that are both language-oriented (knowledge of the English language, its syntax and grammar, appropriate ways to express concepts in English, etc.) and goal-oriented (organisation of the plot, approaches to make a story interesting for the reader, proper use of flashbacks and flashforwards, etc.) – do not prevent someone from writing a novel per se. However, it will make the activity surely more challenging to address.

Informatics as a foundation for the DH

Introducing useful digital and computational tools to students in Digital Humanities without presenting, in advance, the theoretical backgrounds behind them means to oblige such students to work without having complete control of what they can do and how they can act – similarly to someone who drives a car without knowing traffic laws and signs. For digital humanists, learning the basics of Informatics is crucial for fulfilling their digital competencies and putting them at the service of studies in the Humanities.

Even when sceptical and worried at the beginning, the students attending my course reported excellent positive feedback about the topics addressed, particularly in terms of career perspectives. Indeed, I try to offer these students yet another way of thinking that characterises Informatics as a discipline. Complementing such a “new” way of thinking with the critical thinking learnt and enforced by the Humanities makes digital humanists the natural proxies to successfully bridge the Humanities and Digital worlds.

A postscriptum

Since I’ve mentioned it a few times in this post, all the material of my course, including the textbook used, are freely available online and are released with permissive open access licenses to foster their reuse. The textbook and the additional material (including hundreds of exercises) can be downloaded at https://comp-think.github.io.

Open citations in Informatics: current status and lines of research

A few months ago, I was invited to have a talk at the European Computer Science Symposium on an aspect of my research I particularly care about, that of open citations. What I tried to address during the presentation concerned the current status of open citation availability in a particular domain, Informatics, by using two open datasets, i.e. DBLP for gathering bibliographic metadata about relevant publications and OpenCitations’ COCI for identifying citations where such publications are involved. This post briefly introduces the preliminaries and results obtained from the material used to prepare the talk.

Open citations and where to find them

A citation is a conceptual directional link between a citing entity and a cited entity which is defined by means of specific textual devices contained in the text of the citing entity, e.g. a bibliographic reference denoted by an in-text reference pointer (e.g. “[3]” or “(Doe et al, 2021)”). While reasons for citing may vary, citations are used in academia for acknowledging others’ work and enabling building trails of relations defining how science evolves in time.

The data needed to describe a citation should include, at least, a representation of such a conceptual link and the basic bibliographic metadata to identify the citing and cited entities, i.e. those typically used for defining bibliographic references such as authors’ names, year of publication, the title of the work, venue of publication, pages, identifiers, etc. We say that a citation is open when these citation data are in the public domain and can be retrieved freely (via the HTTP protocol) in a structured and machine-readable format (e.g. JSON or RDF) without accessing the source of citing article defining it, which, potentially, could be behind a paywall.

OpenCitations [full disclosure: I am one of its directors] is one of the founders of the Initiative for Open Citations (I4OC) and one of the open scholarly infrastructures providing open citation data through several channels (REST APIs, SPARQL endpoints, Web interfaces, full dumps in different formats). As of 31 December 2021, it makes available more than 1.2 billion open DOI-to-DOI citation links between more than 69.5 million bibliographic resources, which are mainly journal articles but also include books, book chapters, datasets, and other DOI-identified resources. The entities involved in such citations come from different domains, spanning from Medicine articles to Humanities publications, and have recently approached parity with those included in well-known proprietary services such as Web of Science and Scopus.

What about Informatics

Such a huge mass of open citations available enables us to analyse citation coverage in different scholarly disciplines, e.g. to understand which publishers contributed to the availability of open citation data in a discipline and to check what are the citation trails between different disciplines. However, to compute such citation coverage, we need to have some information that allows us to identify when a particular bibliographic resource involved in a citation belongs to the particular discipline we want to analyse. We can use information about the subject categories of publications (e.g. that of Web of Science), if included in citation indexes, to identify the discipline(s) of a given bibliographic resource. Unluckily, OpenCitations does not provide this information and, as such, we need to rely on external repositories for gathering subject categories of publications, e.g. collections of bibliographic metadata of disciplinary publications.

In the context of Informatics, there is at least one well-known resource gathering and exposing bibliographic metadata of a large part of Computer Science publications, i.e. DBLP. As of 30 December 2021, DBLP contains more than 5.9 million publications published in 1,781 journals and in the proceedings of 5,621 conferences, involving more than 2.9 million authors that are manually curated (and disambiguated) by the DBLP team.

DBLP can be used as a proxy to understand if a particular publication belongs to the Computer Science subject category. Through it, it is possible to understand how many citations in OpenCitations involve Computer Science publications by comparing the DOIs of citing and cited entities with those available in DBLP. In particular, using the OpenCitations’ COCI September 2021 dump and DBLP October dump, I found that more than 80 million citations in COCI involved at least one of the 4,637,865 entities in DBLP (considering only journal articles, conference proceedings papers, books and book chapters). As shown in Figure 1, only 39% of these citations are between citing and cited entities both included in DBLP, while the rest of them either come from or go to publications not listed in DBLP – that, potentially, could not be Computer Science publications.

Figure 1. A Venn diagram showing how many citations involving Computer Science publications (obtained from DBLP) are included in OpenCitations.

Additional information about the publishers of such DBLP entities, retrieved by querying the Crossref API and the DataCite API with entities’ DOIs, are shown in Table 1. IEEE is the publisher with the biggest number of entities of those considered for this study, and its entities are involved in more than 18.9 million incoming and 21.5 million outgoing citations. The other bigger publishers, in terms of entities and citations, are Springer, Elsevier, ACM and Wiley. It is worth mentioning that the two publishers responsible for publishing mainly Computer Science journals and a relatively low number of conference proceedings (if any), i.e. Elsevier and Wiley, are those providing the highest number of openly-available references per publication (on average, around 29 and 37 cited works for each publication respectively).

PublisherDBLP entitiesCOCI incoming citationsCOCI outgoing citations
IEEE1,730,48518,930,05521,582,093
Springer1,012,53418,482,13211,179,566
Elsevier574,86015,536,20717,019,716
ACM433,1883,695,2556,050,342
Wiley89,6623,350,1833,357,065
Table 1. The DBLP entities retrieved in the study grouped by their publisher and their incoming and outgoing citations according to COCI.

Future developments

Of course, this study does not provide full coverage of open citations in Computer Science but just a preliminary insight. First, as anticipated below, DBLP does not have the complete coverage of all CS-related publications since there are some venues that are not listed there (yet). Thus, some relevant open citations could not be extracted from COCI if these involve as citing and cited entity non-DBLP publications that belong to the CS domain. However, it is worth mentioning that no bibliographic and citation database (including commercial and proprietary ones) has a full disciplinary coverage anyway and DBLP is, probably, the most comprehensive collection of Computer Science publications metadata (something that could be assessed in future analysis).

Along the same lines, the index of open citations used, i.e. COCI, does not contain all the citations defined in CS publications, but only DOI-to-DOI citations as retrievable from Crossref data. Although Crossref is the biggest DOI provider and it is used by the majority of the big publishers,citations defined in publications with a non-Crossref DOI (e.g. DataCite) and those not having any DOI assigned (e.g. the papers published in CEUR Workshop Proceedings) are not included in COCI and, consequently, have not been used in the analysis. However, OpenCitations plans to extend its data coverage adding more sources in the next years. Thus, it would be interesting to replicate the same analysis in the future to see if and how much the coverage increase, at least in the context of Computer Science publications.

Still about coverage, currently (i.e. 31 December 2021) the only publisher of those included in Table 1 which is not providing open references through Crossref is IEEE. Indeed, while COCI includes several citations involving IEEE publications as citing entities, there is no availability of such citation after October 2018, when IEEE decided not to allow anymore Crossref Metadata Plus users to access these reference data.

Finally, analysing the preliminary results of this study, it would be interesting to understand which are the main subject categories of non-DBLP publications included in the 61% of citations shown in Figure 1 (e.g. by using the Scimago Journal and Country Rank database to retrieve their subject categories) to understand what are the citation dynamics between Informatics and other disciplines. However, I will leave the answer to this question to future analysis.

A final remark on reproducibility

Since several of the suggestions provided above start from the idea of either replicating or extending this study with additional materials and insights, it is important that all data and software used to perform the analysis are available online to permit its reproducibility. To this end, I have published both the software and the data retrieved online with open licenses to enable anyone to reuse it freely for any purpose.