top of page
typing_edited.png

FREE CODING PHYSICS CHALLENGES COMING SOON!

New to code? Or want a taste of how physicists do their job, from rare particle searches to simulating real-life scenarios? Learn about the physics, the discoveries that came from it and a taster of the code that helps us visualise the world around us. 

​

New coding program with plenty of examples and interactive python notebooks to learn about physics in its true form: with mathematics and code! Launching soon!

Programming and coding

Physics is used to model the real world using Mathematics whilst making a fair few assumptions along the way to simplify our problems. A lot of the time these models give us equations (e.g. complicated differential equations) which cannot be solved exactly or simply by hand and we need a computer to solve them for us numerically (giving us a very good approximation to the solution, for example similar to using the trapezium rule as an approximation to integration). We like to use computers because they are not only very good at following instructions but they also don’t usually complain about having to carry out the same set of instructions many many times. This allows us to converge to solutions that are even more accurate; again in the trapezium rule analogy, we can tell the computer to find the area of very very thin trapeziums so that the integration is even more close to the “true value”. The only problem is computers don’t speak the same language as us so to tell them what to do, we need to learn their language first. Fortunately for us, there are lots of those around! 

 

​

Where do I start?

We will pitch this page at mainly beginners but it can be useful for anyone. There are many resources out there to start you off but coding is learnt best through physically doing exercises. This could mean simply copying (and paying attention of course) the instructor in a video at first but watching lectures or someone else typing in code will not enable you to learn how to do it. Coding is also easiest to pick up when you have a task at hand or a problem you need to solve and though being thrown in the deep end can be daunting at first, the learning curve is steep and rewarding! There are also plenty of amazing, free resources so you don't need to go on a spending spree either! An overview of what is available:

1. Programming Language Manuals

​

2. Youtube Channels

​

3. Learning via Games/ Game Creation

4. Coding Courses

5. Coding Forums

Links to some websites which we may have come across in the past or still use for reference have been included below. In Physics, Python and C++ (or combinations) are probably used the most so we would recommend starting with those but once you understand the basics of coding, picking up other languages gets easier!

 

Nevertheless, we have included some different options but this is by no means even close to the full extent of what is available. A nice overview of the currently most popular languages is just a click away for those who want to explore more before committing. More resources can be found easily online: for example, often university tutorial slides/ notes are for beginners so are often useful documents to look at and they are easily available and free.

​

 

​

We will also mention that it is normal to have to google lines of code; that is how you gain exposure and learn languages, so if you find yourself having to do that to debug or figure out how to code something in the first place, that is completely okay or rather even recommended! Finally before you start, remember, that just as with anything new, coding can require a lot of patience. Getting stuck and feeling confused is an inevitable part of the journey and sometimes you just have to stare at it and try out different things for a while before they work. Sometimes sequencing your thoughts on a whiteboard or the likes can help but everyone has their own process so take your time and get to know what works for you. The moral of the story is, whatever you do, don't give up!

Languages

Forums

Manuals

LET'S CODE

Courses

Gaming

Youtube

Resources
bottom of page