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 software or data science projects that contain programming code accompanied by a rich annotation for learning. The annotation may be in the form of tutorial-led documentation, a frontend of code notebooks or a GUI, or a report, and will explain common practices behind solving a particular task, show decision-making broken into digestible steps, and identify good software engineering practices.
Think about what would have helped you when you were at this point of your learning trajectory!
Working with RCDS and RSEs¶
You will work as a GTA receiving the higher rate pay (£35.78/hour including holiday pay). You will be supported by a member of the Research Computing and Data Science (RCDS) Team and a Research Software Engineer (RSE). The project is to be completed within 45 hours evenly spread over three months. It is important that you complete your work at an even pace. RCDS and RSE staff are not able to accommodate last-minute contributions.
Support from the RSE Mentor¶
An RSE will support you with the code-related aspects of your exemplar. They aim to drive best practices both in the way you develop your code, and in the final codebase. The RSE will undertake code reviews and will lead on technical project management to support you in building a timeline for development, with a plan to follow and milestones to achieve.
Support from the RCDS Mentor¶
An RCDS tutor, from the Early Career Researcher Institute team, will support you with the teaching and learning aspects of your exemplar. They will support you in determining learning outcomes and ensure that learning activities align with these. With an eye on pedagogy, the RCDS tutor will review the non-technical annotation for learning, be it in the form of a report, notebook, GUI or tutorial-led documentation.
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. 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.
New vs existing code
Students may 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.
Other students may be pitching with just an idea. This can be more difficult, so the size of the codebase should be scaled appropriately.
Essential elements of an exemplar¶
- Code in a comprehensive GitHub repository
- Annotation in Markdown or a code notebook 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.
Register your interest¶
If you have any questions, please email Katerina Michalickova below.