You will need to download and familiarise yourselves with some software if you are to continue with this course. Below are instructions on which resources we will use and what you should download.

(adapted from here)


Download:


Creating a Google Account:

  • You will need a Google account to access many parts of this course. If you do not already have a Google account, create one now. | Create Google account


Programming Software:

  • For many of the examples and tasks throughout this course, we will use the programming language Python. There are many other programming languages but Python is freely available, easy to learn and arguably easier to use than some other programming languages.

  • When writing a program you need two things:

    • Something to save the code (a text editor for example)
    • Something to run the code

  • We will be using notebooks, which handily combine the two.


Installing Python:

  • We will use CoCalc to run our Python files, which comes packaged with a variety of other useful tools (including the notebooks I mentioned above).

  • To run it on your personal machine follow the instructions below:

  • CoCalc Instructions

  • Once you have followed the instructions and opened a Jupyter notebook, try the following:

  • >>> print("Hello world")
    Hello world
    

  • Congratulations! You have just written and run your first piece of Python code!


Creating an Account on Github:

  • Github is a place online where you can store your codes for other people to read and download. Throughout this course we will make use of Github, both for downloading course materials and finding existing code to play with. Everyone enrolled is encouraged to create an account on Github and upload your files. Collaboration in the field of Computer Science is extremely important, and the more widely available our codes are the more this field will advance!

  • To create an account on your personal machine follow these steps:

    • Create a username and password at github.com
    • Choose "Unlimited public repositories for free." Click Continue.
    • Tick the appropriate boxes on the following screen. Click Submit.

  • Feel free to have a browse around the pages on Github. Read the guide, start a project. Generally get a feel for it.


Initial Diagnostic Task:

  • In order for me to get a sense how each of you feel about this course from the outset, I have prepared a short series of questions which are available below. Please answer these as honestly as you can, and don't worry if you can't answer them!

    NB: You will need a Google account to complete this form.


Python Guessing Game:

  • The guessing game algorithms can be downloaded as a notebook. Follow the instructions below.

    • Download notebook
    • Save downloaded guess-a-number.ipynb in a folder of your choice.
    • Open a jupyter notebook following the instructions above.
    • Navigate to the file you just downloaded and open it.
    • Follow the instructions


Playtime:

  • From now until the end of the class, you are free to play with Python and the Jupyter notebook and see what you can make it do. I have prepared an example notebook which gives an overview of some features.

    • Download example notebook
    • Save downloaded intro.ipynb in a folder of your choice.
    • Open a jupyter notebook following the instructions above.
    • Navigate to the file you just downloaded and open it.
    • Follow the instructions

  • There are also some great tutorials online, some of which I've highlighted below:


  • Don't be afraid to experiment! Make mistakes, fix them. Ask your friends. Google it!


Footnote:

  • Remember, this is the first year this course has run - we will have teething problems and we will have issues. At any point in the course, if you feel like things are getting away from you or you want to chat, feel free to contact me!

  • I will be looking for feedback throughout the course, so please comment at any time on whether the material is too difficult/boring/easy, the pace too fast/slow or whatever else you may feel needs changing!


Acknowledgement:

  • Many thanks go to Dr. Vince Knight (vknight.org) for all his help and great resources!