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

+10
View File
@@ -38,3 +38,13 @@ Replace `main.adb` with your actual source filename. Use your Forge username and
**Bisaya:** Basaha ang code, tag-ana ang resulta, padagana, ug ipasabot ang kausaban. Susihon ang `git diff` sa dili pa mag-commit.
The source SDK is in [matt/open_agila_sdk](https://git.agilaos.com/matt/open_agila_sdk). Continue with boundary tests, failure cases, and the automated knowledge checks.
## Expanded learning paths
129 additional lessons cover web development; Pascal and Objective-Pascal interoperability; C, C++, C#, Objective-C, V, Swift, Python, Ruby and BASIC; CPU architecture; OS and server engineering; AI runtimes; algorithms; concurrency; secure software; networking; and CPU/GPU core and memory mapping. English, Tagalog, and Bisaya each have their own folders. Existing Ada and Flying V lessons remain available.
Each module folder contains numbered lesson folders, runnable source where applicable, and a readable lesson file. Analysis and hardware exercises may require an external development environment. Course checks are on University, and track certificates record completed lesson checks and module assessments.
The browser lab uses C17, C++17, Free Pascal, Rust, GNAT Ada, Mono C#, GNUstep Objective-C, V, the Flying V SDK host adapter, Swift on Linux, Python, Ruby, and Bywater BASIC. Web previews run HTML/CSS/JavaScript in a sandboxed browser frame. Apple UI frameworks and a real GPU are not available on this teaching server. Objective Ada remains a planned Agila language; no invented compiler or syntax is supplied.
The public `open_kernel` at revision `9af96aa` is a host prototype with initialization stubs, not a bootable OS image. The public `open_agx` at `b14b362` currently uses its CPU reference backend. Lessons distinguish simulations, measured host results, and untested target hardware.
+9
View File
@@ -0,0 +1,9 @@
# BASIC — unang mga lakang
[Agila University track](https://edu.agilaos.com/track.php?track=21&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Imong unang programa nga mapasabot](lesson-1/lesson.html)
- [Lesson 2: Mga value ug desisyon](lesson-2/lesson.html)
- [Lesson 3: Function ug klarong lagda](lesson-3/lesson.html)
@@ -0,0 +1,4 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Imong unang programa nga mapasabot</title><h1>Imong unang programa nga mapasabot</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Usa ka hugpong sa mga sugo ang programa. Basaha gikan sa entry point ngadto sa output statement. Data ang teksto sulod sa mga kinutlo; sugo ang output operation. Tag-ana ang linya sa dili pa padaganon. Usba lang ang mensahe, padagana pag-usab, ug tangtanga ang usa ka gikinahanglang punctuation aron basahon ang unang error. Ibalik ang nagtrabaho nga source.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><pre><code class="language-basic">10 REM Change the message
20 PRINT &quot;Andam&quot;
30 SYSTEM
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,3 @@
10 REM Change the message
20 PRINT "Andam"
30 SYSTEM
@@ -0,0 +1,5 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Mga value ug desisyon</title><h1>Mga value ug desisyon</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang desisyon mopili kon unsang statement ang modagan. Ang lagda mao ang “andam sa 80 pataas.” Sunda ang 85, 79, 80, ug 81 sa dili pa padaganon. Apil ang 80 sa comparison. Mahimong sakto sa 85 apan sayop sa utlanan. Idugang ang lahi nga check sa pagbalibad sa ubos sa 0 o labaw sa 100; lahi ang invalid ug nagkinahanglan og praktis.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><pre><code class="language-basic">10 LET S = 85
20 IF S &gt;= 80 THEN PRINT &quot;Andam&quot;
30 IF S &lt; 80 THEN PRINT &quot;Pagpraktis&quot;
40 SYSTEM
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,4 @@
10 LET S = 85
20 IF S >= 80 THEN PRINT "Andam"
30 IF S < 80 THEN PRINT "Pagpraktis"
40 SYSTEM
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Function ug klarong lagda</title><h1>Function ug klarong lagda</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang function o subroutine nagngalan sa calculation nga magamit pag-usab. Ang lagda modawat og nonnegative total ug completed; zero ang resulta kon nakaabot o milapas ang completed sa total. Kon dili, ibalik ang kalainan. Sunda ang (4,1), (4,4), (4,5), ug (0,0). Ibulag ang pagpatik sa calculation. Ipasabot nganong gawas sa sakop ang negative input ug paghimo og pagbalibad sa dili pa modawat og external input.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><pre><code class="language-basic">30 LET T=4
40 LET D=1
50 GOSUB 200
60 PRINT R
70 SYSTEM
200 LET R=T-D
210 IF R&lt;0 THEN LET R=0
220 RETURN
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
30 LET T=4
40 LET D=1
50 GOSUB 200
60 PRINT R
70 SYSTEM
200 LET R=T-D
210 IF R<0 THEN LET R=0
220 RETURN
+9
View File
@@ -0,0 +1,9 @@
# BASIC — paghimo ug pagsulay
[Agila University track](https://edu.agilaos.com/track.php?track=21&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Collection ug balikbalik nga buluhaton](lesson-1/lesson.html)
- [Lesson 2: Usa ka importante nga kinaiya sa pinulongan](lesson-2/lesson.html)
- [Lesson 3: Paghimo, gub-a, ug sulayi ang study planner](lesson-3/lesson.html)
@@ -0,0 +1,11 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Collection ug balikbalik nga buluhaton</title><h1>Collection ug balikbalik nga buluhaton</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang collection nagtipig sa may kalabotang value. Bisitahon sa loop ang 1, 2, ug 3; ang total gikan sa 0 mahimong 1, 3, ug 6. Isulat ang trace imbes manag-an. Ilha ang una ug kataposang valid nga posisyon: mahimong 1-based ang Pascal array samtang zero-based ang daghang ubang container. Idugang og value ug taronga ang bounds. Ipasabot ang resulta alang sa empty collection.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><pre><code class="language-basic">10 DIM M(3)
20 LET M(1)=1
30 LET M(2)=2
40 LET M(3)=3
50 LET T=0
60 FOR I=1 TO 3
70 LET T=T+M(I)
80 NEXT I
90 PRINT T
100 SYSTEM
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>6</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,10 @@
10 DIM M(3)
20 LET M(1)=1
30 LET M(2)=2
40 LET M(3)=3
50 LET T=0
60 FOR I=1 TO 3
70 LET T=T+M(I)
80 NEXT I
90 PRINT T
100 SYSTEM
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Usa ka importante nga kinaiya sa pinulongan</title><h1>Usa ka importante nga kinaiya sa pinulongan</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Gamita ang nota sa pinulongan sa ubos aron ipasabot ang pag-usab sa state. Ilha unsa ang gikopya, gipaambit, mahimong mapakyas, ug gibuhian. Dili tanan nga pangutana magamit niini nga programa: isulti kung hain. Paghimo og usa ka kausaban, tag-ana ang epekto, ug itandi sa aktuwal nga resulta. Mahimong lahi ang lagda sa pamilyar nga operator sa laing pinulongan.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><p>Tinuyong modelo sa unsigned 8-bit wrap ang MOD expression: ang 255 + 1 mahimong 0 modulo 256. Dili niini usbon ang numeric representation sa BASIC interpreter o i-emulate ang 6502 CPU.</p><pre><code class="language-basic">10 REM An 8-bit unsigned wrap is modeled explicitly
20 LET VALUE=255
30 LET WRAPPED=(VALUE+1) MOD 256
40 PRINT WRAPPED
50 SYSTEM
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>0</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,5 @@
10 REM An 8-bit unsigned wrap is modeled explicitly
20 LET VALUE=255
30 LET WRAPPED=(VALUE+1) MOD 256
40 PRINT WRAPPED
50 SYSTEM
@@ -0,0 +1,10 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Paghimo, gub-a, ug sulayi ang study planner</title><h1>Paghimo, gub-a, ug sulayi ang study planner</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang mapuslanong test motandi sa resulta ug requirement. Dili angay mahimong negative ang nahibiling trabaho sa nonnegative input domain sa planner. Padagana ang starter, tuyoang tangtanga ang proteksiyon kon labaw sa total ang completed, ug siguroa nga adunay check nga mapakyas. Ibalik kini. Idugang ang duha ka study task, summary, ug boundary cases. I-save ang source ug ebidensiya sa Agila Forge. Ipasabot ang matag linya, apil ang gisugyot sa AI.</p><p>Ang line number nagpakita sa han-ay sa programa. Ang <code>GOSUB</code> moadto sa subroutine ug ang <code>RETURN</code> mobalik sa caller. Ang <code>SYSTEM</code> mogawas sa interpreter. Lahi-lahi ang BASIC dialect; dili awtomatikong modagan kining eksaktong dialect sa 6502 o Z80.</p><pre><code class="language-basic">10 LET T=4
20 LET D=5
30 GOSUB 200
40 IF R&lt;&gt;0 THEN PRINT &quot;Test failed&quot;
50 IF R=0 THEN PRINT &quot;Nipasar&quot;
60 SYSTEM
200 LET R=T-D
210 IF R&lt;0 THEN LET R=0
220 RETURN
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Nipasar</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,9 @@
10 LET T=4
20 LET D=5
30 GOSUB 200
40 IF R<>0 THEN PRINT "Test failed"
50 IF R=0 THEN PRINT "Nipasar"
60 SYSTEM
200 LET R=T-D
210 IF R<0 THEN LET R=0
220 RETURN
+9
View File
@@ -0,0 +1,9 @@
# C — unang mga lakang
[Agila University track](https://edu.agilaos.com/track.php?track=12&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Imong unang programa nga mapasabot](lesson-1/lesson.html)
- [Lesson 2: Mga value ug desisyon](lesson-2/lesson.html)
- [Lesson 3: Function ug klarong lagda](lesson-3/lesson.html)
@@ -0,0 +1,8 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Imong unang programa nga mapasabot</title><h1>Imong unang programa nga mapasabot</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Usa ka hugpong sa mga sugo ang programa. Basaha gikan sa entry point ngadto sa output statement. Data ang teksto sulod sa mga kinutlo; sugo ang output operation. Tag-ana ang linya sa dili pa padaganon. Usba lang ang mensahe, padagana pag-usab, ug tangtanga ang usa ka gikinahanglang punctuation aron basahon ang unang error. Ibalik ang nagtrabaho nga source.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int main(void) {
puts(&quot;Andam&quot;);
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,7 @@
#include <stdio.h>
#include <assert.h>
int main(void) {
puts("Andam");
return 0;
}
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Mga value ug desisyon</title><h1>Mga value ug desisyon</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang desisyon mopili kon unsang statement ang modagan. Ang lagda mao ang “andam sa 80 pataas.” Sunda ang 85, 79, 80, ug 81 sa dili pa padaganon. Apil ang 80 sa comparison. Mahimong sakto sa 85 apan sayop sa utlanan. Idugang ang lahi nga check sa pagbalibad sa ubos sa 0 o labaw sa 100; lahi ang invalid ug nagkinahanglan og praktis.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int main(void) {
int score = 85;
if (score &gt;= 80) puts(&quot;Andam&quot;); else puts(&quot;Pagpraktis&quot;);
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
#include <stdio.h>
#include <assert.h>
int main(void) {
int score = 85;
if (score >= 80) puts("Andam"); else puts("Pagpraktis");
return 0;
}
@@ -0,0 +1,8 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Function ug klarong lagda</title><h1>Function ug klarong lagda</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang function o subroutine nagngalan sa calculation nga magamit pag-usab. Ang lagda modawat og nonnegative total ug completed; zero ang resulta kon nakaabot o milapas ang completed sa total. Kon dili, ibalik ang kalainan. Sunda ang (4,1), (4,4), (4,5), ug (0,0). Ibulag ang pagpatik sa calculation. Ipasabot nganong gawas sa sakop ang negative input ug paghimo og pagbalibad sa dili pa modawat og external input.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
int main(void) {
printf(&quot;%d\n&quot;, remaining(4, 1));
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,7 @@
#include <stdio.h>
#include <assert.h>
int remaining(int total, int done) { return done >= total ? 0 : total - done; }
int main(void) {
printf("%d\n", remaining(4, 1));
return 0;
}
+9
View File
@@ -0,0 +1,9 @@
# C — paghimo ug pagsulay
[Agila University track](https://edu.agilaos.com/track.php?track=12&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Collection ug balikbalik nga buluhaton](lesson-1/lesson.html)
- [Lesson 2: Usa ka importante nga kinaiya sa pinulongan](lesson-2/lesson.html)
- [Lesson 3: Paghimo, gub-a, ug sulayi ang study planner](lesson-3/lesson.html)
@@ -0,0 +1,11 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Collection ug balikbalik nga buluhaton</title><h1>Collection ug balikbalik nga buluhaton</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang collection nagtipig sa may kalabotang value. Bisitahon sa loop ang 1, 2, ug 3; ang total gikan sa 0 mahimong 1, 3, ug 6. Isulat ang trace imbes manag-an. Ilha ang una ug kataposang valid nga posisyon: mahimong 1-based ang Pascal array samtang zero-based ang daghang ubang container. Idugang og value ug taronga ang bounds. Ipasabot ang resulta alang sa empty collection.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int main(void) {
int minutes[] = {1, 2, 3};
int total = 0;
for (size_t i = 0; i &lt; sizeof minutes / sizeof minutes[0]; ++i) total += minutes[i];
printf(&quot;%d\n&quot;, total);
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>6</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
+10
View File
@@ -0,0 +1,10 @@
#include <stdio.h>
#include <assert.h>
int main(void) {
int minutes[] = {1, 2, 3};
int total = 0;
for (size_t i = 0; i < sizeof minutes / sizeof minutes[0]; ++i) total += minutes[i];
printf("%d\n", total);
return 0;
}
@@ -0,0 +1,11 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Usa ka importante nga kinaiya sa pinulongan</title><h1>Usa ka importante nga kinaiya sa pinulongan</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Gamita ang nota sa pinulongan sa ubos aron ipasabot ang pag-usab sa state. Ilha unsa ang gikopya, gipaambit, mahimong mapakyas, ug gibuhian. Dili tanan nga pangutana magamit niini nga programa: isulti kung hain. Paghimo og usa ka kausaban, tag-ana ang epekto, ug itandi sa aktuwal nga resulta. Mahimong lahi ang lagda sa pamilyar nga operator sa laing pinulongan.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><p>Ang <code>address</code> nagtudlo sa buhi nga local nga <code>completed</code>; usbon kini sa <code>*address</code>. Ayaw ibalik ang pointer sa expired local o gamita ang arbitraryong numeric address.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int main(void) {
int completed = 2;
int *address = &amp;completed;
*address += 1;
printf(&quot;%d\n&quot;, completed);
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
+10
View File
@@ -0,0 +1,10 @@
#include <stdio.h>
#include <assert.h>
int main(void) {
int completed = 2;
int *address = &completed;
*address += 1;
printf("%d\n", completed);
return 0;
}
@@ -0,0 +1,12 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Paghimo, gub-a, ug sulayi ang study planner</title><h1>Paghimo, gub-a, ug sulayi ang study planner</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang mapuslanong test motandi sa resulta ug requirement. Dili angay mahimong negative ang nahibiling trabaho sa nonnegative input domain sa planner. Padagana ang starter, tuyoang tangtanga ang proteksiyon kon labaw sa total ang completed, ug siguroa nga adunay check nga mapakyas. Ibalik kini. Idugang ang duha ka study task, summary, ug boundary cases. I-save ang source ug ebidensiya sa Agila Forge. Ipasabot ang matag linya, apil ang gisugyot sa AI.</p><p>Magsugod ang C sa <code>main</code>. Ang <code>stdio.h</code> nagdeklarar sa output functions; ang <code>puts</code> modugang og bag-ong linya. Semicolon ang kataposan sa statement. Lahi ang integer ug pointer.</p><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
int main(void) {
assert(remaining(4,1)==3);
assert(remaining(4,4)==0);
assert(remaining(4,5)==0);
assert(remaining(0,0)==0);
puts(&quot;Nipasar&quot;);
return 0;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Nipasar</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://gcc.gnu.org/onlinedocs/gcc/Standards.html">Reperensiya sa pinulongan</a></p></html>
+11
View File
@@ -0,0 +1,11 @@
#include <stdio.h>
#include <assert.h>
int remaining(int total, int done) { return done >= total ? 0 : total - done; }
int main(void) {
assert(remaining(4,1)==3);
assert(remaining(4,4)==0);
assert(remaining(4,5)==0);
assert(remaining(0,0)==0);
puts("Nipasar");
return 0;
}
+9
View File
@@ -0,0 +1,9 @@
# C++ — unang mga lakang
[Agila University track](https://edu.agilaos.com/track.php?track=13&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Imong unang programa nga mapasabot](lesson-1/lesson.html)
- [Lesson 2: Mga value ug desisyon](lesson-2/lesson.html)
- [Lesson 3: Function ug klarong lagda](lesson-3/lesson.html)
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Imong unang programa nga mapasabot</title><h1>Imong unang programa nga mapasabot</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Usa ka hugpong sa mga sugo ang programa. Basaha gikan sa entry point ngadto sa output statement. Data ang teksto sulod sa mga kinutlo; sugo ang output operation. Tag-ana ang linya sa dili pa padaganon. Usba lang ang mensahe, padagana pag-usab, ug tangtanga ang usa ka gikinahanglang punctuation aron basahon ang unang error. Ibalik ang nagtrabaho nga source.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int main() {
std::cout &lt;&lt; &quot;Andam\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int main() {
std::cout << "Andam\n";
}
@@ -0,0 +1,10 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Mga value ug desisyon</title><h1>Mga value ug desisyon</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang desisyon mopili kon unsang statement ang modagan. Ang lagda mao ang “andam sa 80 pataas.” Sunda ang 85, 79, 80, ug 81 sa dili pa padaganon. Apil ang 80 sa comparison. Mahimong sakto sa 85 apan sayop sa utlanan. Idugang ang lahi nga check sa pagbalibad sa ubos sa 0 o labaw sa 100; lahi ang invalid ug nagkinahanglan og praktis.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int main() {
int score = 85;
std::cout &lt;&lt; (score &gt;= 80 ? &quot;Andam&quot; : &quot;Pagpraktis&quot;) &lt;&lt; &quot;\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,9 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int main() {
int score = 85;
std::cout << (score >= 80 ? "Andam" : "Pagpraktis") << "\n";
}
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Function ug klarong lagda</title><h1>Function ug klarong lagda</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang function o subroutine nagngalan sa calculation nga magamit pag-usab. Ang lagda modawat og nonnegative total ug completed; zero ang resulta kon nakaabot o milapas ang completed sa total. Kon dili, ibalik ang kalainan. Sunda ang (4,1), (4,4), (4,5), ug (0,0). Ibulag ang pagpatik sa calculation. Ipasabot nganong gawas sa sakop ang negative input ug paghimo og pagbalibad sa dili pa modawat og external input.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
int main() {
std::cout &lt;&lt; remaining(4, 1) &lt;&lt; &quot;\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int remaining(int total, int done) { return done >= total ? 0 : total - done; }
int main() {
std::cout << remaining(4, 1) << "\n";
}
+9
View File
@@ -0,0 +1,9 @@
# C++ — paghimo ug pagsulay
[Agila University track](https://edu.agilaos.com/track.php?track=13&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Collection ug balikbalik nga buluhaton](lesson-1/lesson.html)
- [Lesson 2: Usa ka importante nga kinaiya sa pinulongan](lesson-2/lesson.html)
- [Lesson 3: Paghimo, gub-a, ug sulayi ang study planner](lesson-3/lesson.html)
@@ -0,0 +1,12 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Collection ug balikbalik nga buluhaton</title><h1>Collection ug balikbalik nga buluhaton</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang collection nagtipig sa may kalabotang value. Bisitahon sa loop ang 1, 2, ug 3; ang total gikan sa 0 mahimong 1, 3, ug 6. Isulat ang trace imbes manag-an. Ilha ang una ug kataposang valid nga posisyon: mahimong 1-based ang Pascal array samtang zero-based ang daghang ubang container. Idugang og value ug taronga ang bounds. Ipasabot ang resulta alang sa empty collection.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int main() {
std::vector&lt;int&gt; minutes{1, 2, 3};
int total = 0;
for (int value : minutes) total += value;
std::cout &lt;&lt; total &lt;&lt; &quot;\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>6</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,11 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int main() {
std::vector<int> minutes{1, 2, 3};
int total = 0;
for (int value : minutes) total += value;
std::cout << total << "\n";
}
@@ -0,0 +1,12 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Usa ka importante nga kinaiya sa pinulongan</title><h1>Usa ka importante nga kinaiya sa pinulongan</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Gamita ang nota sa pinulongan sa ubos aron ipasabot ang pag-usab sa state. Ilha unsa ang gikopya, gipaambit, mahimong mapakyas, ug gibuhian. Dili tanan nga pangutana magamit niini nga programa: isulti kung hain. Paghimo og usa ka kausaban, tag-ana ang epekto, ug itandi sa aktuwal nga resulta. Mahimong lahi ang lagda sa pamilyar nga operator sa laing pinulongan.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><p>Adunay kaugalingong sequence ang vector copy. Magpabiling 2 ang gitas-on sa orihinal samtang 3 ang copy. Lahi kini sa pagkopya og reference sa shared object.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int main() {
std::vector&lt;std::string&gt; plan{&quot;Read&quot;, &quot;Test&quot;};
auto copy = plan;
copy.push_back(&quot;Explain&quot;);
std::cout &lt;&lt; plan.size() &lt;&lt; &quot; &quot; &lt;&lt; copy.size() &lt;&lt; &quot;\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>2 3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,11 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int main() {
std::vector<std::string> plan{"Read", "Test"};
auto copy = plan;
copy.push_back("Explain");
std::cout << plan.size() << " " << copy.size() << "\n";
}
@@ -0,0 +1,13 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Paghimo, gub-a, ug sulayi ang study planner</title><h1>Paghimo, gub-a, ug sulayi ang study planner</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang mapuslanong test motandi sa resulta ug requirement. Dili angay mahimong negative ang nahibiling trabaho sa nonnegative input domain sa planner. Padagana ang starter, tuyoang tangtanga ang proteksiyon kon labaw sa total ang completed, ug siguroa nga adunay check nga mapakyas. Ibalik kini. Idugang ang duha ka study task, summary, ug boundary cases. I-save ang source ug ebidensiya sa Agila Forge. Ipasabot ang matag linya, apil ang gisugyot sa AI.</p><p>Ang <code>std::cout</code> mosulat og output. Ang <code>std::vector</code> modumala sa nagtubo nga sequence ug mobuhi sa storage sa kataposan sa lifetime niini. C++17 ang lab; itala kon laing standard ang gikinahanglan.</p><pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;cassert&gt;
int remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
int main() {
assert(remaining(4,1)==3);
assert(remaining(4,4)==0);
assert(remaining(4,5)==0);
assert(remaining(0,0)==0);
std::cout &lt;&lt; &quot;Nipasar\n&quot;;
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Nipasar</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://isocpp.org/get-started">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,12 @@
#include <iostream>
#include <vector>
#include <string>
#include <cassert>
int remaining(int total, int done) { return done >= total ? 0 : total - done; }
int main() {
assert(remaining(4,1)==3);
assert(remaining(4,4)==0);
assert(remaining(4,5)==0);
assert(remaining(0,0)==0);
std::cout << "Nipasar\n";
}
@@ -0,0 +1,9 @@
# C# — unang mga lakang
[Agila University track](https://edu.agilaos.com/track.php?track=14&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Imong unang programa nga mapasabot](lesson-1/lesson.html)
- [Lesson 2: Mga value ug desisyon](lesson-2/lesson.html)
- [Lesson 3: Function ug klarong lagda](lesson-3/lesson.html)
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Imong unang programa nga mapasabot</title><h1>Imong unang programa nga mapasabot</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Usa ka hugpong sa mga sugo ang programa. Basaha gikan sa entry point ngadto sa output statement. Data ang teksto sulod sa mga kinutlo; sugo ang output operation. Tag-ana ang linya sa dili pa padaganon. Usba lang ang mensahe, padagana pag-usab, ug tangtanga ang usa ka gikinahanglang punctuation aron basahon ang unang error. Ibalik ang nagtrabaho nga source.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
static void Main() {
Console.WriteLine(&quot;Andam&quot;);
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Console.WriteLine("Andam");
}
}
@@ -0,0 +1,10 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Mga value ug desisyon</title><h1>Mga value ug desisyon</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang desisyon mopili kon unsang statement ang modagan. Ang lagda mao ang “andam sa 80 pataas.” Sunda ang 85, 79, 80, ug 81 sa dili pa padaganon. Apil ang 80 sa comparison. Mahimong sakto sa 85 apan sayop sa utlanan. Idugang ang lahi nga check sa pagbalibad sa ubos sa 0 o labaw sa 100; lahi ang invalid ug nagkinahanglan og praktis.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
static void Main() {
int score = 85;
Console.WriteLine(score &gt;= 80 ? &quot;Andam&quot; : &quot;Pagpraktis&quot;);
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Andam</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
class Program {
static void Main() {
int score = 85;
Console.WriteLine(score >= 80 ? "Andam" : "Pagpraktis");
}
}
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Function ug klarong lagda</title><h1>Function ug klarong lagda</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang function o subroutine nagngalan sa calculation nga magamit pag-usab. Ang lagda modawat og nonnegative total ug completed; zero ang resulta kon nakaabot o milapas ang completed sa total. Kon dili, ibalik ang kalainan. Sunda ang (4,1), (4,4), (4,5), ug (0,0). Ibulag ang pagpatik sa calculation. Ipasabot nganong gawas sa sakop ang negative input ug paghimo og pagbalibad sa dili pa modawat og external input.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
static int Remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
static void Main() {
Console.WriteLine(Remaining(4, 1));
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,8 @@
using System;
using System.Collections.Generic;
class Program {
static int Remaining(int total, int done) { return done >= total ? 0 : total - done; }
static void Main() {
Console.WriteLine(Remaining(4, 1));
}
}
+9
View File
@@ -0,0 +1,9 @@
# C# — paghimo ug pagsulay
[Agila University track](https://edu.agilaos.com/track.php?track=14&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Collection ug balikbalik nga buluhaton](lesson-1/lesson.html)
- [Lesson 2: Usa ka importante nga kinaiya sa pinulongan](lesson-2/lesson.html)
- [Lesson 3: Paghimo, gub-a, ug sulayi ang study planner](lesson-3/lesson.html)
@@ -0,0 +1,12 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Collection ug balikbalik nga buluhaton</title><h1>Collection ug balikbalik nga buluhaton</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang collection nagtipig sa may kalabotang value. Bisitahon sa loop ang 1, 2, ug 3; ang total gikan sa 0 mahimong 1, 3, ug 6. Isulat ang trace imbes manag-an. Ilha ang una ug kataposang valid nga posisyon: mahimong 1-based ang Pascal array samtang zero-based ang daghang ubang container. Idugang og value ug taronga ang bounds. Ipasabot ang resulta alang sa empty collection.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
static void Main() {
int[] minutes = {1, 2, 3};
int total = 0;
foreach (int value in minutes) total += value;
Console.WriteLine(total);
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>6</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
class Program {
static void Main() {
int[] minutes = {1, 2, 3};
int total = 0;
foreach (int value in minutes) total += value;
Console.WriteLine(total);
}
}
@@ -0,0 +1,12 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Usa ka importante nga kinaiya sa pinulongan</title><h1>Usa ka importante nga kinaiya sa pinulongan</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Gamita ang nota sa pinulongan sa ubos aron ipasabot ang pag-usab sa state. Ilha unsa ang gikopya, gipaambit, mahimong mapakyas, ug gibuhian. Dili tanan nga pangutana magamit niini nga programa: isulti kung hain. Paghimo og usa ka kausaban, tag-ana ang epekto, ug itandi sa aktuwal nga resulta. Mahimong lahi ang lagda sa pamilyar nga operator sa laing pinulongan.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
class Plan { public int Done = 2; }
static void Main() {
var plan = new Plan();
var alias = plan;
alias.Done = 3;
Console.WriteLine(plan.Done);
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
class Program {
class Plan { public int Done = 2; }
static void Main() {
var plan = new Plan();
var alias = plan;
alias.Done = 3;
Console.WriteLine(plan.Done);
}
}
@@ -0,0 +1,11 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Paghimo, gub-a, ug sulayi ang study planner</title><h1>Paghimo, gub-a, ug sulayi ang study planner</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang mapuslanong test motandi sa resulta ug requirement. Dili angay mahimong negative ang nahibiling trabaho sa nonnegative input domain sa planner. Padagana ang starter, tuyoang tangtanga ang proteksiyon kon labaw sa total ang completed, ug siguroa nga adunay check nga mapakyas. Ibalik kini. Idugang ang duha ka study task, summary, ug boundary cases. I-save ang source ug ebidensiya sa Agila Forge. Ipasabot ang matag linya, apil ang gisugyot sa AI.</p><p>Ang <code>Main</code> mao ang entry method sulod sa <code>Program</code>. Ang <code>Console.WriteLine</code> mopatik og linya. Mahimong daghan og reference ang usa ka class instance; dili cloning ang pag-assign og reference.</p><pre><code class="language-csharp">using System;
using System.Collections.Generic;
class Program {
static int Remaining(int total, int done) { return done &gt;= total ? 0 : total - done; }
static void Main() {
if (Remaining(4,1)!=3 || Remaining(4,4)!=0 || Remaining(4,5)!=0 || Remaining(0,0)!=0)
throw new Exception(&quot;Test failed&quot;);
Console.WriteLine(&quot;Nipasar&quot;);
}
}
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Nipasar</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/">Reperensiya sa pinulongan</a></p></html>
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
class Program {
static int Remaining(int total, int done) { return done >= total ? 0 : total - done; }
static void Main() {
if (Remaining(4,1)!=3 || Remaining(4,4)!=0 || Remaining(4,5)!=0 || Remaining(0,0)!=0)
throw new Exception("Test failed");
Console.WriteLine("Nipasar");
}
}
+9
View File
@@ -0,0 +1,9 @@
# CPU Architecture ug Portability · 1
[Agila University track](https://edu.agilaos.com/track.php?track=22&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Source, machine code, ug ISA](lesson-1/lesson.html)
- [Lesson 2: Bit, byte, ug gilapdon sa integer](lesson-2/lesson.html)
- [Lesson 3: Lagda sa byte order ang endianness](lesson-3/lesson.html)
+3
View File
@@ -0,0 +1,3 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Source, machine code, ug ISA</title><h1>Source, machine code, ug ISA</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang CPU mo-execute og instruction gikan sa iyang ISA. Ang source nagkinahanglan og compiler o interpreter. Mahimong modagan ang samang Python source sa x86-64 ug Arm64 kon adunay compatible interpreter; lahi nga artifact ang compiled x86-64 executable. I-print ang architecture sa lab ug paghimo og table sa source language, ISA, OS, ug runtime. Lahi ang emulator ug recompilation.</p><pre><code class="language-python">import platform
print(platform.machine())
</code></pre><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+2
View File
@@ -0,0 +1,2 @@
import platform
print(platform.machine())
+5
View File
@@ -0,0 +1,5 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Bit, byte, ug gilapdon sa integer</title><h1>Bit, byte, ug gilapdon sa integer</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Adunay 256 pattern ang walo ka bit. Gikan sa 0 ngadto sa 255 ang unsigned 8-bit value. Ang modelo naggamit og modulo aron mahimong zero ang 256; dili ingon niini ang natural nga Python integer. Itandi ang signed ug unsigned nga interpretasyon sa 255. Tag-ana ang range sa 16 bits. Ayaw ibase ang pointer o integer size sa ngalan lamang sa CPU.</p><pre><code class="language-python">bits=8
print(2**bits)
print((255+1) % (2**bits))
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>256
0</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+3
View File
@@ -0,0 +1,3 @@
bits=8
print(2**bits)
print((255+1) % (2**bits))
+5
View File
@@ -0,0 +1,5 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Lagda sa byte order ang endianness</title><h1>Lagda sa byte order ang endianness</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong tipigan ang 0x1234 isip 34 12 sa little-endian o 12 34 sa big-endian. Pareho ang numero; representasyon ang nausab. Padagana ang conversion ug i-decode balik. Ang file o network protocol kinahanglan mosulti sa byte order imbes mokopya lang og host struct. Lahi nga butang ang padding ug alignment.</p><pre><code class="language-python">value=0x1234
print(value.to_bytes(2,&quot;little&quot;).hex())
print(value.to_bytes(2,&quot;big&quot;).hex())
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3412
1234</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+3
View File
@@ -0,0 +1,3 @@
value=0x1234
print(value.to_bytes(2,"little").hex())
print(value.to_bytes(2,"big").hex())
+9
View File
@@ -0,0 +1,9 @@
# CPU Architecture ug Portability · 2
[Agila University track](https://edu.agilaos.com/track.php?track=22&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Itandi ang x86-64, Arm64, ug RISC-V](lesson-1/lesson.html)
- [Lesson 2: BASIC sa 6502, Z80, ug modernong host](lesson-2/lesson.html)
- [Lesson 3: Masubli nga portability report](lesson-3/lesson.html)
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Itandi ang x86-64, Arm64, ug RISC-V</title><h1>Itandi ang x86-64, Arm64, ug RISC-V</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Lahi ang instruction encoding ug register convention sa x86-64, AArch64, ug RV64. X0–X30 ang 64-bit general register sa AArch64; x0–x31 sa RV64I ug kanunay zero ang x0. Ang ABI modugang og calling convention, stack rule, ug binary interface. Itandi ang function call sa opisyal nga manual ug ilista ang usbon sa compiler backend. Dili interchangeable ang binary tungod lang kay 64-bit.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>BASIC sa 6502, Z80, ug modernong host</title><h1>BASIC sa 6502, Z80, ug modernong host</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang BASIC dialect iya sa interpreter o compiler, dili direkta sa CPU. Kasagaran lahi ang BASIC ug device command sa klasiko nga 6502 ug Z80 system. Ibulag ang portable arithmetic sa machine-specific graphics, PEEK/POKE address, ug file command. I-port ang tulo ka linyang greeting gamit ang target manual. Sa lab, Bywater sa Linux ang modagan; dili kini emulator sa duha ka karaang machine.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Masubli nga portability report</title><h1>Masubli nga portability report</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Pili og gamay nga program ug duha ka target environment. Itala ang compiler/interpreter version, ISA, OS, input, expected ug actual result, ug limitasyon. Lahi ang compile success ug malampusong pagdagan sa target. Kon usa lang ang available, markahi ang lain nga untested. Gamita ang opisyal nga Intel, Arm, ug RISC-V reference sa resources. Sunod ang core ug memory mapping track.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html">Reperensiya sa pinulongan: www.intel.com</a></p><p><a href="https://developer.arm.com/Architectures/Learn%20the%20Architecture">Reperensiya sa pinulongan: developer.arm.com</a></p><p><a href="https://docs.riscv.org/">Reperensiya sa pinulongan: docs.riscv.org</a></p></html>
+9
View File
@@ -0,0 +1,9 @@
# Paghimo og Open Agila OS · 1
[Agila University track](https://edu.agilaos.com/track.php?track=23&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: I-build ang public kernel prototype](lesson-1/lesson.html)
- [Lesson 2: Sunda sa hustong paagi ang initialization](lesson-2/lesson.html)
- [Lesson 3: Imodelo ang page translation](lesson-3/lesson.html)
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>I-build ang public kernel prototype</title><h1>I-build ang public kernel prototype</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang public open_kernel naggamit og Ada, kernel.gpr, ug Makefile. Host program ang gi-build ug gipadagan sa make run. Dili kini bootable bare-metal image. Gitawag sa Main ang Kernel.Start. Susiha una ang source; 9af96aa ang reference revision.</p><p><strong>Praktis ug ebidensiya:</strong> I-clone gikan sa Forge sa development environment, i-install ang GNAT ug gprbuild, padagana ang make ug make run, ug itala ang commit ug output. Single-file ang browser lab; gamita ang kaugalingong development environment sa multi-file build.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Sunda sa hustong paagi ang initialization</title><h1>Sunda sa hustong paagi ang initialization</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Gitawag sa Kernel.Start ang initialization sa CPU, Memory, Console, Interrupt, Timer, ug Scheduler. Null pa ang sulod sa uban. Dili pamatuod sa subsystem ang initialized message. Sunda ang matag call ug ilahi ang implemented, host-backed, ug stub.</p><p><strong>Praktis ug ebidensiya:</strong> Paghimo og evidence table: file, procedure, makita nga kinaiya, ug test nga gikinahanglan pa. Ang Console naggamit og Ada.Text_IO ug nagsalig sa host runtime.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Imodelo ang page translation</title><h1>Imodelo ang page translation</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong bahinon ang virtual address ngadto sa page number ug offset. Ang modelo naggamit og 4096-byte page ug dictionary gikan sa virtual page ngadto sa physical frame. Adunay permission ang tinuod nga page table ug gidumala kini sa architecture-specific hardware ug kernel. Modelo kini, dili access sa physical memory.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang output, tangtanga ang mapping 2, ug dumalaa ang nawala nga page. Idugang ang read/write permission ug test nga mobalibad sa write.</p><pre><code class="language-python">page_size=4096
table={2:7}
address=2*page_size+13
page,offset=divmod(address,page_size)
print(table[page]*page_size+offset)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>28685</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+5
View File
@@ -0,0 +1,5 @@
page_size=4096
table={2:7}
address=2*page_size+13
page,offset=divmod(address,page_size)
print(table[page]*page_size+offset)
+9
View File
@@ -0,0 +1,9 @@
# Paghimo og Open Agila OS · 2
[Agila University track](https://edu.agilaos.com/track.php?track=23&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Scheduler nga adunay masukod nga han-ay](lesson-1/lesson.html)
- [Lesson 2: Interrupt ug utlanan sa driver](lesson-2/lesson.html)
- [Lesson 3: Gikan sa host prototype ngadto sa bootable system](lesson-3/lesson.html)
+9
View File
@@ -0,0 +1,9 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Scheduler nga adunay masukod nga han-ay</title><h1>Scheduler nga adunay masukod nga han-ay</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang scheduler mopili sa runnable task nga hatagan og turno. Imodelo ang round-robin gamit ang queue. Matag task mokonsumo og usa ka unit ug mobalik kon adunay nahibilin. Walay interrupt, context switch, o tinuod nga parallel execution niini nga modelo.</p><p><strong>Praktis ug ebidensiya:</strong> Sunda ang A=2 ug B=1, idugang ang empty task, ug itakda kon mosulod ba kini sa runnable queue. Sulayi ang fairness pinaagi sa execution order.</p><pre><code class="language-python">from collections import deque
ready=deque([(&quot;A&quot;,2),(&quot;B&quot;,1)])
order=[]
while ready:
name,left=ready.popleft()
order.append(name)
if left&gt;1: ready.append((name,left-1))
print(&quot; &quot;.join(order))
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>A B A</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+8
View File
@@ -0,0 +1,8 @@
from collections import deque
ready=deque([("A",2),("B",1)])
order=[]
while ready:
name,left=ready.popleft()
order.append(name)
if left>1: ready.append((name,left-1))
print(" ".join(order))
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Interrupt ug utlanan sa driver</title><h1>Interrupt ug utlanan sa driver</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Moagi sa architecture-specific entry code ang hardware interrupt. Dili hardware interrupt ang host callback. Ang driver mo-validate sa device state, modumala sa buffer, ug mosunod sa ordering rule. Sugdi sa fake device aron sulayan ang invalid length ug timeout nga walay arbitraryong hardware write.</p><p><strong>Praktis ug ebidensiya:</strong> Pagdisenyo og read(buffer,length) contract nga adunay success, invalid argument, ug timeout. Pagsulat og test sa matag resulta sa dili pa mopili og emulator ug documented device.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Gikan sa host prototype ngadto sa bootable system</title><h1>Gikan sa host prototype ngadto sa bootable system</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang bootable kernel nagkinahanglan og target, boot protocol, linker layout, freestanding runtime, exception entry, memory management, ug driver. Dili pa kompleto kini sa repository. Pili og gamay nga kontribusyon: ilisi ang stub og tested host model, idugang ang boundary test, o idokumento ang interface. Kinahanglang mo-boot sa emulator ang sunod nga milestone ug pamatud-an ang subsystem pinaagi sa obserbasyon.</p><p><strong>Praktis ug ebidensiya:</strong> Paghimo og Forge branch, i-commit ang kausaban ug test evidence, ug ablihi ang pull request. Ilahi sa report ang host test ug boot test. Ang certificate nagrekord sa lesson checks; dili kini pamatuod nga nahuman na ang production OS.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_kernel">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://git.agilaos.com/matt/agila_open_tool">Reperensiya sa pinulongan: git.agilaos.com</a></p></html>
+9
View File
@@ -0,0 +1,9 @@
# Server OS Engineering · 1
[Agila University track](https://edu.agilaos.com/track.php?track=24&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Unsa ang naghimo sa server OS?](lesson-1/lesson.html)
- [Lesson 2: State ug recovery sa service](lesson-2/lesson.html)
- [Lesson 3: Account ug least privilege](lesson-3/lesson.html)
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Unsa ang naghimo sa server OS?</title><h1>Unsa ang naghimo sa server OS?</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang server OS naghiusa sa kernel, boot ug service management, storage, networking, account, update, ug recovery. Lahi ang paghimo og server distribution ug pagsulat og bag-ong kernel. Pilia ang tumong. Idrowing ang request gikan sa network interface ngadto sa service ug storage; markahi ang trust boundary.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+3
View File
@@ -0,0 +1,3 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>State ug recovery sa service</title><h1>State ug recovery sa service</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong stopped, starting, ready, failed, o restarting ang service. Ang readiness mao ang katakos sa trabaho, dili lang ang pagkaanaa sa PID. Kinahanglan og backoff ug limit ang restart aron malikayan ang walay hunong nga crash loop. Imodelo ang startup failure ug pagkaandam sa dependency.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">delays=[min(2**attempt,30) for attempt in range(6)]
print(delays)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>[1, 2, 4, 8, 16, 30]</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+2
View File
@@ -0,0 +1,2 @@
delays=[min(2**attempt,30) for attempt in range(6)]
print(delays)
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Account ug least privilege</title><h1>Account ug least privilege</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ihatag lamang sa service ang file ug capability nga gikinahanglan. Ibulag ang admin ug application identity. Ang authentication mangutana kinsa ang caller; ang authorization mangutana unsa ang gitugotan. Sulayi ang estudyante nga mobasa sa record sa lain. Dili access-control check ang gitagong button.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">def can_read(caller,owner):
return caller==owner
assert can_read(7,7)
assert not can_read(7,8)
print(&quot;Passed&quot;)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Passed</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+5
View File
@@ -0,0 +1,5 @@
def can_read(caller,owner):
return caller==owner
assert can_read(7,7)
assert not can_read(7,8)
print("Passed")
+9
View File
@@ -0,0 +1,9 @@
# Server OS Engineering · 2
[Agila University track](https://edu.agilaos.com/track.php?track=24&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Durable storage ug restore test](lesson-1/lesson.html)
- [Lesson 2: Obserbahi ang latency, error, ug capacity](lesson-2/lesson.html)
- [Lesson 3: Capstone alang sa server system](lesson-3/lesson.html)
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Durable storage ug restore test</title><h1>Durable storage ug restore test</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mapuslanon lamang ang backup kon mauli ang data ug metadata. Planuhon ang consistent nga database ug repository snapshot. Ang checksum makakita og giusab nga byte apan dili pamatuod sa logical validity. Itakda ang recovery-point ug recovery-time target. Praktisa ang isolated restore sa dili pa ang outage.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">import hashlib
original=b&quot;study record v1&quot;
restored=bytes(original)
assert hashlib.sha256(original).digest()==hashlib.sha256(restored).digest()
print(&quot;Bytes match; application checks still needed&quot;)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>Bytes match; application checks still needed</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+5
View File
@@ -0,0 +1,5 @@
import hashlib
original=b"study record v1"
restored=bytes(original)
assert hashlib.sha256(original).digest()==hashlib.sha256(restored).digest()
print("Bytes match; application checks still needed")
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Obserbahi ang latency, error, ug capacity</title><h1>Obserbahi ang latency, error, ug capacity</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Matago sa average ang hinay nga request. Itala ang latency distribution, error count, resource use, ug measurement window. Ayaw i-log ang password o private payload. Median sa fixed demonstration data ang sample, dili sukod sa server. Ilisi og bounded local experiment ug butangi og environment label.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">from statistics import median
samples_ms=[2,3,3,4,40]
print(median(samples_ms))
print(max(samples_ms))
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>3
40</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+4
View File
@@ -0,0 +1,4 @@
from statistics import median
samples_ms=[2,3,3,4,40]
print(median(samples_ms))
print(max(samples_ms))
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Capstone alang sa server system</title><h1>Capstone alang sa server system</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Pagdisenyo og reproducible server image sa disposable VM: base, service user, firewall, HTTPS, update policy, backup, health check, ug restore drill. Itala ang clean install ug controlled failure. Alang sa Agila-native server, ilista ang kulang nga kernel ug driver imbes tawgon nga bag-ong OS ang host app. I-publish ang source ug redacted evidence sa Forge.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p></html>
+9
View File
@@ -0,0 +1,9 @@
# AI Runtime Engineering · 1
[Agila University track](https://edu.agilaos.com/track.php?track=25&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Unsa ang buhat sa AI runtime](lesson-1/lesson.html)
- [Lesson 2: Shape sa dili pa matrix multiplication](lesson-2/lesson.html)
- [Lesson 3: Numerical tolerance ug reference](lesson-3/lesson.html)
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Unsa ang buhat sa AI runtime</title><h1>Unsa ang buhat sa AI runtime</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Ang model naghulagway sa parameter ug operation. Ang runtime mo-load ug mo-validate sa shape ug type, mo-allocate og memory, mo-schedule, ug mo-execute og kernel. Lahi ang training ug inference. Sugdi sa gamay nga deterministic calculation nga masusi sa kamot sa dili pa acceleration.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">x=[2.0,3.0]
w=[0.5,2.0]
bias=1.0
y=sum(a*b for a,b in zip(x,w))+bias
print(y)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>8.0</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://onnx.ai/onnx/intro/">Reperensiya sa pinulongan: onnx.ai</a></p></html>
+5
View File
@@ -0,0 +1,5 @@
x=[2.0,3.0]
w=[0.5,2.0]
bias=1.0
y=sum(a*b for a,b in zip(x,w))+bias
print(y)
+6
View File
@@ -0,0 +1,6 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Shape sa dili pa matrix multiplication</title><h1>Shape sa dili pa matrix multiplication</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Kon m×k ang A ug k×n ang B, m×n ang resulta. Kinahanglang magkatakdo ang inner dimension. Susiha ang empty ug ragged input sa dili pa indexing. Makapugong ang shape check sa ubang error apan dili kini pamatuod sa kahulogan sa weight. CPU reference kini, dili trained language model.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">a=[[1,2],[3,4]]
b=[[5],[6]]
assert all(len(row)==len(b) for row in a)
out=[[sum(a[i][k]*b[k][j] for k in range(len(b))) for j in range(len(b[0]))] for i in range(len(a))]
print(out)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>[[17], [39]]</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://onnx.ai/onnx/intro/">Reperensiya sa pinulongan: onnx.ai</a></p></html>
+5
View File
@@ -0,0 +1,5 @@
a=[[1,2],[3,4]]
b=[[5],[6]]
assert all(len(row)==len(b) for row in a)
out=[[sum(a[i][k]*b[k][j] for k in range(len(b))) for j in range(len(b[0]))] for i in range(len(a))]
print(out)
+4
View File
@@ -0,0 +1,4 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Numerical tolerance ug reference</title><h1>Numerical tolerance ug reference</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Mahimong magkalahi og gamay ang floating-point result kon mausab ang han-ay. Itandi sa trusted reference gamit ang documented absolute ug relative tolerance; balibari ang wala damhang NaN. Ayaw padak-a lang ang tolerance aron mopasar. Sulayi ang zero, negative, dakong magnitude, ug normal range.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">import math
actual=0.1+0.2
print(math.isclose(actual,0.3,rel_tol=1e-9,abs_tol=1e-12))
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>True</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://onnx.ai/onnx/intro/">Reperensiya sa pinulongan: onnx.ai</a></p></html>
+3
View File
@@ -0,0 +1,3 @@
import math
actual=0.1+0.2
print(math.isclose(actual,0.3,rel_tol=1e-9,abs_tol=1e-12))
+9
View File
@@ -0,0 +1,9 @@
# AI Runtime Engineering · 2
[Agila University track](https://edu.agilaos.com/track.php?track=25&lang=ceb)
Mga 15 minutos matag leksyon. Tag-ana, padagana, usba, ipasabot, ug tubaga ang pagsusi sa University.
- [Lesson 1: Planuhon ang memory lifetime](lesson-1/lesson.html)
- [Lesson 2: Adunay error budget ang quantization](lesson-2/lesson.html)
- [Lesson 3: Runtime capstone nga mapasabot](lesson-3/lesson.html)
+4
View File
@@ -0,0 +1,4 @@
<!doctype html><html lang="ceb"><meta charset="utf-8"><title>Planuhon ang memory lifetime</title><h1>Planuhon ang memory lifetime</h1><p>15-minutong sesyon: pagbasa sulod sa 3 minutos, pag-trace sa 3, pag-eksperimento sa 7, ug pagtubag sa check sa 2. Paggahin og dugang oras kon gikinahanglan.</p><p>Adunay creation ug last-use point ang value sa execution graph. Gamita pag-usab ang buffer kon dili na gikinahanglan ang daang value ug walay asynchronous operation nga naggamit niini. Ilahi ang accounting sa weight, activation, workspace, ug cache. Kwentaha ang element count times bytes per element; idugang ang alignment ug overhead sa tinuod nga implementation.</p><p><strong>Praktis ug ebidensiya:</strong> Tag-ana ang pananglitan o idrowing ang pag-usab sa state. Usba ang usa ka pagtuo, sulayi ang utlanan, ug itala ang aktuwal nga resulta. Ipasabot unsa ang wala mapamatud-i sa gamay nga modelo bahin sa production system.</p><pre><code class="language-python">shape=(4,8)
bytes_per_element=4
print(shape[0]*shape[1]*bytes_per_element)
</code></pre><p><strong>Gipaabot nga resulta:</strong> <code>128</code></p><h3>Praktis ug ebidensiya</h3><p>Isulat ang tagna, aktuwal nga resulta, ug hinungdan sa pagkapareho o kalainan. Ang completion check mosukod sa pagsabot; ang practice task mopauswag sa kahanas.</p><p><a href="https://git.agilaos.com/matt/open_agx">Reperensiya sa pinulongan: git.agilaos.com</a></p><p><a href="https://onnx.ai/onnx/intro/">Reperensiya sa pinulongan: onnx.ai</a></p></html>
+3
View File
@@ -0,0 +1,3 @@
shape=(4,8)
bytes_per_element=4
print(shape[0]*shape[1]*bytes_per_element)
Loaded 100 of 844 files, more files were not shown because too many files have changed in this diff. Show more