Skip to content

Latest commit

 

History

History
52 lines (27 loc) · 4.8 KB

File metadata and controls

52 lines (27 loc) · 4.8 KB

Frequently asked questions

What's a Hackathon?

A Hackathon (blend of the words "hack" and "marathon") is a design event in which people collaborate intensively on coding-related projects in a common goal. This kind of event is not only common in the industry: many hackathons were organized to help the development of tools and applications for bioinformatics, evolutionary biology and neuroscience.

Why a hackathon instead of the classic 3-days Collaboratory workshop?

The main difference between the Python Hackathon and the other workshops offered by the QCBio Collaboratory is that we will concentrate on a set of problems of broad interest to the UCLA Life Sciences community, offering tailored assistance in how to solve them with Python. This format will create a stronger connection between the contents of our workshops and your research while giving us the opportunity to go beyond the basic material provided by the current Collaboratory workshops.

When creating workshops with more advanced contents, selecting topics that are of broad interest become harder. This is the reason why we chose a Hackathon format, where the focus is on the participants solving the problems and actively learning to use Python to meet their needs. This way, we will be able to offer tailored comments and tips to each participant throughout the development of their solution.

Of course, this format only works if the participants have a minimal background with Python.

What will be the structure of the hackathon?

Our idea is to organize a Hackathon over a single day (December 8th, 2017), and spend this day solving a set of coding problems. These coding problems will consist of common issues faced by many of us in our research. Click here for the list of problems. The primary goal will be to work together to find one or more solutions that are elegant and efficient. Collaboratory fellows will be present throughout the whole day to provide personal and tailored assistance. We encourage every participant to go in their own pace and speed. Collaborative work in groups is also encouraged.

As in every hackathon event, at the end of the Hackathon, we will merge the best ideas and publish the solutions in this GitHub repository.

Lunch and coffee will be served to fuel our discussions.

We expect to have participants with various backgrounds and levels of expertise in programming. Because problems often admit multiple solutions, participants will be encouraged to explore solutions appropriate to their own experience with the Python and personal needs. Thus, even if your only contact with Python was the Introduction to Python workshop, you may still benefit from this Python Hackathon if you are committed to using Python regularly for your research. This is why we welcome participants from all levels and backgrounds. The only requirement is the Introduction to Python workshop.

If you have any comments or questions, don't hesitate to contact us via e-mail.

What coding problems will be solved in this Hackathon???

The problems are not defined yet. To ensure that these problems are of relevance to a large number of people, we are asking for everyone interested to submit suggestions of problems that you, or colleagues, may want help tackling. We are also actively contacting grad students, postdocs and PIs to get their recommendations. As soon as possible, we will add a description of the coding problems to our GitHub home page. So stay tuned!

As a beginner in Python, how do I know if I can join the Hackathon?

You should have completed the Introduction to Python workshop, or know the content presented in it. Ultimately, it is up to the participant to decide whether they want to join the Hackathon or not.

If you are still not sure, here is a list of topics that we will assume that all participants know

  • basic syntax (what is a variable, how to call a function, etc);
  • basic mathematical operations;
  • how to use IF conditions (if, if-else, if-elif-else);
  • lists and dictionaries;
  • how to create FOR loops;
  • how to manipulate files (read/write);

Unfortunately, not everybody was able to register to the Collaboratory workshop before all sits were taken. Here are some external resources if you want to fresh up your Python knowledge:

  • Code Academy's Learn Python is one of the most cited on-line courses available to beginners. The first 8 chapters are somewhat equivalent to the Introduction to Python workshop.

If you are still not sure, don't hesitate to contact us via e-mail.