Half the struggle with digital knowledge is knowing what it’s for
By Jim R Tyson, on 10 April 2024
Sometimes I hear an announcement about an update or improvement to some technology or ‘app’ (as the youngsters say) that sounds exciting and eminently worth investigating. When I start sifting through Google results to find out more, I can spend a day or two sometimes working out what’s going on. That’s OK, it’s part of my job to do this and then, if what I’ve learned is useful, to find ways to communicate it to other people.
For example, Excel now allows users to create ad hoc and custom functions using lambda(). Now, if you are a computer scientist, mathematician, philosopher or linguist, you will probably have heard of the lambda calculus, an important mathematical invention of the twentieth century that influenced all those disciplines. It provided a way to formally characterise computation as function application and abstraction (roughly, don’t quote me on this – it was a long time ago). Now, even students of computer science may sometimes encounter the calculus and end up wondering ‘OK, but what’s it for?’
Well, one way to demonsrate its practical use is by introducing the world of the lambda() function in Excel: it allows you to formally define new Excel functions. I immediately spotted some uses for this.
Descriptive statistics for sub-populations
Excel provides all the most common and useful statistical calculations as basic functions such as count(), average(), var(), stdev() and for some functions there are conditional versions countif(), averageif(),which allow for subsetting your data. So, it might be that you have two columns of data, the first is some interesting measure (temperature? height? resting bpm?) and the second some characteristic such as ethnicity or gender.
It might be that you want to know what is the average resting heart rate (for example) of the male participants in your study. You can do this using averageif(): =averageif(B1:B100, “male”, C1:C100). Assuming that the sex data are in the range B1:B100 and the resting heart rate data are in C1:100. In fact, Excel has an averageifs() to help with cases with multiple selection criteria. So that’s good for data analysts using Excel because it’s a common analytical approach.
However, this only works for averageif(), countif(), maxif(), minif() – there is no conditional var(), stdev(), skew() or kurt(). Well, for variance and standard deviation, we can construct a pivot table to get the subpopulation analysis we want and that’s great. But occasionally (probably not that often) we want to calculate the skew in resting heart rate for all male participants, and maybe even the kurtosis. And here, after that long lead in, is where the lambda() function proves it’s worth. First, lets look at how we would caculate the kurtosis in some measure as a function of gender, using a combination of built-in Excel formulas: Given a data table where column A is the categorical (eg gender) variable and B is the measure of interest:
1 | A | B |
2 | 1 | 56 |
3 | 1 | 62 |
4 | 1 | 48 |
5 | 1 | 58 |
6 | 1 | 58 |
7 | 1 | 55 |
8 | 1 | 42 |
9 | 1 | 54 |
10 | 1 | 47 |
11 | 2 | 52 |
12 | 2 | 59 |
13 | 2 | 56 |
14 | 2 | 45 |
15 | 2 | 63 |
16 | 2 | 52 |
17 | 2 | 44 |
The formula we want is kurt(if(A1:A17=1,B1:B17))
So there are three parameters, the first is the range to which we apply the second (the selection criterion value (here, 1 = male)), the third is the range where the kurt() function will be applied. I tested this formula and it works fine, it’s just a bit clunky to use compared to the built-in averageif() etc. So, I decided to reconstruct it using the lambda() function, to produce my own kurtif() function. In an empty cell, we put the lambda expression:
=LAMBDA(a,n,b, KURT(IF(a = n, b)))
with the three parameters represented (arbitrarily) by a, n and b. A moments reflection and we see the relation between the lambda expression and our previous Excel formula. From a practical point of view, the lambda expression tells us where in the calculation to plug in the values a, n and b to get our result.
When you enter this expression in a blank cell and hit return you will see the warning message
#CALC! |
which is Excel recognising that the cell contains a lambda expression. The next step is to name the new function kurtif(). Copy the new lambda expression to the clipboard (highlight and control-c) then from the formula tab on the ribbon select and open the name manager. In the dialog that this opens press the new button; give kurtif as the name for the new function and then paste the lambda expression from the clipboard then OK and close the name manager dialog.
Now you can carry out the computation as:
=kurtif(A1:17,1,B1:B17)
which is simpler and has the advantage of looking very like averageif() and the other, similar functions.
A missing significance calculation in Excel
Excel has a very simple to use function that will calculate a correlation coefficient (R) from two arrays of data: =correl(Array1,Array2)
. It is a minor annoyance that this calculation doesn’t return a p value for R, allowing us to test the null hypothesis that the true correlation between Array1 and Array2 is zero. So, let’s assume that we have calculated r for two columns of data each and we know that n is just the count of one array, and the result is in cell H1 (for no particular reason).
Now, it’s a fairly simple trick to calculate a t value based on the correlation coefficient. The formula is
and since we have just calculated r, it is simple to calculate t with the formula (and put the result in H3):
=H1*(sqrt(count(Array1)-1))/sqrt(1*-H1^2)
The last (and for now separate) step is to find the significance for this t score with the two-tailed t distribution function with n-2 degrees of freedom
=t.dist.2t(H3, count(Array1)-2)
And there we have it. So, it would be useful to have a little helper function we could apply simply, to calculate t from r. Here is the lambda function code:
=LAMBDA(r,n,(r*SQRT(n-2))/SQRT(1-(r^2)))
and we can name it and use it as before. I named mine ‘convertRtoT’ and used it like this with the correlation coefficient in H1 and n = 30:
convertRtoT(H1,30)
So now we know what the lambda() function is for. The example is perhaps a little obscure, but the principle – that half the struggle with digital knowledge is knowing what it’s for – holds for far more mundane cases: I’ve been learning Power BI, and while there are simple answers – power BI is for visualisation – it’s only after I’ve been through a few hours of tutorials that I’m really understanding what it’s about.
Homework
If you want to check out the example calculations, please go ahead. I checked them all in Excel (and for the t to r conversion, I checked my result against R), but it’s always possible to make a bluder when copying and pasting. But finding and fixing errors is good practice. If you want more practice, then I would suggest creating a function skewif() that works like kurtif(), taking two arrays ( a score and a selection criterion) a gives the skewness for the cases selected by the criterion. Good luck.
(this blog post was supported by the music of Iannis Xenakis, “Six Chansons No 1, ca sent le musc”)
Up Up and Away! (guest post)
By Janina Dewitz, on 19 March 2024
The following is a guest post by Lucy Porte who is studying for an MSc in Health Informatics at UCL. In January, Lucy travelled all the way from Manchester to join us at #LearnHack in London. Here is her report:
Up Up and Away!
I had the best weekend recently at #LearnHack 7.0, sponsored by the UCL Centre for Engineering Education and hosted by the School of Management. A distance-learning student, I could not resist the temptation to do a research based hackathon from the centre of Canary Wharf and so headed down to London for the weekend. When we got to the 50th floor of One Canada Square, I knew my decision had payed off.
The themes this year were Generative AI and assessment and feedback, to tie into #LearnHack’s overall focus on innovation in a research and education setting. There were so many different parts of the event, from board game sessions to brainstorming workshops, pizza breaks to Brewdog pints, an evening seeing the winter lights display and even a competition to see who could make the best AI-generated artwork. This was all alongside the main activity, the creation of our #LearnHack artefacts, which we would get to present at the end of the three days.
Having only attended one hackathon before and being fairly out of my depth, I was quite apprehensive about this element. Luckily there was a range of amazing project topics to choose from, including game design, UX design, qualitative research pipelines, a tool to perform automated marking and a tool to summarise biomedical research papers. I really struggled with choosing one of these, and spent a lot of the first two days discussing projects with people and gathering ideas for implementation. In the end I chose the last project because it tied into my studies in Health Informatics.
Amy, Jenny and myself soon got to work creating a prototype for our idea. Thanks to Amy’s extensive background work, we were quickly able to focus on our objectives and train a ChatGPT to extract method steps from biomedical papers according to a framework we had found online. Because of ChatGPT’s learning capacity we could iteratively improve the tool to create better results and even evaluate its own performance. We were all very surprised to be granted first prize, which included $1000 of AWS tokens and UCL Changemakers funding to continue the project!
We are going to be presenting a poster about our idea at the BCSWomen Lovelace Colloquium in April, and can’t wait to see what comes out of the Changemakers funding, but will be sure to feed back! I honestly didn’t realise I could get so much out of one weekend with the Digital Education team, and would encourage everyone to subscribe to the #LearnHack mailing list, so you can be first in line for next year!
Lucy Porte
Initial release of Marks Transfer available on UCL Moodle!
By Kerry, on 18 March 2024
What is it?
A new UCL Moodle integration is now available to facilitate the transfer of marks from Moodle to Portico, aimed at improving the overall process. The marks transfer integration has been tested during two pilot phases and has received very positive feedback.
You can complete marks transfer for the following assessment scenarios:
- One Moodle assessment activity is linked to one assessment component in Portico
- One Moodle assessment activity is linked to multiple assessment components in Portico
Using the following Moodle assessment activity-types:
- Moodle Assignment
- Moodle Quiz
- Turnitin Assignment (single submission)
In addition, the following conditions must be met:
- A Portico enrolment block must be used to create a mapping with a Module Delivery to your Moodle course.
- An assessment component (or components) exists in Portico to map against.
- Assessment marks are numerical and 0-100.
- The assessment component(s) in Portico is compatible with SITS Marking Schemes and SITS Assessment Types.
- For exam assessments, the Portico assessment component is the exam room code EXAMMDLE.
The flowchart below provides a visual overview of when you can use this initial release of Marks Transfer.
How do I use it?
For guidance on how to use marks transfer, you can view our general overview, how to guide and FAQs.
There will also be demonstration and drop in support sessions: open to all to find out how to use the wizard / ask questions (note – you are welcome to “drop in” to these sessions with questions and do not need to stay for the whole duration). Please use the links below on the specified date / time to join the sessions (alternatively, if you would like to receive a calendar invitation to join one of these sessions, please email currentstudent@ucl.ac.uk specifying which session).
- Thursday 21 March 15.30-16.30: Marks Transfer demo and drop in session
- Monday 25 March 12.30-13.30: Marks Transfer demo and drop in session
What should I do if I require support?
Please review our detailed FAQs, if you cannot find your answer there, please use one of the following contact points:
- For any issues with using the marks transfer tool, please contact digi-ed@ucl.ac.uk
- For any issues with Portico data eg. incorrect assessment or student information, contact lifecycle@ucl.ac.uk
- Please provide any feedback about the Marks Transfer Wizard to your Faculty Champion.
What next?
Following this initial release, we will continue to develop the integration by adding further marking scenarios and functionality.
Current development priorities are:
- Grade Book items and categories including external LTI resources
- Handling of SoRAs, ECs and LSAs
- Turnitin Multipart Assignments
This is a very exciting development for assessment administration at UCL. We hope you find the new Moodle Marks Transfer integration beneficial!
Many thanks,
Digital Learning Environments and the Student Records Team
UCL Moodle theme update – Thursday 14th March
By Eliot Hoving, on 8 March 2024
The Digital Learning Environment team have made a number of changes to the UCL Moodle theme to improve the functionality, speed and accessibility of UCL Moodle for students and staff.
The planned update is scheduled for Thursday 14th March between midnight and 4am. There will be a small outage of 15 minutes during this time. The period is a very low usage period so should have minimal impact on students and staff.
A highlight of the key improvements are outlined below.
Course search
Each course now includes a content search in the course index menu (left hand menu on course pages). Students and staff can search by content name or activity type.
Left hand activity menus
Book, Lesson and Quiz menus no longer show on the right side of page where they can easily be hidden by students and lost. Instead they now appear on the left hand side which should improve the readability of the navigation menu.
Footer search
The search for courses and for UCL Moodle content (known in Moodle terminology as Global search) has been moved to the footer and is now available on every page.
Course breadcrumb improvements
The course breadcrumb will now appear fixed on the top of course pages and includes the course icon for easier navigation.
Additional changes:
- Course index menu (left hand menu on course pages) set to closed by default to avoid distracting students.
- Notifications redesign with links to view source of notification, images, and persistence of notifications (i.e. not disappearing once read).
- Messaging UI improvements.
- Footer user menu.
- Course section indentation on large screen to create visual hierarchy.
- Colour changes to course section toggles, expand / collapse all sections button, to create better emphasis.
- Back to top on all pages.
- Large tables (e.g. grading) fill full available screen width.
- Site admin links (those found most used in survey) moved to user menu.
Feedback or questions?
Please get in touch with the DLE team to provide feedback at digi-ed@ucl.ac.uk.
Develop your Digital Skills: Term 3 training courses and more
By Katy O Foster, on 7 March 2024
From training and support to helping you improve your digital capabilities, read below to find out what exciting opportunities Digital Skills Development can offer UCL staff and students in term 3.
Term 3 training courses
To book, follow the links below or find more information here: How to book a course on MyLearning.
Mastering Excel
General | ||||
30/04/2024 | 14.00 | 15.00 | DSD: In a Nutshell: Excel functions we should all know | Online |
28/05/2024 | 10.00 | 11.00 | DSD: In a Nutshell: Excel functions we should all know | Online |
28/05/2024 | 13:00 | 14:30 | DSD: Pivot tables in Excel – Workshop | Online |
29/05/2024 | 13:00 | 14:30 | DSD: VLookup in Excel – workshop | Online |
30/05/2024 | 13:00 | 14:30 | DSD: Charting with Excel | Online |
Excel Essential Skills Workshops | ||||
08/05/2024 | 14.00 | 15.00 | DSD: Excel Essential Skills – Workshop 1 (campus-based) | In-person |
22/05/2024 | 14.00 | 15.00 | DSD: Excel Essential Skills – Workshop 2 (campus-based) | In-person |
Data analysis and visualisation
Choosing the right software | ||||
16/05/2024 | 14:00 | 15:00 | DSD: Software for success: Winning with charts | Online |
R | ||||
24/04/2024 | 10.00 | 17.00 | DSD: An Introduction to R with Rstudio (campus-based) | In-person |
01/05/2024 | 14.00 | 17.00 | DSD: Data visualization in R with ggplot2 (campus-based) | In-person |
23/05/2024 | 10:00 | 17:00 | DSD: An Introduction to R with Rstudio (campus-based) | In-person |
06/06/2024 | 10:00 | 17:00 | DSD: An Introduction to R with Rstudio (campus-based) | In-person |
Stata | ||||
15/05/2024 | 10:00 | 17:00 | DSD: Getting started with Stata (campus-based) | In-person |
21/05/2024 | 14.00 | 16.00 | DSD: Scripting Stata Graphs | Online |
05/06/2024 | 14:00 | 17:00 | DSD: Scripting Stata’s Tables and Collections (Campus-based) | In-person |
Nvivo | ||||
09/05/2024 | 14.00 | 15.00 | DSD: In a Nutshell: Starting an Nvivo Project | Online |
Excel | ||||
30/05/2024 | 13:00 | 14:30 | DSD: Charting with Excel | Online |
Interaction and collaboration
General | ||||
30/04/2024 | 13.00 | 15.00 | DSD: Software for success: Survey tools | Online |
14/05/2024 | 10.00 | 11.00 | DSD: Mentimeter – improving feedback and interaction | Online |
REDCap | ||||
08/05/2024 | 13.00 | 14.00 | DSD: Introduction to REDCap for research | Online |
09/05/2024 | 12:00 | 13:00 | DSD: Data import and export in REDCap | Online |
09/05/2024 | 15.00 | 16.00 | DSD: Managing participants in REDCap | Online |
14/05/2024 | 12:00 | 13:00 | DSD: Options in designing consent forms in REDCap | Online |
14/05/2024 | 14.00 | 15.00 | DSD: Using conditions and filters in REDCap | Online |
21/05/2024 | 13.00 | 14.00 | DSD: Setting up User Rights and Data Access Groups in REDCap | Online |
Qualtrics | ||||
02/05/2024 | 13.00 | 14.00 | DSD: Qualtrics Tips and Tricks | Online |
Multimedia content: Creating and editing
Graphic design and photo editing | ||||
30/04/2024 | 10.00 | 11.00 | DSD: Design an impactful research poster using UCL templates | Online |
07/05/2024 | 14.00 | 15.00 | DSD: Basic image editing using free tools – demo | Online |
16/05/2024 | 10.00 | 11.00 | DSD: An introduction to free graphic design tools – Inkscape | Online |
21/05/2024 | 10.00 | 11.00 | DSD: Photo editing with Pixlr X – workshop | Online |
30/05/2024 | 10.00 | 11.00 | DSD: Creating infographics using free web based tools | Online |
Film and video | ||||
02/05/2024 | 10.00 | 11.00 | DSD: Make a short film using your iPhone | Online |
07/05/2024 | 10.00 | 11:00 | DSD: Planning and filming advice for a short film | Online |
23/05/2024 | 14:00 | 15:00 | DSD: Explore the potential of UCL Mediacentral | Online |
29/05/2024 | 10.00 | 11.00 | DSD: Best practice for video captions and transcripts | Online |
Podcasting | ||||
25/04/2024 | 10.00 | 11.00 | DSD: Podcasting made easy | Online |
Writing, presenting and referencing
Mentimeter | ||||
14/05/2024 | 10.00 | 11.00 | DSD: Mentimeter – improving feedback and interaction | Online |
Microsoft Office | ||||
23/04/2024 | 10.00 | 12.00 | DSD: Format your Thesis (Windows) – Manage long documents in Word | Online |
23/04/2024 | 14:00 | 15:00 | DSD: Creating accessible PowerPoint presentations | Online |
07/05/2024 | 13:00 | 14:00 | DSD: PowerPoint for Researchers and Presenters: Words, Images and More | Online |
08/05/2024 | 10:00 | 11:00 | DSD: Word Tips and Tricks | Online |
04/06/2024 | 14:00 | 16:00 | DSD: Format your Thesis (Windows) – Manage long documents in Word | Online |
Zotero | ||||
29/05/2024 | 14:00 | 17:00 | DSD: Kick-starting your literature review with Zotero (Campus-based) | In-person |
Accessibility and assistive technology
Social media | ||||
28/05/2024 | 14.00 | 15.00 | DSD: Creating accessible social media content | Online |
Film and video | ||||
29/05/2024 | 10.00 | 11.00 | DSD: Best practice for video captions and transcripts | Online |
Powerpoint | ||||
23/04/2024 | 14:00 | 15:00 | DSD: Creating accessible PowerPoint presentations | Online |
Programming
Git version control | ||||
04/06/2024 | 13.00 | 14.00 | DSD: In a Nutshell: Git version control | Online |
05/06/2024 | 10.00 | 13.00 | DSD: Dive into Git version control | Online |
Social Media
28/05/2024 | 14.00 | 15.00 | DSD: Creating accessible social media content | Online |
LinkedIn Learning
In addition to the above, UCL staff and enrolled students can access over 16,000 courses for free on LinkedIn Learning.
Join us for an online webinar to discover more about the benefits and features of LinkedIn Learning:
18/06/2024 | 13.00 | 14.00 | Discover LinkedIn Learning | Online |
Digital Skills Support: Office hours
To make them more widely accessible, our drop-ins have been changed to an office hours format, with slots available each day. If you have a question or would like individual support on a specific issue, book an appointment with one of our team: Digital Skills Development Office Hours
Upgrade your skills with the Discovery Tool
In partnership with Jisc, the Digital Skills Development team have put together a Discovery Tool to help UCL staff and students identify gaps in their knowledge and improve their skills. Use the self-assessment questions to start your journey towards better digital skills today: Discover your digital
Now with AI questions added for staff
The Jisc Discovery Tool now has a question set for staff on Digital skills in AI and Generative AI and a lot of new resources on AI skills have been added to the tool. Find out more in our blog post.
Contact us
For any questions on Digital Skills Development at UCL, email isd-digiskills@ucl.ac.uk
Starting up Stata with personalised options
By Jim R Tyson, on 4 March 2024
There are often things one can do to personalise and improve ones experience with software that involve some cusotmization, and that may be easy on your own machine, but less easy if your machine is managed by the organisation (in this case UCL). My Laptop is managed by UCL (although I do have some elevated rights).
In an effort to improve my Stata workflow and output, I have several graphing options that I want to apply to all graphis I produce in Stata. Typically, I want the Title left justified, in black, to take up the whole width of the graph (rather than the plot region) and to appear top left (at 11 o’clock). The graph region colour should be white with no axis lines for x or y axes and with no fill-colour or border colour.
To simplify this I put these in a global macro ‘graph_opts
‘ and add the macro to the start of any graphing command as $graph_opts
. Anyone who knows how lazy and inconsistent I am, will already be guessing that while I may aspire to do this, I more often just hack away at my graphs until they look (more or less) as I want. This is the worst kind of laziness because a little effort in setting this up would make for less work.
So I decided to investigate – could I automate this? And I can. At first, my heart sank slightly when I realised I would have to deal with the system paths on my managed machine, but it turned out to be very straight forward. You can use sysdir
on the stata console to find your stata program files folder. When you navigate to this folder, use dir *.do
to check for the presence of the file sysprofile.do
-this means you are in the right directory. Now, create a new do file called profile.do
Any code you add to this file is executed on Stata start up. Knowing that I added these lines to my own profile.do
(I used the Stata do file editor, but any plain text editor such as Windows Notepad would do as well):
// For -twoway- graphs
global graph_opts ///
title(, justification(left) color(black) span pos(11)) ///
graphregion(color(white)) ///
xscale(noline) xtit(,placement(left) justification(left)) ///
yscale(noline) ylab(,angle(0) nogrid) ///
legend(region(lc(none) fc(none)))
// For -graph- graphs
global graph_opts_1 ///
title(, justification(left) color(black) span pos(11)) ///
graphregion(color(white)) ///
yscale(noline) ylab(,angle(0) nogrid) ///
legend(region(lc(none) fc(none)))
Of course you will want to change these to meet your own preferences – which may mean a deep dive into the Stata documentation. It is however worth it given the time and effort you will save in hacking at graph code (or [shudder] gph files) to ensure that your graphs are all consistently presented in your reports.