O'Really?

May 22, 2023

Join us on Zoom to dive into online interactive textbook publishing on Monday 12th June at 2pm BST

CC licensed Scuba diver from flaticon.com

The textbook has long been a mainstay of education. Although online textbooks can give students easy (and sometimes free) access to increasingly interactive resources, authors have a bewildering array of tools and publishing models to select from. The likes of asciidoctor.orgbookdown.orgleanpub.compretextbook.orgquarto.orgrunestone.academyzybooks.com, and many others allow instructors to publish course material freed from the constraints of printed paper, monolithic Learning Management Systems (LMSs) and Massive Open Online Courses (MOOCs). Join us on Monday 12th of June at 2pm BST (UTC+1) to discuss a paper describing one example: Dive Into Systems an undergraduate textbook on computer systems. We’ll be joined by one of the co-authors of the paper [1] (and corresponding textbook) Suzanne MatthewsTia Newhall and Kevin C. Webb from the United States Military Academy at Westpoint, New York and Swarthmore College, Pennsylvania. From the abstract of their paper:

This paper presents our experiences, motivations, and goals for developing Dive into Systems, a new, free, online textbook that introduces computer systems, computer organisation, and parallel computing. Our book’s topic coverage is designed to give readers a gentle and broad introduction to these important topics. It teaches the fundamentals of computer systems and architecture, introduces skills for writing efficient programs, and provides necessary background to prepare students for advanced study in computer systems topics. Our book assumes only a CS1 background of the reader and is designed to be useful to a range of courses as a primary textbook for courses that introduce computer systems topics or as an auxiliary textbook to provide systems background in other courses. Results of an evaluation from students and faculty at 18 institutions who used a beta release of our book show overwhelmingly strong support for its coverage of computer systems topics, its readability, and its availability. Chapters are reviewed and edited by external volunteers from the CS education community. Their feedback, as well as that of student and faculty users, is continuously incorporated into its online content at diveintosystems.org/book

We’ll also be discussing options for adding interactivity to textbooks, see diveintosystems.org/sigcse23. All welcome, as usual, we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us

If there are any papers you’d like to discuss at future journal club meetings, you can nominate them at sigcse.cs.manchester.ac.uk/papers.

References

  1. Suzanne J. Matthews, Tia Newhall and Kevin C. Webb (2021) Dive into Systems: A Free, Online Textbook for Introducing Computer Systems SIGCSE ’21: Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, Pages 1110–1116 DOI: 10.1145/3408877.3432514

March 27, 2023

Join us to discuss using AI to solve simple programming problems on Monday 3rd April at 2pm BST

Filed under: sigcse — Duncan Hull @ 10:14 am
Tags: , ,
CC licensed pilot image from flaticon.com

Maybe you wrote that code and maybe you didn’t. If Artificial Intelligence helped you, such as the OpenAI Codex in GitHub Copilot, how did it solve your problem? How much did AI help or hinder your solution? Join us to discuss a paper by Michel Wermelinger from the Open University published in the SIGCSE technical symposium earlier this month in Toronto on this very topic. [1] We’ll be joined by Michel who will present a lightning talk to kick-off our discussion. Here’s the abstract of his paper:

The teaching and assessment of introductory programming involves writing code that solves a problem described by text. Previous research found that OpenAI’s Codex, a natural language machine learning model trained on billions of lines of code, performs well on many programming problems, often generating correct and readable Python code. GitHub’s version of Codex, Copilot, is freely available to students. This raises pedagogic and academic integrity concerns. Educators need to know what Copilot is capable of, in order to adapt their teaching to AI-powered programming assistants. Previous research evaluated the most performant Codex model quantitatively, e.g. how many problems have at least one correct suggestion that passes all tests. Here I evaluate Copilot instead, to see if and how it differs from Codex, and look qualitatively at the generated suggestions, to understand the limitations of Copilot. I also report on the experience of using Copilot for other activities asked of students in programming courses: explaining code, generating tests and fixing bugs. The paper concludes with a discussion of the implications of the observed capabilities for the teaching of programming.

All welcome, as usual we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Michel Wermelinger (2023) Using GitHub Copilot to Solve Simple Programming Problems in Proceedings of the 54th ACM Technical Symposium on Computer Science Education Pages SIGCSE 2023 page 172–178 DOI: 10.1145/3545945.3569830

February 13, 2023

Join us to discuss code comprehension on Monday 6th March at 2pm GMT

Filed under: sigcse — Duncan Hull @ 8:29 am
Tags: , ,
CC licensed puzzle image via flaticon.com

It’s all very well getting an AI to write your code for you but reading code and writing code is not the same as understanding code. So what is going on in novices brains when they learn to actually understand the code they are reading and writing? Join us on Monday 6th March at 2pm GMT to discuss a paper by Quintin Cutts and Maria Kallia from the University of Glasgow on this very topic [1], from the abstract:

An approach to code comprehension in an introductory programming class is presented, drawing on the Text Surface, Functional and Machine aspects of Schulte’s Block Model, and emphasising programming as a modelling activity involving problem and machine domains. To visually connect the domains and a program, a key diagram conceptualising the three aspects lies at the approach’s heart, alongside instructional exposition and exercises, which are all presented. Students find the approach challenging initially, but most recognise its value later, and identify, unexpectedly, the value of the approach for problem decomposition, planning and coding.

We’ll be joined by one of the co-authors (Quintin Cutts), who’ll give us a lightning talk summary of the paper to kick-off our journal club discussion.

All welcome, as usual we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Quintin Cutts and Maria Kallia (2023) Introducing Modelling and Code Comprehension from the First Days of an Introductory Programming Class in CEP ’23: Proceedings of 7th Conference on Computing Education Practice Pages 21–24 DOI:10.1145/3573260.3573266

November 29, 2022

Join us to discuss Computing in school in the UK & Ireland on Monday 5th December at 2pm GMT

Filed under: education — Duncan Hull @ 9:51 am
Tags: , , , , , ,

Computing is widely taught in schools in the UK and Ireland, but how does the subject vary across primary and secondary education in Scotland, England, Wales and Ireland? Join us to discuss via a paper published at UKICER.com by Sue Sentance, Diana Kirby, Keith Quille, Elizabeth Cole, Tom Crick and Nicola Looker. [1] From the abstract:

Many countries have increased their focus on computing in primary and secondary education in recent years and the UK and Ireland are no exception. The four nations of the UK have distinct and separate education systems, with England, Scotland, Wales, and Northern Ireland offering different national curricula, qualifications, and teacher education opportunities; this is the same for the Republic of Ireland. This paper describes computing education in these five jurisdictions and reports on the results of a survey conducted with computing teachers. A validated instrument was localised and used for this study, with 512 completed responses received from teachers across all five countries The results demonstrate distinct differences in the experiences of the computing teachers surveyed that align with the policy and provision for computing education in the UK and Ireland. This paper increases our understanding of the differences in computing education provision in schools across the UK and Ireland, and will be relevant to all those working to understand policy around computing education in school.

(we’ll be joined by the co-authors of the paper: Sue Sentance and Diana Kirby from the University of Cambridge and the Raspberry Pi Foundation with a lightning talk summary to start our discussion)

All welcome, as usual we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us. Thanks to Joseph Maguire at the University of Glasgow for proposing this months paper.

References

  1. Sue Sentance, Diana Kirby, Keith Quille, Elizabeth Cole, Tom Crick and Nicola Looker (2022) Computing in School in the UK & Ireland: A Comparative Study UKICER ’22: Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research 5 pp 1–7 DOI: 10.1145/3555009.3555015

November 3, 2022

Join us to discuss novice use of Java on Monday 7th November at 2pm GMT

Java is widely used as a teaching language in Universities around the world, but what wider problems does it present for novice programmers? Join us to discuss via a paper published in TOCE by Neil Brown, Pierre Weill-Tessier, Maksymilian Sekula, Alexandra-Lucia Costache and Michael Kölling. [1] From the abstract:

Objectives: Java is a popular programming language for use in computing education, but it is difficult to get a wide picture of the issues that it presents for novices, and most studies look only at the types or frequency of errors. In this observational study we aim to learn how novices use different features of the Java language. Participants: Users of the BlueJ development environment have been invited to opt-in to anonymously record their activity data for the past eight years. This dataset is called Blackbox, which was used as the basis for this study. BlueJ users are mostly novice programmers, predominantly male, with a median age of 16. Our data subset featured approximately 225,000 participants from around the world. Study Methods: We performed a secondary data analysis that used data from the Blackbox dataset. We examined over 320,000 Java projects collected over the course of eight years, and used source code analysis to investigate the prevalence of various specifically-selected Java programming usage patterns. As this was an observational study without specific hypotheses, we did not use significance tests; instead we present the results themselves with commentary, having applied seasonal trend decomposition to the data. Findings: We found many long-term trends in the data over the course of the eight years, most of which were monotonic. There was a notable reduction in the use of the main method (common in Java but unnecessary in BlueJ), and a general reduction in the complexity of the projects. We find that there are only a small number of frequently used types: int, String, double and boolean, but also a wide range of other infrequently used types. Conclusions: We find that programming usage patterns gradually change over a long period of time (a period where the Java language was not seeing major changes), once seasonal patterns are accounted for. Any changes are likely driven by instructors and the changing demographics of programming novices. The novices use a relatively restricted subset of Java, which implies that designers of languages specifically targeted at novices can satisfy their needs with a smaller set of language constructs and features. We provide detailed recommendations for the designers of educational programming languages and supporting development tools.

All welcome, as usual we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Neil C. C. Brown, Pierre Weill-Tessier, Maksymilian Sekula, Alexandra-Lucia Costache and Michael Kölling (2022) Novice use of the Java programming language ACM Transactions on Computing Education DOI:10.1145/3551393

November 1, 2022

The wildness and freedom of using natural language with joy and pleasure

Filed under: education,engineering,mathematics,Science — Duncan Hull @ 9:32 am
Tags: , , , ,
Public domain portrait of Stephen Fry by the US Embassy in London on Wikimedia Commons w.wiki/4wrn

It’s easy to undervalue the importance of natural languages like English because we use them everyday. Scientists and engineers can be particularly bad at this, often overlooking the importance of written and spoken language. It probably doesn’t help that in the UK, and many other countries, many students choose either an exclusively scientific-mathematical path OR an arty-humanities path through their education, especially in the latter stages. This means that the two cultures of humanities and science are thriving, but still living in separate houses like an estranged and bickering couple. In the worst case scenario, two cultures in society produces graduate scientists and engineers with weaker communication and literacy, and articulate humanities graduates with weaker technical & numeracy skills.

Over on BBC4, Alan Yentob is having conversations with prominent artistes. [1] The first episode in the series is with writer, presenter, comedian and actor Stephen Fry. As a self-confessed Fry-fanboi, I enjoyed his description of the joy of using language:

YENTOB: Why do you need all that stuff?

FRY: I think what underlies 90%, if not more, is language, is a real profound love and excitement at the process of putting one word after another and what happens when you do it.

Not just the meanings that are conveyed and the moods you can create with language, but even the text of it, the tip of the tongue hitting the back of the teeth, the rhythm, the swing, the swoop, the flow, the joy, the sound and sex of language. People have that with music. We all have it with music. Music is often described as being beyond language, and indeed it is and I’m the first to say how profound I think music is.

But everybody has language, and yet almost nobody has such a realisation of what a beautiful thing it can be. I mean one of the thrills that’s happened in music in the last 20 or so years, I suppose, is rap and hip-hop and poetry slamming and things like that because then it’s taken away from the normal people who are people like me, who, as it were, have an educated sense of language and its returned to where language belongs.

And so the wildness and freedom of using language with joy and pleasure and realising we’re all the equivalent of grade eight musicians, or painters, only with language.

References

  1. Janet Lee and David Shulman (2022) In Conversation with Alan Yentob: Stephen Fry bbc.co.uk/programmes/m001dh8p

September 19, 2022

Mind the gap at the end of the Elizabethan line

Elizabeth Line roundel by Transport for London via Wikimedia Commons w.wiki/5iib

So we’ve finally reached the end of the Elizabethan line. Not the the CrossRail route that straddles London but the seventy year reign of Elizabeth II from 1952 to 2022. Like many, I have mixed feelings about our monarch and monarchy but the history of the last seventy years should fascinate republicans, royalists and anarchists alike. So here are some historical facts about the start of the Elizabethan line for your amusement:

  • 🇬🇧 In 1952 Princess Elizabeth Alexandra Mary of York became Queen Elizabeth II en.wikipedia.org/wiki/Elizabeth_II
  • 🇪🇺 In 1952 The European Economic Community (EEC), precursor to the European Union (EU), did not exist. That came five years later in 1957, see en.wikipedia.org/wiki/European_Economic_Community
  • 🏳️‍🌈 In 1952 Alan Turing was working on two new areas of research he’d recently pioneered called “Computer Science” and “Artificial Intelligence” (AI). The very same year Turing was prosecuted for being homosexual which was shamefully labelled “gross indecency” and illegal at that time. He tragically committed suicide two years later in 1954 after being chemically castrated by the government of the UK. Her Majesty’s Government was led at the time by some bloke called Winston Churchill, see en.wikipedia.org/wiki/Gross_indecency
  • 🇺🇸 In 1952 The England National Football Team were recovering from their debut appearance in a FIFA World Cup two years previously. In a pattern that is now familiar, England failed to make it through to the final stages of the 1950 tournament in Brazil after beating Chile but losing to both Spain and the United States, see en.wikipedia.org/wiki/United_States_v_England_(1950_FIFA_World_Cup)
  • 🎼 In 1952 Alan Turing and Christopher Strachey had recently finished experimenting with creating the worlds first computer generated music, to accompany the worlds first computer game (draughts aka checkers), you can listen to the music they made (a tune you may have heard of called God Save The King) on a Ferranti Mark I computer in Manchester at blogs.bl.uk/sound-and-vision/2016/09/restoring-the-first-recording-of-computer-music.html
  • ⚛ In 1952, Geneva was selected as the site for the Organisation Européenne pour la Recherche Nucléaire (CERN), the vast network of underground tunnels and machines that can be found there now were just an idea seventy years ago see home.cern/about/who-we-are/our-history

It’s easy to view the events of the 1950s as ancient history and evidence of how far we have travelled down the Elizabethan line. However in 1952, when Elizabeth was 26 years old, her son Charles was 4 years old, Alan Turing was 40 and Winston Churchill was 78. So the history is not that ancient, especially if you’re an octogenarian or a nonagenarian.

Yes it is a long time ago, but it is almost within living memory. Almost.

Mind the Gaps

What a remarkable seventy years of history, so much has happened in a relatively short period of time. At the end of the journey, it feels like there’s a big gap at the end of the Elizabethan line as we search for our connection and onward destination. Not just one gap but lots of gaps:

  • The gaps between wealthy elites and everybody else
  • The gaps between those educated privately (including the royal family) and the other 93%
  • The gaps between London at the rest of the United Kingdom
  • The gaps between the UK and the rest of the world
  • The gaps between expectations and reality
  • The gaps between historical memories and the present day
  • The gaps between the Elizabethan line and the Carolean line

I wonder where we will be after another gap of seventy years, if the human race is here at all in the year 2092?

As the station announcers often warn as you disembark on the London Underground, mind the gap.

July 28, 2022

What’s your story, coding glory?

Filed under: engineering — Duncan Hull @ 11:21 am
Tags: , , , , ,
Congratulations to all this years graduates!

Last week we celebrated graduation, its been the first proper graduation since before the pandemic. A lot proverbial water has passed very quickly under our proverbial bridge since this years graduates starting studying back in 2018/19. What obstacles have they faced during their study and placements and how have they overcome them? Where are they going next? What’s their story? I interviewed five of this years graduands and previous years graduates to find out. Hear from some of our students including:

  • Sneha Kandane, she’s returning Matillion where she did her industrial placement cdyf.me/sneha
  • Carmen who did an internship at McKinsey and a placement at The Walt Disney Company cdyf.me/carmen
  • Brian Yim Tam who did a placement at Disney Streaming here in Manchester cdyf.me/brian
  • Raluca Cruceru who did a placement at CERN where she now works as a software engineer cdyf.me/raluca
  • Jason Ozuzu who did a placement at Morgan Stanley, an internship at FitBit and is joining Google in London cdyf.me/jason

Listen online at Coding your Future or subscribe wherever you get your podcasts cdyf.me/hearing#subscribing

Congratulations to all this years graduates, it was lovely to celebrate your achievements despite the considerable challenges you’ve faced during the last three of four years. Thanks to Sneha, Carmen, Brian, Raluca and Jason for sharing your stories too.

July 4, 2022

Join us to discuss the implications of the Open AI codex on introductory programming Monday 4th July at 2pm BST

Automatic code generators have been with us a while, but how do modern AI powered bots perform on introductory programming assignments? Join us to discuss the implications of the OpenAI Codex on introductory programming courses on Monday 4th July at 2pm BST. We’ll be discussing a paper by James Finnie-Ansley, Paul Denny, Brett A. Becker, Andrew Luxton-Reilly and James Prather [1] for our monthly SIGCSE journal club meetup on zoom. Here is the abstract:

Recent advances in artificial intelligence have been driven by an exponential growth in digitised data. Natural language processing, in particular, has been transformed by machine learning models such as OpenAI’s GPT-3 which generates human-like text so realistic that its developers have warned of the dangers of its misuse. In recent months OpenAI released Codex, a new deep learning model trained on Python code from more than 50 million GitHub repositories. Provided with a natural language description of a programming problem as input, Codex generates solution code as output. It can also explain (in English) input code, translate code between programming languages, and more. In this work, we explore how Codex performs on typical introductory programming problems. We report its performance on real questions taken from introductory programming exams and compare it to results from students who took these same exams under normal conditions, demonstrating that Codex outscores most students. We then explore how Codex handles subtle variations in problem wording using several published variants of the well-known “Rainfall Problem” along with one unpublished variant we have used in our teaching. We find the model passes many test cases for all variants. We also explore how much variation there is in the Codex generated solutions, observing that an identical input prompt frequently leads to very different solutions in terms of algorithmic approach and code length. Finally, we discuss the implications that such technology will have for computing education as it continues to evolve, including both challenges and opportunities. (see accompanying slides)

All welcome, details at sigcse.cs.manchester.ac.uk/join-us. Thanks to Jim Paterson at Glasgow Caledonian University for nominating this months paper.

References

  1. James Finnie-Ansley, Paul Denny, Brett A. Becker, Andrew Luxton-Reilly, James Prather (2022) The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming ACE ’22: Australasian Computing Education Conference Pages 10–19 DOI:10.1145/3511861.3511863

May 25, 2022

Join us to discuss teaching programming to Physics students on Monday 13th June at 2pm BST

Filed under: education — Duncan Hull @ 10:14 am
Tags:
CC BY-SA image of Bohr model of the atom by Jabberwock on Wikimedia Commons w.wiki/59id 

print(’Hello World!’) is all very well but it doesn’t help physics students solve the Schrödinger equation. Join us for our next journal club meeting on Monday 13th June at 2pm BST where we’ll be discussing a paper by Lloyd Cawthorne on teaching programming to undergraduate Physics students. From the abstract:

Computer programming is a key component of any physical science or engineering degree and is a skill sought by employers. Coding can be very appealing to these students as it is logical and another setting where they can solve problems. However, many students can often be reluctant to engage with the material as it might not interest them or they might not see how it applies to their wider study. Here, I present lessons I have learned and recommendations to increase participation in programming courses for students majoring in the physical sciences or engineering. The discussion and examples are taken from my second-year core undergraduate physics module, Introduction to Programming for Physicists, taught at The University of Manchester, UK. Teaching this course, I have developed successful solutions that can be applied to undergraduate STEM courses.

All welcome. As usual we’ll be meeting on zoom, details are in the slack channel sigcse.cs.manchester.ac.uk/join-us.

References

  1. Lloyd Cawthorne (2021) Invited viewpoint: teaching programming to students in physical sciences and engineering, Journal of Materials Science 56, pages 16183–16194 DOI:10.1007/s10853-021-06368-1
Next Page »

Blog at WordPress.com.