Welcome to Day 1

๊ฐ•์˜์˜ ์ฒซ ๋‚ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์˜ค๋Š˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๋‹ค๋ฃฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

  • ๋Ÿฌ์ŠคํŠธ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•: ๋ณ€์ˆ˜, ์Šค์นผ๋ผ / ๋ณตํ•ฉ ํƒ€์ž…, ์—ด๊ฑฐํ˜•, ๊ตฌ์กฐ์ฒด, ์ฐธ์กฐํ˜•, ํ•จ์ˆ˜์™€ ๋ฉ”์„œ๋“œ.
  • Basic Rust syntax: variables, scalar and compound types, enums, structs, references, functions, and methods.
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: ์Šคํƒ๊ณผ ํž™, ์ˆ˜๋™ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์Šค์ฝ”ํ”„(๋ฒ”์œ„)๊ธฐ๋ฐ˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC)
  • Memory management: stack vs heap, manual memory management, scope-based memory management, and garbage collection.
  • ์†Œ์œ ๊ถŒ: ์˜๋ฏธ ์ด๋™, ๋ณต์‚ฌ์™€ ๋ณต์ œ, ๋นŒ๋ฆผ, ์ˆ˜๋ช….
  • Ownership: move semantics, copying and cloning, borrowing, and lifetimes.
๊ฐ•์˜ ์ฐธ์กฐ ๋…ธํŠธ

์ฒซ ๋‚  ๊ฐ•์˜์˜ ๋ชฉํ‘œ๋Š” ๋นŒ๋ฆผ ํ™•์ธ ๋“ฑ์— ๋Œ€ํ•ด ๋งํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ๋Ÿฌ์ŠคํŠธ์— ๋Œ€ํ•ด ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Ÿฌ์ŠคํŠธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์€ ์ฃผ์š”ํ•œ ํŠน์ง•์ด๋ฉฐ ์šฐ๋ฆฌ๋Š” ํ•™์ƒ๋“ค์—๊ฒŒ ์šฐ์„ ํ•ด์„œ ๋ณด์—ฌ์ฃผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‹น์‹ ์ด ๊ต์‹คํ™˜๊ฒฝ์—์„œ ๊ฐ€๋ฅด์น˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ด ๊ณณ์€ ์ผ์ •์„ ๊ฒ€ํ† ํ•˜๊ธฐ ์ข‹์€ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•˜๋ฃจ์˜ ๊ฐ•์˜๋ฅผ ์Šฌ๋ผ์ด๋“œ์— ๋”ฐ๋ผ์„œ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ค์ „: 9:00 to 12:00,
  • ์˜คํ›„: 13:00 to 16:00. ๋ฌผ๋ก  ํ•„์š”์— ๋”ฐ๋ผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ์ค‘๊ฐ„์— ์‰ฌ๋Š”์‹œ๊ฐ„์„ ๋„ฃ๋Š”๊ฑธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

The idea for the first day is to show just enough of Rust to be able to speak about the famous borrow checker. The way Rust handles memory is a major feature and we should show students this right away.

If youโ€™re teaching this in a classroom, this is a good place to go over the schedule. We suggest splitting the day into two parts (following the slides):

  • Morning: 9:00 to 12:00,
  • Afternoon: 13:00 to 16:00. You can of course adjust this as necessary. Please make sure to include breaks, we recommend a break every hour!