Exercise 1
==========

.. admonition:: Deadline

    Please complete this exercise **by the start of the next lesson (9:15 on 11 September 2023)**.

The exercise for this week has three parts.
First, you will **create an account on GitHub.com**.
Next, you will **let us know your GitHub username via Discord**.
Finally, you will **cook up some Python** using the skills you learned during the first lesson!

Part 1 - Sign up for GitHub
---------------------------

1. Open a web browser and navigate to https://www.github.com.
2. On the `GitHub.com <https://www.github.com>`__ home page, click on **Sign up** on the top right.

   .. figure:: img/GitHub.png
       :width: 600px
       :align: center
       :alt: Signing up for GitHub.com

       The GitHub.com homepage

3. Enter a username, email address, and password. Click Create an account.
4. When prompted to select a plan, choose the free option.

Part 2 - Moodle
----------------

*Enter your Github Username in the Assignment on Moodle (Lesson 1).*

.. figure:: img/Discord-logo.png
   :width: 250px
   :class: dark-light

1. Go to our **Moodle** course.
2. Locate the ** GitHub Username ** assignment under **Lesson 1**, and enter the GitHub Username that you created with your uvs-email account.

This will help us know you were able to create your account, that you have also figured out how to use Moodle, and we'll know who is who on GitHub :).

.. note::

    In case you're curious, we need your GitHub user name in order to access your exercise repositories in GitHub for grading and feedback.

Part 3 - Cooking up some Python
-------------------------------

.. image:: https://img.shields.io/badge/launch-binder-red.svg
   :target: https://mybinder.org/v2/gh/Geo-Python-2023/Binder/main?urlpath=lab
   
.. 
    .. image:: https://img.shields.io/badge/launch-CSC%20notebook-blue.svg
       :target:  https://notebooks.csc.fi/#/blueprint/1b4c5cbce4ab4acb8976e93a1f4de3dc 


.. admonition:: Start your assignment

    **You can start working on your copy of Exercise 1 by** `accepting the GitHub Classroom assignment <https://classroom.github.com/a/vwOAq8qb>`__.


1. Start the coding exercise by accepting the GitHub Classroom assignment (click on the link above).
2. Read the instructions from the repository.
3. Launch a new JupyterLab instance. *You can use Binder for this.*
4. Cook up some Python according to the instructions!  *Remember to save your work ;) !*
5. Download your solution, and upload it to GitHub.com into your personal Exercise 1 repository.

*This week, we upload the exercise manually to GitHub. Next week, you will learn how to pull and push the exercises directly from GitHub to Jupyter Lab using git!*

.. note::

    Each week, you will create a personal copy of the exercise repository on GitHub.com by clicking on the GitHub classroom link.

    You can also take a look at the template repository on GitHub: https://github.com/Geo-Python-2023/Exercise-1 .
    Note that you are only able to make changes in your personal repository generated via GitHub Classroom.

Summary (what to submit)
------------------------

1. Post a message in the ``#week-1`` channel in Discord at https://discord.com/channels/1140629215608315964/1140629216082280470 with your name, GitHub username, and course.
2. Accept Exercise-1 in Github classroom and upload the Jupyter notebook (the filename should be ``Exercise-1.ipynb``) containing your solutions for Part 3.

.. admonition:: Private repositories

    The exercise repositories are private. They are visible only to you and the course instructors.


.. warning::

    Some instructions on this page are specific to students at the University of Helsinki.
    Others can skip the Discord step and proceed to solving the Exercise 1 problems!
    Please note that **we are only able to provide assignment feedback to students enrolled in the course at the University of Helsinki**.