Introduction to Python

Welcome!

This is the webpage being used to host the Fall 2020 workshop series ‘Introduction to Programming in Python for Biology’. On this page you can find all the material for this workshop series, which you are welcome to use whether or not you are a student enrolled in the series!

Why Are We Running This Workshop Series?

Computational skills have never been more important in biology. With the biological data revolution happening all around us, being able to understand and draw inference from data is paramount to success. Having said that, often times while we as biologists receive formal training in statistics etc., we don’t receive a formal education in programming. This is important because while some biological analyses are statistical in nature, many are not, and further, dealing with huge datasets and running simulations to even get to the statistical analyses is difficult. Every year, multiple papers are retracted from journals due to errors in analysis that are the result of a mistake in code. Understanding how to properly use programming languages and development environments to implement your analyses is just as essential as the wet lab skills you may learn in your first year classes.

While obviously 5 sessions of a workshop will not give you all the skills you need, our goal is to get you over the initial ‘hump’ of learning and to a place where you can self-learn or take further official courses to sharpen your skillset. We are here to get you started, and in 5 whirlwind sessions, introduce you to some of the most important concepts in programming that will hopefully help you avoid some of the most common pitfalls.

We are really passionate about computational literacy, and our ultimate goal in this series of have some of that excitement about programming and computation to rub off onto you!

Who Is This Workshop Series For?

Anyone!! There is NO previous experience required to take part in this series. We assume you have never programmed before, and so we’ll start from square one. However, if you have some previous experience in Python or another language, you are more than welcome to join as well. While we will show you how to work with data in this series, we will spend a significant amount of time focusing on the important components surrounding data analysis that allow you to work efficiently and with best practices. If you’ve been using a Python for a while and have mastered basic programming operations and data operations, you will probably be better served by checking out some of the courses on the UAlberta Computer Science Course calendar. All you need to participate is a computer of some kind and an internet connection. We will be using Google online products and ZOOM to run our courses so you won’t even need to download anything!

Timing & Logistics

This workshop series will run for 5 weeks October 08, 15, 22, 29, and November 05, 2020, from 12:30 to 14:00 MT. The first four weeks will be composed of a whirlwind tour through the world of Python. This is by NO means a comprehensive set of content as far as Python, nor programming as a whole. If you’re interested in learning more, please see our Resources page.

This workshop series will run through five weeks, with each week containing both an asynchronous and synchronous component. Videos giving short explanations of each concept will be posted, and we highly encourage you to watch them before the synchronous component. During the synchronous ZOOM meeting, we will focus our time on hands-on problems to put into practice the ideas you heard in the video mini-lectures. There will be a completely optional take-home problem set with one or two questions for you to work through during the week if you would like some more practice. As this is not a course and you won’t get credit for this, we will not be checking your work. We will however post answer keys, and perhaps take up some of the problems in class.

During the synchronous meeting, we will work through examples, with the instructors ‘live-coding’ and you following along, and then we’ll do some independent learning where you work on problems either alone or in a small breakout room, to facilitate some discussion. We will try and reserve a period of time at the end of each lesson to take up any problems that were particularly difficult, or answer general questions.

After each meeting, the optional take-home questions will be posted, a recording of the ZOOM meeting will be posted if you want to revisit, or, if you weren’t able to attend, you may watch some or all of that video and take part at your convenience. We will also upload a downloadable PDF that will act as a type of summary document for each session. This will ideally be something you can refer to offline at any point in the future.

Expectations & Code of Conduct

Learning During a Pandemic

This is uncharted territory. We are in the midst of, ahem, a global pandemic and that is making all of our teaching and learning lives harder. We were hoping to be able to give this workshop series in-person, however that is obviously not in the cards, but we thought it was important to still provide the opportunity. In a bit of a mixed bag, we understand that this pandemic is likely the reason why some people who may want to learn Python will not be able to take this workshop series while others will be able to, as everything is now online and thus we can accommodate more people!

Having said this, things are hard right now. We thank you for being here! We are really trying to promote computational literacy in the Biological Sciences dept., so we are grateful for those of you who signed up. We are completely committed to making sure you get what you need out of this workshop series!! If you need help, please ask. We are always willing to schedule extra time to assist if something doesn’t make sense, or point you in the right direction. Use our Contact tab and we will help you with any inquiries or assistance.

Some Specifics:

  1. During ZOOM meetings
    • If you’re watching TikToks during the ZOOM session, plz drop any funny ones in the chat
    • You are NOT expected to turn on your video if you don’t want to. It will be hard to communicate with others and ask questions without audio so we encourage you to use your microphone if you can when appropriate, but if that is not possible, feel free to use the chat function
    • This is not an official course, but please refer to the UAlberta Student Code of Conduct for a general guide on how we expect all participants to behave
    • Specifically, we will not tolerate harassment of any kind during these meetings. If you engage in any type of abusive behaviour in any way, you will be removed from the meeting and will not be allowed to return at any point
    • This is an inclusive space, and we are all learning. Therefore, there is no such thing as a stupid question, and no one will be permitted to behave in any way that diminishes another’s capacity or eagerness to learn
  2. Using this Website
    • This material is free and open to anyone enrolled in this workshop series or not. However, the ZOOM meetings are only for enrolled individuals. Please do not share links to ZOOM meetings to others who are not enrolled.
    • As this is the first time we are running this series in this format, there are likely mistakes or broken links on this website. If you notice some such error, please let us know! Use the Contact tab and drop us a line if you find any errors or if you have any suggestions for website navigation etc.

Did we miss anything? If you have further questions about the content of each session, please check out the syllabus and each individual week for more information. Still can’t find the answer? Drop us a line and we can help you out!

In addition, we are committed to making this workshop series accessible to anyone who wants to participate. If there is some barrier to you participating that we can help alleviate, please please please get in touch with us and we will do everything we can to make sure you can join.