13. How can we teach coding to scientists? - Matthew Brett, University of Birmingham

 <iframe class="render-viewer" src="https://render.githubusercontent.com/view/pdf?commit=d0ed3378dd83a242629f8935b3aad3303bf93870&amp;enc_url=68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6d6174746865772d62726574742f6465762e61632e756b2f643065643333373864643833613234323632396638393335623361616433333033626639333837302f6465766163756b5f736c696465732e706466&amp;nwo=matthew-brett%2Fdev.ac.uk&amp;path=devacuk_slides.pdf&amp;repository_id=121233478&amp;repository_type=Repository#bde1f2a9-fe59-41ca-bf3f-d38bee0ed499" sandbox="allow-scripts allow-same-origin allow-top-navigation">Viewer requires iframe.</iframe>

Description: Many scientists, myself included, have found themselves learning how to be developers. We have had to do this in order to do our scientific work efficiently, correctly, and in a way that can be shared. Coding is at the heart of modern data analysis. There is a great deal of agreement that we need to teach many or maybe all students how to code, but - how do we do that? Should we teach coding separately from data analysis or statistics? Do we need to use easy tools, or can we get away with teaching “best practice”, including testing and version control? Should we teach coding everywhere - to arts and science students alike? If we are going to do that, how will the universities we work in have to change, and how will we get there? What can we do for the students who find this very hard to learn?

I will present the various approaches that I know of, including interactive code / text Jupyter Notebooks, referring forwards to the following session by Tony Hirst. I will talk about some recent courses I have been involved in that have tried to teach these methods, in Berkeley and Birmingham. We will stop from time to discuss the issues that arise, and think of new ways of thinking about pitching and teaching. I hope we’ll come to a shared understanding of how to iterate towards a real solution to this urgent problem

All the talk materials are in my github repository. The repository contains the built slides.

Topics to be covered / discussed in questions