Contribute an exemplar to ReCoDE¶
Who can contribute¶
Doctoral or experienced master's students who are eligible to work as GTAs at Imperial. If you are a fellow or staff, please contact us directly.
What is a ReCoDE exemplar¶
Think back to when you were a new postgraduate student. You were embarking on your MSc, MRes or PhD studies that were going to involve the use of research computing and data science. Your undergraduate study programme included some programming and you may have taken a few extra courses here and there. At this point, it was also very unlikely that you had completed a larger programming project. You were about to embark on one as part of your degree - an undertaking that would involve synthesis of your programming, data science and general computing knowledge plus the fundamentals of good software engineering practice... and many other skills that you did not even know about.
Info
ReCoDE aims to bridge the gap between classroom education and tackling a large degree project with research computing components. ReCoDE exemplars are reasonably-sized end-to-end research computing or data science projects that contain programming code accompanied by a rich annotation for learning. The annotation explains common practices behind solving a particular task, decision-making broken into digestible steps, and good software engineering practices.
Think about what would have helped you when you were at this point of your learning trajectory!
Good exemplars¶
Topic¶
ReCoDE covers all disciplines that are taught at Imperial. Exemplars should be either centered around a method (deep learning, solving ODEs, implementing a mathematical mode etc.) or solving a problem (variant calling using single-cell sequencing or dataset analysis). Whatever it is, it should be something representative of a discipline - for example, it was taught during your undergraduate studies or it pops up in many postgraduate projects. Another way to think about this is to imagine a project that every new doctoral student in your lab should study before they start on their own.
We reserve the right to decide if your suggestion fits into what we are trying to accomplish with ReCoDE - a variety of representative projects and also a variety of programming languages and tools. Please have a look at the existing Exemplars to get inspired.
Size¶
We are looking for fairly concise projects. The code should not exceed several hundred lines. We have found out the hard way that creating a comprehensive annotation for a large project can get out of hand quickly. A new student should be able to get through the exemplar in one week - anything longer may be somewhat daunting and demotivating.
Essential elements of an exemplar¶
- code in a comprehensive GitHub repository
- annotation in markdown including:
- step-by-step explanations
- reasoning including good and bad decisions
- links to suitable external materials
- images/videos/storyboards... and anything creative
As a rule of thumb, working on the code is only half of the story. Work on the annotation should take at least 50% of the time.
Do not be afraid to be personal - this will make ReCoDE more relatable.
Terms of collaboration with RCDS¶
You will work as a GTA receiving the higher rate pay (£35.78/hour including holiday pay). The project has to be completed within 45 hours evenly spread over three months. You will have regular meetings with the RCDS staff (who will oversee the overall progress and learning annotation) and research software engineers (RSEs - who will oversee the technical quality of the code). The software engineering oversight may sound a bit intimidating - do not worry the engineers are here to help and this will be a great personalised learning opportunity for you.
It is very important that you complete your work at an even pace. The RCDS staff and RSEs will not be able to accommodate last-minute contributions.
A commmon scenario
Often, students pitch a project that they have already worked on before. That is absolutely fine - you can reuse an existing code if the license permits. You will use the allocated time to refactor, annotate and experiment with media.
Register your interest¶
If you have any questions, please email Katerina Michalickova below.