Add multilingual language and systems learning tracks

This commit is contained in:
Admin committed 2026-11-01 15:46:21 +08:00
1 parent 07338189fc
commit d8d1c40118
844 files changed
+6061

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
# Swift — first steps
[Agila University track](https://edu.agilaos.com/track.php?track=17&lang=en)
About 15 minutes per lesson. Predict, run, change, explain, then complete the check in University.
- [Lesson 1: Your first explainable program](lesson-1/lesson.html)
- [Lesson 2: Values and decisions](lesson-2/lesson.html)
- [Lesson 3: Functions and a clear policy](lesson-3/lesson.html)
@@ -0,0 +1,2 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>Your first explainable program</title><h1>Your first explainable program</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>A program is a set of instructions. Read the example from its entry point to the output statement. Text in quotes is data; the output operation is an instruction. Predict the printed line before running. Change only the message, run again, then remove one required punctuation mark and read the first error. Restore the working source.</p><p><code>let</code> introduces an immutable binding and <code>var</code> a mutable one. Converting text with <code>Int(raw)</code> may produce <code>nil</code>. <code>if let</code> unwraps a present value without force-unwrapping missing data.</p><pre><code class="language-swift">print(&quot;Ready&quot;)
</code></pre><p><strong>Expected result:</strong> <code>Ready</code></p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://docs.swift.org/swift-book/documentation/the-swift-programming-language/">Language reference</a></p></html>
@@ -0,0 +1 @@
print("Ready")
@@ -0,0 +1,3 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>Values and decisions</title><h1>Values and decisions</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>A decision chooses which statements run. The policy here is “ready at 80 or higher.” Trace 85, 79, 80, and 81 before running each case. The comparison includes 80. A program that prints the right answer for 85 may still be wrong at the boundary. Add a separate check rejecting scores below 0 or above 100; rejection and needing practice mean different things.</p><p><code>let</code> introduces an immutable binding and <code>var</code> a mutable one. Converting text with <code>Int(raw)</code> may produce <code>nil</code>. <code>if let</code> unwraps a present value without force-unwrapping missing data.</p><pre><code class="language-swift">let score = 85
if score &gt;= 80 { print(&quot;Ready&quot;) } else { print(&quot;Practice&quot;) }
</code></pre><p><strong>Expected result:</strong> <code>Ready</code></p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://docs.swift.org/swift-book/documentation/the-swift-programming-language/">Language reference</a></p></html>
@@ -0,0 +1,2 @@
let score = 85
if score >= 80 { print("Ready") } else { print("Practice") }
@@ -0,0 +1,6 @@
<!doctype html><html lang="en"><meta charset="utf-8"><title>Functions and a clear policy</title><h1>Functions and a clear policy</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>A function or subroutine names a reusable calculation. Our policy accepts nonnegative total and completed counts and returns zero when completed reaches or exceeds total. Otherwise it returns their difference. Trace (4,1), (4,4), (4,5), and (0,0). Keep printing separate from calculation. Write down why negative inputs are outside this exercise’s domain, then design an explicit rejection policy before accepting external input.</p><p><code>let</code> introduces an immutable binding and <code>var</code> a mutable one. Converting text with <code>Int(raw)</code> may produce <code>nil</code>. <code>if let</code> unwraps a present value without force-unwrapping missing data.</p><pre><code class="language-swift">func remaining(_ total: Int, _ done: Int) -&gt; Int {
return max(0, total - done)
}
print(remaining(4, 1))
</code></pre><p><strong>Expected result:</strong> <code>3</code></p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://docs.swift.org/swift-book/documentation/the-swift-programming-language/">Language reference</a></p></html>
@@ -0,0 +1,5 @@
func remaining(_ total: Int, _ done: Int) -> Int {
return max(0, total - done)
}
print(remaining(4, 1))