(1.0-orientation)=
# 🧩 1.0 Orientation

% ```{rubric} 🧩 1.0 Orientation
% ```

```{contents}
:depth: 3
```

```{note}
After [registering](https://learn.utoronto.ca/programs-courses/courses/4010-introduction-ai-discovery-using-self-driving-labs), access instructions for https://q.utoronto.ca will usually be emailed to you within 24 hours. While you're waiting, you can still get started with the orientation content below and the first tutorial.
```

```{note}
:class: margin
If you haven't already, watch the welcome video below to learn about the course and its structure.
<iframe width="195" height="110" src="https://www.youtube.com/embed/videoseries?si=Dt-C256m6yvzfnYT&amp;list=PLKFxDV1Aoxg6dBasfkbG-zFQoy2RDOidX&t=623s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
```

## 🔰 Getting Started

The list below shows your course section based on the day you registered.

- **W 2024:** Registered between Jan 1, 2024 to April 30, 2024
- **Sp/Su 2024:** Registered between May 1, 2024 to April 30, 2025
- **Sp/Su 2025:** Registered between May 1, 2025 to April 30, 2026
- **Sp/Su 2026:** Registered between May 1, 2026 to April 30, 2027

```{tip}
For registered students, if you click on a link to a quiz or assignment and it shows "access denied" after logging in, try the other tabbed links.
```
First, open up the following quiz in Canvas that corresponds to your enrolled term.

::::{tab-set}
:sync-group: category

:::{tab-item} W 2024
:sync: w2024

https://q.utoronto.ca/courses/350933/quizzes/380198/take
:::

:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/351407/quizzes/384407/take
:::

:::{tab-item} Sp/Su 2025
:sync: sp2025

https://q.utoronto.ca/courses/367721/quizzes/444616
:::

:::{tab-item} Sp/Su 2026
:sync: sp2026

https://q.utoronto.ca/courses/437793/quizzes/512407/take
:::

::::

You will record your GitHub username and GitHub Classroom Student Identifier (obtained after accepting the GitHub Starter Tutorial below), which will be used later in the course. You can refer back to these quiz answers if you forget. See below for information on these two.

### GitHub Account

These courses are integrated with coding exercises via GitHub Classroom, so you will need to [create a GitHub account](https://github.com/join) if you don't already have one. Take note of your GitHub username since you will enter this as a quiz response.

```{tip}
Two typical naming conventions for GitHub usernames are as follows:
- John H. Smith → `jhsmith`
- Jane M. Doe → `jane-doe`

If you already have a GitHub account and you have used it infrequently, you may consider [renaming your GitHub account](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/changing-your-github-username) to adhere to one of the conventions above. This is completely optional.
```

### GitHub Starter Tutorial

```{warning}
The student identifier that you choose on the next page **will appear only once** (e.g., `quirky-zebra`). Please record this somewhere safe and enter it into the corresponding Canvas quiz, since you will be using this at various points throughout the course. If you forget or lose your student identifier, please send a message to [sterling.baird@utoronto.ca](mailto:sterling.baird@utoronto.ca).
```

Click on the 🔗 [GitHub starter tutorial](https://classroom.github.com/a/g78UiC5K), ensure you're logged in to GitHub, link to a student identifier of your choice (write this down), and accept the assignment. See below for a walkthrough of this.

<video width="700" height="394" controls>
  <source src="../../_static/github-starter-tutorial-select-accept.mp4" type="video/mp4">
  Your browser does not support the video tag.
</video>

<!-- <iframe style="width: 700px; height: 394px; display: inline-block;" title="Video player for github-starter-tutorial-select-accept.mp4" data-media-type="video" src="/media_attachments_iframe/31726637?embedded=true&amp;type=video" allowfullscreen="allowfullscreen" allow="fullscreen" data-media-id="m-49uHHDJPuMSZGb2RheoEbnm8NtVvuFMV" data-mce-fragment="1"></iframe> -->

```{margin}
There is a pre-populated list of student identifiers, none of which have been claimed! You may choose any of these.
```

Use this tutorial to familiarize yourself with git and GitHub terminology, which you will be quizzed on later.

## GitHub Classroom Assignment

Now that you're familiar with basic git and GitHub terminology, we can show you how to use GitHub Classroom for an autograded assignment.

👉 **Second step**: This time, you will use an interactive development environment (IDE) called "Codespaces", with compute resources provided by the Acceleration Consortium through the GitHub Education program. Similar to the format before, click on the new assignment link 🔗 [Intro to GitHub Classroom](https://classroom.github.com/a/3yCVzX6I), ensure you're logged in to GitHub, accept the assignment, click the "Open in Codespaces" button, and follow the directions in the README.md file.

Spinning up a new Codespace may take a minute or two, and a preview of the README.md file will automatically open up after a few seconds. A number of dialogue boxes and messages will appear during the loading process. Ensure that you sign into GitHub; use of Copilot is optional. The URL in your browser should be of the form `https://<some-funny-phrase>-<unique-id>.github.dev/` which is autogenerated and distinct from your course ID. For example, your URL might be `https://fuzzy-space-spork-9wggxx444g6h7rxq.github.dev/`. See below for a complete walkthrough of these steps.

```{tip}
When you accept an assignment, it creates a GitHub repository for you. The ability to use Codespaces is meant as a convenience for you and a way to ensure consistent environments; however, the repository can be cloned to your computer (e.g., via GitHub Desktop) and opened in an IDE of your choice (e.g., VS Code, PyCharm). Likewise, you can carry out version control in your preferred way (e.g., VS Code, GitHub Desktop, command line).
```

<video width="700" height="394" controls>
  <source src="../../_static/intro-gh-classroom-walkthrough.mp4" type="video/mp4">
  Your browser does not support the video tag.
</video>

You will self-report your autograded score using the assignment link below, and you can try the assignment as many times as you like.

::::{tab-set}
:sync-group: category

:::{tab-item} W 2024
:sync: w2024

https://q.utoronto.ca/courses/350933/assignments/1274170?display=full_width
:::

:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/351407/assignments/1286923?display=full_width
:::

:::{tab-item} Sp/Su 2025
:sync: sp2025

https://q.utoronto.ca/courses/367721/assignments/1499669?display=full_width_with_nav
:::

:::{tab-item} Sp/Su 2026
:sync: sp2026

https://q.utoronto.ca/courses/437793/assignments/1730321?display=full_width_with_nav
:::

::::

```{tip}
An easy way to navigate back to your assignment is to click the GitHub Classroom assignment link again (available on the Quercus assignment page specific to your enrolled section). Here, you will see the Open in Codespaces button and a link to your GitHub repo assignment. Alternatively, you can navigate to [your ACC-HelloWorld GitHub organization repositories](https://github.com/orgs/ACC-HelloWorld/repositories) to see a list of assignments.
```


<!-- <iframe style="width: 700px; height: 394px; display: inline-block;" title="autograding-codespaces-python-walkthrough.mp4" data-media-type="video" src="https://q.utoronto.ca/media_attachments_iframe/31726639?embedded=true&amp;type=video" allowfullscreen="allowfullscreen" allow="fullscreen" data-titletext="autograding-codespaces-python-walkthrough.mp4" data-media-id="m-4qfTw9UDxLo8XrZpxMwCLDoT16FfTikf"></iframe> -->

Additional resources:

- [How students complete assignments](https://youtu.be/ObaFRGp_Eko?si=JMxjdheVKVc3Zwr8)
- [What is Codespaces?](https://youtu.be/sYJ3CHtT6WM)
- [Student developer pack](https://education.github.com/pack)

```{tip}
If you're eligible, consider signing up for the [student developer pack](https://education.github.com/pack) so that **you can have free access to GitHub Copilot (and GitHub Copilot Chat)**, among other perks. **GitHub Copilot is also free for teachers**.

If you're not eligible, you may consider a paid subscription (~$10 USD/month). It's kind of like having a personal coding assistant to bounce ideas off of and have it look at your code. At the same time, it can become a crutch, and there are still times where plain-old Google searches, reading stack overflow posts, and searching through a GitHub repository's issues and documentation is better. The Acceleration Consortium does not benefit from you signing up for GitHub Copilot, and it is not required for the completion of this course.
```

## Python Refresher Assignment

Optionally, you may try out the [Python refresher assignment](https://classroom.github.com/a/eBPVY0Yg). This is ungraded.

## Syllabus

For registered learners, take a moment to review the course logistics and policies in the syllabus. Here, you will also find a link to the Learner Equity Survey, an anonymous and voluntary demographic survey.

::::{tab-set}
:sync-group: category

:::{tab-item} W 2024
:sync: w2024

https://q.utoronto.ca/courses/350933/assignments/syllabus
:::

:::{tab-item} Sp/Su 2024
:sync: sp2024

https://q.utoronto.ca/courses/351407/assignments/syllabus
:::

:::{tab-item} Sp/Su 2025
:sync: sp2025

https://q.utoronto.ca/courses/367721/assignments/syllabus
:::

:::{tab-item} Sp/Su 2026
:sync: sp2026

https://q.utoronto.ca/courses/437793/assignments/syllabus
:::

::::
