# Web development

## Online classes

**At the moment, due to the Covid situation, all our teaching activities happen online through** [**ZOOM**](http://zoom.us/)**. Please find some important information about our online class below:**

### Cameras

Most students don't like to connect to the camera, but please ask them in a friendly way to still enable them. Some students have good reasons to disable it - we will inform you in advance about this.

### Breakout Rooms

In each class on saturday we will create a breakout room with maximum 4 students, so they can work together in the exercises. The supporting instructors can be assigned to a group and the main mentor can switch through them.

### Support in the classes

In each class, the following people are present:

* Yogi, Vincent and/or Diana to manage
* The Main Instructor
* One or more supporting instructors

Outside the classes, there are many volunteers to further help students.

![](https://961530839-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MRVzxrxQhk2sxc6UAyx%2F-MTbj6xHWNNmPpnAD99Z%2F-MTbkhlMScmsM3DUPFi6%2F0%20\(22\)%20\(1\).jpeg?alt=media\&token=5df4e066-8655-48c1-b411-1f1033e76989)

## Weekly class structure

### Lecture Day (Weekday)

1. Introduction to the week's materials
2. Teaching/explaining the materials
3. Doing exercises now and then to practice
4. Give homework to be finished for Saturday class

### Practice Day (Saturday)

1. Finish any remaining explanations from the weekday class
2. Check together, solve doubts and fix the Homework exercises
3. List of exercises depends on the week

## Class structure

In general, we maintain the following class structure:

* 1.5 hours teaching to start with
* 10 mins break
* then 1 hour teaching
* 15 mins break
* 1 hour of teaching

### Before the class

10 minutes before the class we will share the Zoom link in the class channels (i.e. Jan2020-1). Around 18h all students will join and we will start the class then as well.

{% hint style="info" %}
If you are a new (supporting) instructor, feel free to write a quick intro about yourself in the class channel before the class starts! Or you can introduce yourself in the class, of course.
{% endhint %}

### At the beginning of the class

1. Migracode Team will manage the first 5 minutes, with an introduction
2. Then we will split the class in 2 groups: Spanish and English students
3. The Main & Supporting Instructors can do a quick introduction (Introduce yourself, explain where you work, etc.)
4. Then the main instructor will lead the class

### At the end of the class

The main instructor will explain and copy the Homework in the Trello Board. Our Head of Education will help you with this as well.

{% content-ref url="class-information/lesson-structure-example" %}
[lesson-structure-example](https://volunteers.migracode.org/coding-course/class-information/lesson-structure-example)
{% endcontent-ref %}

## Exercises Repositories in Github

All the exercises students should complete during the class, as homework and on saturday, are all inside a GitHub repository that they fork and clone every module. The structure is as follows:

* For each week of the module we have a folder with the week number week-1
* Inside each week folder, we can find 3 folders:
  * InClass: exercises they should complete during the class
  * Homework: exercises they should complete after the class and before Saturday
  * Extra: optional exercises students can complete when they want
* See a [repository example](https://github.com/Migracode-Barcelona/javascript-module-1)

## Tools that we use

As a mentor you can use the O.S. that you have, or you can use other tools not listed taking into account to not confuse students

* Slack: for main communication with students
* Trello: to find the homework and to manage the final projects
* ZOOM: to be used for the online classes and breakout rooms
* Ubuntu: most students have Ubuntu, but there are some students with Mac or Windows
* Visual Code: is the IDE we use for all the languages during the course
* Git: all the students have a GitHub account and push their exercises always using the Terminal
* Node: is the tool we use to execute by command line scripts without UI
* NPM: to install modules and to execute Web Servers
* Chrome: Browser we normally use, and we teach how to use the inspector
* PostgreSQL
* DBeaver: as an SQL client with UI

## Know your students

To see the students progress ask for access to the [Students Progress](https://docs.google.com/spreadsheets/d/1TKd_X-bsx1qbInkAv7x5d3slkJF9sEExfCnFRyjllBk) sheet.

![](https://961530839-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MRVzxrxQhk2sxc6UAyx%2F-MTaZbhayPs5hJONjQ6l%2F-MTahRaSejfNw_ycJR8i%2FDSC_0694migracode-bcn.jpg?alt=media\&token=c9380a5e-5799-4d15-86a0-2bbeb1a791a5)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://volunteers.migracode.org/coding-course/class-information.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
