Maximilian Ernst
Learning languages to adopt a new perspective—The Julia programming language, a fresh approach to scientific computing
- Workshop
- Hackathon
- Unconference
- in-person
- remote
Please provide a brief (~150 words) abstract/description of your proposed session
The progress of science is tightly coupled to the advancement of research software. Methodologies such as machine learning, neuroimaging, adaptive testing, and ecological momentary assessment have greatly benefited psychological sciences. However, their full potential is hindered by the ability of psychologists to adapt software to their research context. Julia is a new programming language for scientific computing that uses exciting new technology for the efficient development and execution of scientific software, i.e., the strain on both researchers and computers is minimized. Julia's design principles ensure that software is highly extensible and adaptable, making the language more than a gradual improvement over existing languages. Julia may be used alongside R/Python and can call/be called from them. Learning Julia introduces researchers to ideas and principles of modern scientific software development. And yes, scripts are software.
If your session is a hackathon, what is your end product? Hacks should have a clear “deliverable”—a project or product you are making progress on. If you session is intended as a discussion or brainstorming session, consider submitting it as an unconference instead.
Although this is a workshop, the participants are expected to work hands-on, and the goal is to create and "take home" a software product (script/package) that highlights Julia's unique capabilities.
How will the session leaders’ content foster diversity & inclusion (e.g., who will present, who will it serve) and how will that improve the science? Note that this response will be used in advertising your session.
We believe that the successful application of software within research requires a more inclusive way of producing software. Scientists often have innovative ideas, but only a tiny fraction of them actively engage in shaping the software they need for their research. A challenge for applied researchers is that Python and R packages typically depend on high-performance languages such as C and Fortran, which usually are difficult to comprehend. However, Julia allows researchers to read and contribute to performance-critical code without the need for learning more technical languages. This allows researchers and domain experts to contribute their time and knowledge more effectively without the barrier of entry created by the need to learn multiple programming languages. We will present the workshop collaboratively, representing several levels of seniority. Maximilian S. Ernst, a student, will take the lead, while Moritz Ketzer, predoctoral researcher, and Aaron Peikert, principal investigator, will help facilitate the workshop. We ourselves commit to the SIPS Code of Conduct and expect the participants to do the same.
Please note any pre-requisite knowledge/expertise you will expect from attendees or indicate that no prior experience is needed. This information is very useful for attendees as they decide what to attend, ie., is a session most appropriate for someone who already has experience with a topic or is brand new to it?
The workshop requires that you know how to program in a scripting language (R, Python, Ruby, Matlab). A sure indication that you have the experience to benefit from the workshop is that you have written and used a custom function as part of a project you have been working on in the past two years. Still not sure? If you can write a function in any language that prints the numbers from 1 to 100, but for multiples of three prints "Foo" instead of the number, and for the multiples of five prints "Bar" in under 30min, you are ready.
Please classify your session as the theme it fits best in:
- Pedagogy/curriculum/mentoring: content related to educating students
- Skills: content providing training in particular skills or techniques
- Incentives/culture: content related to the incentive structure of science, culture, and norms of science
- Logistics/tools: content related to creation or refinement of new tools, databases, and methods
- Other
- Fully synchronously
- Synchronously + ramp-up (e.g., attendees have something to watch ahead of time, hack materials open early, plus a synchronous session)
- Fully asynchronously
- 3h
- 1.5h
- Sonstiges
This can be a great opportunity to introduce diverse perspectives to the conference and pass on skills to each other. For example, if you are a faculty member, consider inviting a graduate student or post-doc to help you lead the session. If you already have co-leaders in mind, please write their names and e-mails below. The Program Committee also will be happy to help you identify potential co-leaders.
Maximilian S. Ernst, lead, student resarcher [email protected]
Moritz Ketzer, co-lead, predoctoral researcher [email protected]
Aaron Peikert, facilitator, principal investigator [email protected]
We welcome suggestions for other co-leaders to broaden the perspective to people without background in methods/statistics and/or with less privilege.
What times of day (in Padua time, GMT+1) are you generally able to present/attend if you were to present remotely? (The time zone converter https://www.worldtimebuddy.com/ may be useful). Having more flexible presenting hours will facilitate more global engagement. We will use these time preferences for our online programming and in case in-person presenters have to switch to a remote format.
Anytime.
For virtual sessions: Do you or one of your co-leads have a Zoom pro account that enables you to host meetings longer than 40 minutes? (Note that if you do not, we will be happy to set up the space for you).
- Yes, I am able to host my own space
- No, I would like to use a SIPS-maintained space
- Unsure
We have plenty experience with synchronous workshops but are thinking about doing some parts self-paced to accommodate more experience levels. To figure this out we, will give the workshop internally to participants of different experience levels. Combining synchronous and asynchronous parts would open the possibility for doing this workshop hybrid as we have enough facilitators to pay appropriate attention to everyone.