---
minutes: 5
course: Fundamentals
session: Day 1 Morning
target_minutes: 180
---

# Welcome to Day 1

This is the first day of Rust Fundamentals. We will cover a lot of ground today:

- Basic Rust syntax: variables, scalar and compound types, enums, structs,
  references, functions, and methods.
- Types and type inference.
- Control flow constructs: loops, conditionals, and so on.
- User-defined types: structs and enums.

## Schedule

{{%session outline}}

<details>

Please remind the students that:

- They should ask questions when they get them, don't save them to the end.
- The class is meant to be interactive and discussions are very much encouraged!
  - As an instructor, you should try to keep the discussions relevant, i.e.,
    keep the discussions related to how Rust does things vs. some other
    language. It can be hard to find the right balance, but err on the side of
    allowing discussions since they engage people much more than one-way
    communication.
- The questions will likely mean that we talk about things ahead of the slides.
  - This is perfectly okay! Repetition is an important part of learning.
    Remember that the slides are just a support and you are free to skip them as
    you like.

The idea for the first day is to show the "basic" things in Rust that should
have immediate parallels in other languages. The more advanced parts of Rust
come on the subsequent days.

If you're teaching this in a classroom, this is a good place to go over the
schedule. Note that there is an exercise at the end of each segment, followed by
a break. Plan to cover the exercise solution after the break. The times listed
here are a suggestion in order to keep the course on schedule. Feel free to be
flexible and adjust as necessary!

</details>
