I'm confused. Has ASPP moved to Australia?

Nope! This website is about the Asia Pacific ASPP school.

The original European ASPP school can still be found at https://python.g-node.org/. There will be an ASPP summer school in Europe in late August/early September, 2019. (Precise dates have not been announced yet.)

What kind of student profile are you looking for?

We are looking for students who are programming almost every day, can find a solution to the coding problems they bump into, but have the clear feeling that there must be a better, more efficient, way of doing things.

You don't dare to call yourself a programmer because you taught yourself how to program in a learning-by-doing fashion? You know that if you could have one week full-time dedicated to learning best practices you could significantly improve the quality and the efficiency of your coding efforts? You would like to become more confident in programming so that you can help your fellow students/colleagues to improve their programming? You only got a simple introduction to C/Java/Python/Fortran in your curricular studies that did not include any practical experience in developing software? Someone told you that women are not good at programming and you feel that this does not make any sense? You are the perfect candidate for this school!

How much does registration cost?

There is no registration fee for attending ASPP, but participants do need to arrange travel, living, and accommodation expenses by themselves. Please also see the information on travel scholarships.

I want to learn Python. Is this the right school for me?

No, you must have prior knowledge of Python in order to attend the ASPP school.

The reason for this is simple: there are tons of nice tutorials online about Python. Just pick one and work through it for a couple of weeks and start writing small scripts in Python. Our school is not going to help you with this. One week is definitely not enough to learn a programming language, even a simple one like Python. That is why we require prior knowledge of Python. If you don't know Python but are proficient in another programming language and you intend to switch to Python and your profile matches the one described in the first FAQ, you are welcome to apply. If accepted, you'll have to make the effort of learning Python before coming to the school. Participating in the school without prior Python knowledge is bound to be a big disappointment.

I already know most of the stuff in the program, but I really could use some talk with experts in the field. Is this the right school for me?

Not really. The school has indeed the word advanced in the title but this does not mean that it is a workshop for expert programmers. The school is devised to help scientists whose programming skills are basic to become competent with best software development practices. If you are already familiar with most of the program you are already advanced. This means that you are really overqualified to participate: you would be bored.

I am working for a private company. Can I apply?

The school is not meant to be a free training alternative to the many excellent commercial offers with which we can not and do not want to compete. We are targeted primarily towards academia, government and non-profits. But if you are doing some kind of research in a for-profit company and you are nurturing your programming skills on a personal level you are welcome to apply: we already had several students from companies like this.

Why do you use pair-programming?

Among the many things we teach during the school, pair-programming is definitely one of those that impact the most the quality and the efficiency of the students' programming skills. If your peer is less skilled than you in a certain subject, you will learn a lot by helping your peer to understand. If your peer is more skilled than you, you will learn a lot by listening to and watching your peer. Pairs are switched on a regular basis, which makes for a lot of nice social interactions and makes sure that you don't get stuck with someone you can't work with.

Why aren't you teaching Object Oriented Programming?

Because if you don't know it already, a day-long lecture is not enough to understand it and use it efficiently. The very same lecture would be, on the other hand, terribly boring for those who know OOP already. There are many programming paradigms that would be worth teaching: Functional Programming, Procedural or Imperative Programming, Literate Programming, and so forth. Unfortunately we only have one week time and it is better not to teach something than to teach it sloppily. (On top of all of that, some people think that Object Oriented Programming can be harmful)

Why can't I use my own laptop for the school?

There are several reasons:

First, by using the laptops provided by us we can make sure that all students work with a consistent environment and we don't waste time debugging local installation or configuration problems. If you want to get help in configuring such an environment on your own system there will be plenty of time and tutors willing to help, but outside of lectures.

Second, pair-programming with private laptops becomes very difficult. People have a tendency to be very shy typing on someone else's laptop, they may not be familiar with the keyboard layout and the keyboard shortcuts, they may be used to a different operating system, they may fear to “break” it.

Third, with your own laptop the instinct to have a look at your favorite social network or news site is much more difficult to resist compared to the situation when you are sharing a foreign laptop with someone else: the cognitive load at the school is already quite high, and you can't afford to waste those few spare brain cycles.

Why do you use a video game as a programming project and not some scientific projects or students' personal projects?

We want students to make a real collaborative software development experience. This implies that they have to work in groups. Given the very diverse background of our students, choosing a scientific project means either having a trivial project or having a project where most of the people don't know some very basic concepts that are needed to contribute anything relevant. Using a “neutral” project, as it is the case with our video game, means that no prior domain-specific knowledge is required and all students can collaborate on equal terms. We want students to focus on the programming issues, after all, and not to devise some clever solution to a made-up scientific problem. Last but not least, the game programming project has been a lot of fun for our previous students and faculty members.

Are there travel scholarships available?

We have a very limited number of travel scholarships available, for expenses up to a maximum of $500 AUD. You can indicate in your application if you would like to be considered for a travel scholarship.

Where can I find accessibility information for the school?

There is general accessibility information available on the Australian National University website. Please see:

The specific building we will be using has:

  • Lift access
  • Several accessible parking spaces close to entrances
  • A unisex accessible toilet available
  • An Automated External Defibrillator (AED)
  • An emergency telephone

If you have a question about accessibility, we'd love to hear from you! Please email: info@scipy-school.org

Where can I find your code of conduct?

The full text of our code of conduct policy can be found here: Code of Conduct.

The Advanced Scientific Python Programming school is a community event intended for learning skills, networking, and collaboration in the scientific Python community. We value the participation of each member of this community and want all attendees to have an enjoyable and fulfilling experience.

Are you on social media? I want to stay in touch!

You can follow us on Twitter @scipyschool

Contact: info@scipy-school.org