From STEM to STS

I’ll be teaching Julia this semester to introduce computational thinking for undergrad students of Library and Information Science (LIS) in the Department of Information Science of Javeriana University and this post is documenting the context, approach, rationale and some materials in a similar way to what has been done in the past for other courses using Julia.

For many of my undergrad students this will be their first introduction to computational thinking and as I said in my introductory message to this forum, I would like to bring a particular balance that bridge the contents of more traditional STEM (Science Technology Engineering and Mathematics) with the critical approaches of STS (Science and Technology Studies) from the trans/inter disciplinary point of view of information science.

I think this resonates with the two cultures talk given about Julia, but it’s trying to build a bigger bridge, not between two STEM cultures, but between the original Humanities (including Arts and Social Sciences) and the positive-analytical sciences and disciplines where Julia is already used.

We depart from treating technoscience as this neutral pursuit of truth and instead we share the STS acknowledgement of the mutual relationship and influence between technoscience and wider society, which means also to acknowledge that technoscience participates of power dynamics, geopolictics, funding resources and agendas, among other things.

This is reflected in many places, like the map of Julia Local Groups and its locations in the so called Global North, while the Global Majority is mostly absent:

In fact, I showed that map to my LIS undergrad students on last Thursday class and I told them that the work we are starting this semester will contribute to put a spot from Latin America on that map. Of course, as many maps, this one answers a particular question and other cartographies could showcase the wider nature of the Global Julia community (for example, the one of places, formal and informal, where Julia is practiced, that was the way we add to the map our local practices with Pharo not only in University, but in our local hackerspace, where they started).

Inspired by the STS perspective and our local experience, we depart too from the let’s start printing “hello world!” approach (which always disliked me as a first example, despite of being so naturalized by a niche tradition) and we start by contextual meaningful problems trying to avoid what George Wilson called in his talk the “tyranny of syntax”

Our critical approach to Computational Archival Sciences (another CAS, but not like in Computer Algebra Systems), resonates with other practices for teaching CAS in LIS, but has a different genealogy, based on our local hacktivist practices and their bridge with university researches and courses. We also try to start from real world problems, but not global ones, as climate change (despite being grateful that this problem is being addressed and taught with Julia), and instead we approach local ones (which are typically unseen and unattended in broader global narratives), as we did in “Amanecer la palabra”, our research work for linguistic revitalizing of indigenous languages for 4 communities in Colombian Amazonas, where we deployed, intervened and understood digital infrastructures for memory to attend (part of) the needs of grassroots communities. In this particular case, we co-created this wiki, with people in the local communities:

and its data narrative made in our flexible tool Grafoscopio, running/build over Pharo/GToolkit

I would like undergrad LIS students to develop the computational skills to be able also to do something similar for other communities and organizations and to tackle important contextual problems locally or elsewhere via computational thinking. So, following the strategy we developed with our hacktivist/academic practices, we are going to deploy and intervene agile/light digital infrastructures for memory (HedgeDoc, Hypothesis, TiddlyWiki, Fossil SCM) and to connect and enhance them using Julia/Pluto this time instead of Grafoscopio/Pharo.

We use the same critical perspective to approach AI (or Apparent Intelligence, as I like to call it), presenting a counter narrative to the “revolutionary tech (bro)” discourse, showcasing how it is based on extractivist expropriation and exploitation of human labor and natural resources, particularly from the Global Majority (including rare earths) to enrich few ones, particularly from the Global North.

And we show how critical voices from academics and activist have been systematically ignored in this new attempt of a self fulfilling prophesy of “AI first everything”.

BTW, this is way I asked how to disable AI in Pluto and why this is a worrying default for an educational tool when academics have expressed concerns about the uncritical adoption of AI in academia. It’s also a good example of the inbrincation of technoscience and society in a particular community, showcasing how, where and when decisions are taken for others via enabled defaults (I don’t remember the source, but its estimated that 90% of people don’t change their software defaults) and surely we are going to point to this forum and the respective GitHub Issue thread to examine this with our students, if time permits. With the time, we plan to deconstruct other Julia/Pluto defaults, like its integration with GitHub for hosting packages and hopefully adding Fossil to the mix.

This is the panoramic view of how we plan to introduce Julia from a STS perspective, starting this semester, mostly with my undergrad students (and some doctoral ones). And this is the context from where some more particular technical and more detailed questions/requirements will arrive, from changing AI defaults, to Fossil instead of Git, Markdown parsing or Lua integrations.

I’m hopeful in using Julia and so far the first impressions from my undergrad and post-grad students and my colleges has been positive and with warming expectations. Thanks for making this start possible and again for Julia and its communities.

11 Likes

I think that this course can be of help to your students. index — Interactive Computational Thinking — MIT

1 Like

Thanks a lot. It is already in our bibliography and we may use some examples and videos from it, like the one I recently saw “First Taste of Abstraction With Arrays”, but maybe later.

I think that we already have deep technical intros with Julia for STEAM and my purpose is to create broad sociotechnical intros with Julia for STS in LIS, balancing Julia as a social construct in a place with people behind and its motivations, with its possibilities and frictions in other contexts and practices, and also, following our lessons with Pharo/Grafoscopio, how Julia/Pluto can be used to enhance our infrastructures for archival and memory, starting from the classroom, problem solving and computational thinking and having a little glimpse of its usage in the way computers represent meaning by using vectors and probabilities. With this in mind, is my draft for our computational practices so far is:

  1. We start by a short introduction to Markdown, using HedgeDoc and the Spanish version of Markdown Tutorial.

  2. We introduce hypertextual social annotation with Hypothesis and we use it to annotate a version of the “Information Sciences” Wikipedia and the Julia: The Goldilocks language articles.

  3. We made a non-technical presentation of AI with some of the historic criticisms to the Turing test and a glimpse/constrast of the Psycologims vs behaviorism schools of the mind and a little bit of history of the algorithm behind attention based models

  1. As a motivational example, we’ll use Julia to scrap all the HedgeDoc notes for the course and later, I plan to use it to connect with the JSON APIs for Hypothesis and Fossil to visualize how social annotation and commits in our course repository happened between learners this semester as it evolves.

  2. We’ll made the annotated reading of the Preface of “How to Design Programs” and its Systematic Program Design and from there I hope to port some my notes on data representation and manipulation in Pharo to Julia, switching from Pharo’s pure objects to Julia’s functional approach and I’ll let my students to explore the pretty good introductory Pluto notebooks, so they experience first hand how Julia represents and manipulates data.

  3. Once we get familiar with Julia and Pluto, we will retake the problem of getting data from APIs stated at the previous 4th point.

  4. If time permits, we will try to combine the chatbot project for Julia beginners with the port of my “Book of Bots” tutorial draft notes ported from Pharo to Julia.

So, it is an unconventional approach, and I hope that, as happened before with this course using Pharo/Grafoscopio, the Julia/Pluto powered infrastructure will evolve to make the experience more fluent and customized for our context, allowing us to have a better balance between technoscience and the social context where it is created and relocated and the computational thinking that allow us to participate in such process.

I’ll keep you posted on how this advances.

1 Like

Instead of taking my opinion on where China is located in the Global Majority / Global North division, and where rare earths are not only produced, but mainly controlled, and which countries participate in such geopolitics and how, I would suggest than you could form your own opinion by consulting this starting references:

https://sites.lsa.umich.edu/mje/2026/01/09/market-concentration-of-rare-earth-elements-chinas-dominance-and-the-global-response/

You could share with us your references to the “Middle Kingdom” so we can see from where you are reading its geopolitics, the places and people located there, and thus we can appreciate where your question is rooted. You may have a social sciences approach to the reading of such complex phenomena that is mostly unknown, as I have never heart of “Middle Kingdom” when reading social sciences literature about geopolitics of technology.

Let us know.

Thank you. No further questions on my side.

That’s easy - e.g. Wictionary and Wikipedia. It’s actually a calque from Chinese, where it is an old self-given name of the country.

Thanks for sharing with us your starting references, as, effectively, this allow us to locate the source of your confusion regarding China’s place in the “Middle Kingdom” and its relation with rare earths: you are trying to root your geopolitics in a pronunciation/language dictionary and advice it to others as their starting reference to understand your point of view.

This is why I would insist in having a minimal first engagement even with secondary/encyclopedic or introductory sources to form an initial pre-conceptualization that allows you more specific questions for more fruitful conversations (think in something similar to have a minimal code example to ask questions, even if the code is failing).

BTW, have you seen that JuliaCon has a place for Social Sciences and Humanities? I think that interactions on this very thread can be used to see how the welcoming attitude that is famous for the Julia community is deployed or not by different members of its community and may explain why most talks you find online are about Julia in STEM, while talks about Julia in STS, humanities and social sciences are still a minority (in fact, I have not seen one, so far). As we in LIS usually analyze discourse, social interaction/practice and infrastructures for archival and memory, this very thread could give us valuable insight about how to make Social Sciences and Humanities a more prominent part of the Julia community and the importance of bridging the gap between STEM and STS.

Yes, let’s not derail things here. We’re here to share how we teach, use, and work with Julia, not bicker over some (parenthetical!) geopolitical terms.

Thanks for sharing your course, @Offray! It does seem like it’d make for a great JuliaCon presentation if you’re able to travel to Germany this summer.

5 Likes

Thank you Matt for your timely intervention in this thread and your encouragement for further participation in upcoming events.

Regarding JuliaCon, hopefully I’ll attend on some of the upcoming years, showcasing its impact and alternative approach in social sciences, humanities and communication studies from the context of LIS in the undergrad and post-grad courses in our faculty and the workshops in our hackerspace. And hopefully I’ll meet in person members of the broader Julia community.