Ipinaglunsad ng Stanford ang CS146S: Unang AI-Driven na Software Engineering Course

iconMetaEra
I-share
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconSummary

expand icon
Lumunsad ng Stanford ang CS146S: Ang Modernong Software Developer, ang unang kurso sa unibersidad na nakatuon sa AI-assisted software engineering. Ang 10-taong programa ay tumatalakay sa AI prompt engineering, production monitoring, at security. Gumagamit ito ng mga kasangkapan tulad ng Cursor, Claude Code, at Warp, at pinopromote ang human-AI collaboration kaysa sa AI-driven na "Vibe Coding." Ang kurso ay nakatuon sa mga karanasang developer at kasama ang mga guest lecture mula sa mga eksperto sa AI tooling. Ang pagtaas ng balita tungkol sa AI + crypto ay nagpapakita ng patuloy na pagkakasalig ng AI at blockchain. Maaaring makatulong din ang mga bagong listing ng token mula sa mga praktis na nagmumula sa AI-driven development.
Hindi lamang ipinakilala nang sistematiko sa klase ang pinakamoderno na AI coding toolchain (tulad ng Cursor, Claude Code, Warp, atbp.), kundi unang beses din itinakda sa akademya ang buong bagong metodolohiya at enginyering na pilosopiya para sa modernong pagbuo ng software.

May-akda at pinagkukunan ng artikulo: 0x9999in1, ME News

Historical turning point ng software engineering paradigm at pagbabago sa edukasyon

Sa loob ng ilang taon lamang, ang paglago ng malalaking modelo ng wika (LLM) ay nagdala sa buong siklo ng pagbuo ng software sa isang historikal na punto ng pagbabago. Sa tradisyonal na kahulugan, ang pangunahing hadlang sa kasanayan ng mga software engineer ay nakabatay sa pagtala sa mga kumplikadong sintaks, pagpapatupad ng mga pundamental na algoritmo, at pagbuo ng code line by line. Gayunpaman, kasabay ng pagkakaroon ng mga generatibong AI at ekosistema ng mga agente (Agents), ang mga pangunahing bahagi ng pagbuo ng software ay binabago ng mga makina. Ang artificial intelligence ay hindi na lamang isang kasangkapan na nagbibigay ng auto-complete, kundi ito ay unti-unting nagsisilbing “team ng mga agente” na may kakayahang magplano, sumulat, subukan, at kahit mag-deploy ng code nang sarili. Sa ilalim ng malawak na teknolohikal na kontekstong ito, ang paglalarawan sa tungkulin ng mga software engineer ay nagsilbi sa isang malalim na pagbabago mula sa “code writer (Coder)” patungo sa “system designer at manager ng mga agente (Architects of Agentic Workflows)”.

Sa harap ng malaking pagbabago sa industriya, ang akademya ay nagdanas ng pagkakalito, at maraming tradisyonal na unibersidad ay naglabas ng patakaran na ipagbawal sa mga mag-aaral ang paggamit ng mga tool na may AI sa kanilang programming assignments sa unang yugto. Gayunpaman, ang Stanford University ay pumili na tanggapin nang buong-puso ang alon ng teknolohiya, at noong Fall 2025 ay opisyal na ipinakilala ang unang sistematisadong kurso sa unibersidad na nagtuturo ng AI-assisted software engineering—CS146S: The Modern Software Developer. Ang pagkakalikha ng kurso na ito ay nagmarka ng isang mahalagang pagsasaligan sa mataas na edukasyon sa computer science. Hindi lamang ito sistematikong isinama ang pinakamodernong AI coding toolchain (tulad ng Cursor, Claude Code, Warp, atbp.) sa klase, kundi unang beses din ito ay nagtatag ng isang buong bagong metodolohiya at engineering philosophy para sa modernong software development.

Ang ulat na ito ay naglalayong magbigay ng komprehensibong malalim na pagsusuri sa kurso na CS146S ng Stanford University. Sa pamamagitan ng paghihiwalay ng nilalaman ng kurso, pilosopiyang pang-edukasyon, teknikal na ekosistema, at mga kaso sa industriya (tulad ng napakalimitang kontrobersyal na “Vibe Coding”), sasaklaw ng ulat na ito kung paano binabago ng malalaking modelo sa wika ang bawat yugto ng software engineering, at ipapakita ang mga pangunahing kakayahan na kailangan ng mga software engineer ng susunod na henerasyon upang manatiling kompetitibo sa panahon ng AI. Ito ay hindi lamang isang pagsusuri sa isang kurso sa unibersidad, kundi isang maagang pagsusuri sa landas ng pag-unlad ng software sa susunod na sampung taon.

Ang pag-usbong, kontrobersya, at mga limitasyon sa produksyon ng “Vibe Coding”

Bago ipaglaban ang pangunahing pilosopiya ng CS146S, kailangang suriin nang malalim ang industriyal na konteksto na nagdulot ng malawakang talakayan sa kurso—ang pag-usbong ng trend na “Vibe Coding.” Ang termino at fenomenong ito ay nagsisilbing sentral na kritikal na elemento sa kurso at layunin ng pagdidisenyo.

Kahulugan ng “atmospheric programming” at ang pagkamaliksi ng industriya

Ang terminong “Vibe Coding” ay opisyal na ipinakilala ni Andrej Karpathy, dating director ng artificial intelligence sa Tesla at isa sa mga founder ng OpenAI, noong Pebrero 2025. Sa kanyang social media, malinaw niyang ilarawan ang bagong karanasan sa pag-code: “Mayroon isang bagong paraan ng pag-code na tinatawag kong ‘vibe coding’, kung saan buong puso mong nakikisali sa vibe, pinapayagan ang eksponensyal na pagtaas ng efficiency, at kahit na nakalimutan mo ang pagkakabuo ng code. Halos hindi ko pinipigilan ang keyboard, laging pinipili ko ang ‘Accept All’.”

Sa operasyonal na lebel, ang Vibe Coding ay isang intuitibong paraan ng pag-unlad na napakadepende sa malalaking language model. Ang mga developer ay hindi na nag-aayos ng mga partikular na code implementation, kundi naglalarawan sa AI ng kanilang nais na function intent gamit ang natural na wika, at ang AI ay awtomatikong lumilikha ng mga makapagpapatakbo na code snippet o buong proyekto. Sa modelo na ito, ang mga developer ay tendensiyang iwasan ang paghahambing ng code differences (Diffs), at kahit na may error, ay hindi sila nagbabasa ng error logs, kundi direktang kopyahin ang error message at ibigay sa AI para ito ay ayusin nang sarili nito.

Nagdulot ang pattern na ito ng malaking pagkabigo sa unang yugto ng industriya, at talagang nagdulot ng nakakagulat na pagtaas ng produktibidad. Ayon sa datos na inilabas ni Y Combinator, halos isang-kapat ng code sa kanilang pinakabagong batch ng mga startup ay ganap na nilikha ng artificial intelligence. Iminumungkahi ng ilang mga founder ng startup (tulad ng Train Loop) na sa pamamagitan ng paraan na ito, ang kanilang bilis ng paggawa ng code ay tumataas mula sa 10 beses hanggang sa 100 beses sa loob ng isang buwan lamang. Mas higit pa, ang independiyenteng developer @levelsio ay nagbuo lamang ng isang ganap na AI-generated na laro sa loob ng 17 araw gamit ang dalawang tool lamang (ang Cursor IDE at ang Anthropic’s Claude model), at agad na nagkaroon ng zero hanggang $1 milyon sa taunang annual recurring revenue (ARR).

Berghain Challenge: Pag-aaral ng Kaso: mga Panganib ng Randomness at Mga Blind Spot sa Inhinyeriya

Gayon, nang mabawasan ang pagkabigo, ang likas na kahinaan at limitasyon ng Vibe Coding ay nagsimulang maging malinaw habang tinutugon ang mga napakakomplikadong inhinyeriyang hamon. Ang kilalang “Berghain Challenge” sa industriya ay nagbibigay ng isang mahusay na punto ng pagsusuri. Ang hamon na ito ay orihinal na isinagawa upang subukan ang kakayahan ng mga developer sa pag-optimize ng algoritmo (karaniwang ginagamit bilang mekanismo ng pagpili sa paghahanap ng trabaho ng ilang kumpanya), ngunit sa ilalim ng alon ng Vibe Coding, maraming mga kalahati ang sumubok na mag-asa lamang sa mga tool ng AI upang lumikha ng mga solusyon.

Ang malalim na pagsusuri ay nagpapakita na ang pagtataya lamang sa intuisyon ng AI sa mga hamong ito ay nagpapakita ng tatlong patayong kahinaan. Una, natuklasan ng mga kalahati na ang mga solusyong nilikha ng AI ay karaniwang nakakamit lamang ng optimal solution sa ilang tiyak na probabilidad, dahil sa malaking epekto ng random number generator (RNG). Ang mga Vibe Coder ay hindi nag-o-optimize ng algorithm sa pamamagitan ng malalim na pag-unawa sa dynamic programming (DP) o mga pundamental na data structure, kundi gumamit ng “brute force” na estratehiya—patuloy na nagpapadala ng code na nilikha ng AI sa API hanggang sa magtagumpay nang may pagkakataon. Ikalawa, ang ganitong paraan ng pagbuo na walang disenyo ng arkitektura at tumpak na lohikal na pagsusuri ay nagresulta sa hindi mababasa at mahirap pangalagaan na code, kung saan nawala ang kontrol ng developer sa mga hangganan ng pagpapatakbo ng programa. Huli, kapag nakakatugon sa mga kumplikadong kontekstwal na pagkakaugnay, madaling mabibiglaan ng AI ang lohikal na loop, at walang kakayahan ang mga developer na walang tradisyonal na kaalaman sa software engineering laban dito.

Ang phenomenon na ito ay nagpapakita ng isang malalim na pag-aalala sa industriya: kung ang Vibe Coding ay gagamitin nang walang pagpili sa seriyosong production environment, ang mga software system ay magiging isang black box na puno ng impredictable na pag-uugali. Tinanggap din ni Karpathy na ang paraan ng pag-develop na nakabatay sa “vibe” ay maaaring perpekto para sa weekend hackathons o lightweight prototype validation, ngunit para sa mga commercial-grade production software na nangangailangan ng mataas na stability, security, at maintainability, ito ay isang kalamangan.

Academic Quantitative Analysis of Cognitive Offloading and the Explanatory Gap

Ang akademya ay nagpanukala ng malalimang kuantitatibong pag-aaral sa negatibong epekto ng Vibe Coding. Sa proseso ng AI-assisted programming, ang mga developer ay gumamit nang malawakan ng mekanismo ng “cognitive offloading”—ang pagbibigay ng mga detalye ng implementasyon sa malalaking modelo upang makakonsentrado sila sa mas mataas na antas ng sistemang abstrakson. Ang pag-unload na ito ay nagsilbing mabilis na palakasin ang pag-unlad sa mga unang yugto.

Gayon, ang sobrang paggamit ng cognitive offloading ay nagdudulot ng seriyosong problema na tinatawag na “Explainability Gap” (maikling $E_{gap}$). Habang patuloy na naglalabas ng maraming code ang AI, ang code complexity $$H(C$$ ay tumataas nang eksponensyal. Kapag hindi kayang sundan ng mga developer ang pagtaas ng code complexity, ang sistema ay lubos na nawawala sa kontrol. Ayon sa mga kaugnay na pag-aaral, kailangang maging mahalagang control variable ang $E_{gap}$ at masusing masuri. Tanging kapag nasa ilalim ng 0.3 na ligtas na threshold ang $$E_{gap$$ — kung saan ang antas ng pag-unawa ng mga mag-aaral ay mataas na nakakatugma sa code complexity — ang AI programming methodology ang makakapagpabuti ng mga resulta sa pag-aaral at kalidad ng inhinyeriya. Kapag lalong lumampas sa threshold na ito, ang mga developer ay magiging ganap na pasibong tagatanggap ng output ng AI at mawawala ang kanilang kakayahang mag-troubleshoot at mag-optimize ng sistema.

Pangunahing pilosopiya ng Stanford CS146S: Engineering Human-AI Collaboration

Batay sa malalim na pag-unawa sa mga limitasyon ng Vibe Coding, ang CS146S course ng Stanford ay hindi nagpapahintulot sa ganitong ugali, kundi ginamit ito bilang isang negatibong halimbawa upang matagumpay na itatag ang isang magkakaibang pilosopiyang pang-edukasyon. Ang lecturer na si Mihail Eric ay agad na ipinahayag sa simula ng kurso ang dalawang makabagong pangunahing prinsipyo na magiging gabay sa sampung linggo ng pagtuturo.

Unang prinsipyo: Tumutok sa pagkakasundo ng tao at makina, huwag gamitin ang vibe coding

Ang prinsipyong ito ay ang kaluluwa ng CS146S. Malinaw na binabalaan ng kurso ang mga mag-aaral: huwag magtiwala nang walang pag-aaral sa mga output ng AI. Dapat magsagawa ng pagbabago sa pagkakakilanlan ang mga modernong developer ng software, mula sa mga manggagawa na direktang sumusulat ng code (Code Laborer) patungo sa pagiging tagapamahala ng mga timbangan ng AI (Manager of AI Agents).

Sa bagong framework ng pagtutulungan ng tao at AI, ang AI ay inilalagay bilang “isang masigasig ngunit karanasan na kandidato sa internship.” Ang tungkulin ng tagapamahala (ang tao na inhinyero) ay hindi ang pagbibigay ng ganap na awtoridad, kundi ang pagbuo ng mabuting disenyo ng sistema, pagbibigay ng malinaw at walang ambiguidad na konteksto ng negosyo, pagtatakda ng mahigpit na hangganan sa pagsasagawa, at pagpapasa sa napakadaling pagsusuri sa code (Code Review) sa malaking bilang ng “pull requests” na inilalathala ng AI. Sa prosesong ito, kailangan ng mga tao na inhinyero ang napakalaking “antas ng teknikal na pagpapasiya” upang makakilala agad kung ano ang magandang, mataas na konsepto at mababaw na pagkakabukod na code, at kung ano ang mahina at maliit na lohika na nilikha ng AI upang tugunan ang mga prompt. Teknikal na binibigyang-diin ng kurso na ang tunay na rebolusyon sa produktibidad ay nangyayari sa pagbabago ng研发 cycle—mula sa tradisyonal na “pagbuo ng code mula sa zero hanggang sa isa” patungo sa iteratibong workflow na “pagsasalaysay, pagpapagawa ng code ng AI, pagsusuri at pagbabago ng tao, at paulit-ulit.”

Pangalawang prinsipyo: Ang AI ay isang tagapagpalakas ng kakayahan (Ang LLMs ay ganoon lang kagaling kaysa sa iyo)

Sa ilalim ng pagpapakita sa social media, marami ang nagsisipaniniwala na nagbaba na ng hadlang sa pagpasok sa software engineering dahil sa AI. Gayunpaman, ang CS146S ay nagtatampok ng isang napakatindi at malinaw na pananaw: ang katalinuhan ng malalaking modelo sa wika ay ganap na nakadepende sa gumagamit nito.

Kung ang codebase ng isang proyekto ay walang malinaw na disenyo ng arkitektura, kumplikado ang mga dependensya sa pagitan ng mga module, at malabo ang mga hangganan ng konteksto, ang pagbibigay ng ganitong codebase sa mga AI tool ay magdudulot lamang ng mas kumplikado at puno ng mga bug na code, na magdadala sa sistema sa pagkabigo. Sa kabilang banda, kung ang mga developer ay may mataas na antas ng engineering literacy at kayang bumuo ng isang microservices architecture na may malinaw na responsibilidad at interface, ang AI ay maaaring maglingkod bilang isang napakalakas na tagapagtulong sa loob ng mga malinaw na hangganan.

Ito ay nagdadala pa sa “Swiss Cheese Model of Capability” ng malalaking modelo ng wika. Bilang isang uri ng stochastic tool, ang pagkakabahagi ng kakayahan ng AI ay napakagawian: maaari itong tumulong sa iyo na i-derive ang isang napakakomplikadong encryption algorithm sa isang araw, ngunit sa sunod na sandali ay hindi makapag-compare ng dalawang integer. Kaya, ang mga propesyonal na inhinyero ay hindi dapat mag-assume na ang mga sistema na ito ay laging epektibo, kundi kailangan nilang magbuo ng malalaking network ng pagsubok, monitoring at alert system, at redundancy sa antas ng arkitektura upang makapagbigay ng proteksyon laban sa anumang “hallucinations” na maaaring gawin ng AI.

Pangkat ng mga guro at malalim na pagkakaisa ng industriyal na matrix

Upang ituro ang ganitong kurso na nasa harap ng kapanahunan, ang mga tradisyonal na guro na may akademikong pagsasanay ay hindi na kayang magawa ito. Ang komposisyon ng team na nagtuturo sa CS146S at ang malalim na pagkakaugnay nito sa industriya ng Silicon Valley ay mga pangunahing dahilan kung bakit ito ay napapansin.

Pangunahing tagapagpaliwanag na si Mihail Eric: Isang tagapag-una na nakakapag-ugnay sa akademya at industriya

Ang tagapagtatag at pangunahing guro ng kurso ay si Mihail Eric. Ang kanyang propesyon ay isang perpektong pagkakaisa ng akademikong pundasyon at industriyal na praktikal na karanasan. Sa larangan ng akademya, nakatapos si Mihail Eric sa Stanford University na may espesyalisasyon sa artificial intelligence, at isang mag-aaral ni Christopher Manning, isang lider sa larangan ng natural language processing (NLP) at puno ng Stanford NLP Laboratory. Sa panahong iyon, nilikha niya ang isa sa mga unang sistema ng diyalogo batay sa deep learning sa industriya, at ang kanyang mga pag-aaral ay binanggit nang malawakan sa akademya nang higit sa 2,400 beses, na nagbigay sa kanya ng napakalalim na pag-unawa sa mga pundasyon at evolusyon ng malalaking language models.

Sa praktikal na industriya, siya ay naging technical lead sa Amazon (Amazon Alexa), kung saan pinangunahan niya ang pagbuo ng mga unang malalaking language model ng organisasyon. Pagkatapos, itinatag niya ang Confetti AI, isang startup sa edukasyon sa machine learning na kinuha ng Towards AI noong 2022, at itinatag din niya ang Storia AI, isang AI-powered programming company na suportado ng top incubator na Y Combinator. Kasalukuyan, siya ay nagsisilbing Head of AI sa Monaco, isang startup na nakakuha ng $35 milyon sa pondo at naglalayong baguhin ang enterprise CRM systems. Ang kakaibang karanasan niya sa pagbuo ng infrastructure sa malalaking kumpanya, pagpapalawak sa Silicon Valley, at pananaliksik sa akademya ay nagpapahintulot sa kanya na lumabas sa tradisyonal na ivory tower na pag-iisip at magturo sa mga estudyante ng mga praktikal na kasanayan na kailangan ng modernong software engineer noong 2026 mula sa pinakamakatotohanang produksyon-level na pananaw. Bukod kay Mihail Eric, ang kurso ay may suporta ng isang karanasan na koponan ng teaching assistants, kabilang ang head teaching assistant na Febie Lin at ang teaching assistant na Brent Ju.

Eco-system ng mga guest lecture ng mga lider sa industriya

Upang masiguro na ang mga aralin ay nasa punc ng pinakabagong teknolohikal na pagbabago sa Silicon Valley, ang CS146S ay nagdededikasyon ng malaking bahagi ng kredito at oras sa mga espesyal na lecture mula sa industriya. Ang lahat ng mga bisita ay CEO o teknikal na lider ng mga startup na may mataas na valuation at malaking impluwensya sa kasalukuyang AI development toolchain. Narito ang sistematikong pagsusuri sa mga pangunahing guest lecturer ng kurso at kanilang kontribusyon sa industriya:

Ang pagkakaroon ng mga bisita na ito ay hindi lamang nagbibigay ng direktang praktikal na karanasan sa mga mag-aaral sa pagbuo ng mga nakababagong AI na produkto (halimbawa, pinag-uusapan nang detalyado ni Zach Lloyd sa lecture kung paano dapat magsimula ang modernong mga tool sa pag-unlad ng AI sa mga pamilyar na interface, siguraduhin ang pagiging flexible sa configuration, at gawing prioridad ang ergonomiks ng developer), kundi nagtatayo rin ng tulay sa pagitan ng akademikong edukasyon at industriyal na praktika, na nagpapalawak ng klase ng Stanford diretso sa mga linya ng pagpapalawak ng inhinyero sa Silicon Valley.

Sampung lingkod ng buhay: Sistematikong pagdecompose sa AI Software Engineering

Ang kurso na CS146S ay nagbago sa tradisyonal na paraan ng pagtuturo batay sa isang wikang pribado o tiyak na module ng algoritmo. Ang kanyang syllabus na nagtatagal ng 10 linggo ay nakaayos nang maayos ayon sa tunay na buhay ng pag-unlad ng software, at pinagsasama ang teknolohiya ng AI sa bawat yugto mula sa pangunahing pag-unawa, pag-configure ng kapaligiran, pagbuo ng code, pagsusuri sa kaligtasan, hanggang sa pagmamanman sa production environment.

Unang Linggo: Pagsasaulo ng mga Pundasyonal na Pagkakaintindi—Pagsisimula sa Coding ng LLM at AI Development

Ang pangunahang layunin sa unang linggo ay hindi ang pagpapabilis ng paggamit ng mga kasangkapan, kundi ang pagbabago ng pananaw: mula sa isang walang kamalayang "tagagamit ng AI" hanggang sa maging "merekani ng sistema ng AI" na may malalim na pag-unawa sa mga pondo.

Dapat muna ng malalim na maunawaan ng mga mag-aaral kung ano ang mga malalaking modelo sa wika (Deep Dive into LLMs). Ipinapaliwanag ng kurso kung paano ang mga modelo sa wika ay nakak完成自回归的下一个词元预测 sa pamamagitan ng tokenization, multidimensional na embedding, at ang self-attention mechanism sa loob ng mga dekada ng Transformer layers. Pagkatapos maunawaan ang mga mekanismo na ito, makakapaghula na ang mga mag-aaral sa mga blind spot ng modelo.

Sa antas ng prompt engineering, ang kurso ay naglalalim sa proseso ng pagbuo ng “persona” ng modelo, kabilang ang supervised fine-tuning (SFT) at reinforcement learning from human feedback (RLHF). Batay dito, ang mga mag-aaral ay sistematikong natututo ng iba’t ibang advanced prompt strategies:

  • Zero-shot at K-shot prompting: Sa mga gawain tulad ng pagbabaliktarin ang pagkakasulat ng salita, kung saan ang tokenization ay napakahirap, madalas na bumabagsak ang zero-shot, ngunit ang context learning (K-shot) sa pamamagitan ng pagbibigay ng ilang halimbawa ay maaaring palakasin nang malaki ang kawastuhan ng modelong lumalabas ng data sa partikular na anyo.
  • Ang Chain-of-Thought (CoT) ay mahalaga para sa mga pagtatrabaho sa programming o matematika na nangangailangan ng multi-step na lohikal na pag-iisip. Kailangan ng modelo ang “espasyo” para mag-isip; kung hindi ibinibigay ang espasyo para sa pagbuo ng mga token na paglutas nang step-by-step bilang “scratch paper,” madaling mabubulok ang kanyang kumplikadong lohika.
  • Role Prompting & RAG: Ang pagtatakda ng mga pagkakabatas sa papel ng isang senior architect, kasama ang paggamit ng teknolohiya ng Retrieval-Augmented Generation (RAG) upang magbigay ng mga dokumento ng pribadong codebase sa model, ay ang pangunahing paraan upang pigilan ang malalaking hallucination ng model.

Linggo 2: Paglilinaw sa Black Box—Ang Anatomiya ng Code Agent at ang MCP Protocol

Ang ikalawang linggo ay isang malalim na pagsasanay sa sistemang inhinyeriya, kung saan kailangan ng mga mag-aaral na gawin nang sarili nila ang isang coding agent mula sa zero (Building a coding agent from scratch). Ang pangunahing bahagi ng linggong ito ay ang pagtuturo sa isang nakakabagabag na open standard— ang Model Context Protocol (MCP).

Inilunsad ng Anthropic ang MCP noong katapusan ng 2024, na may layuning lutasin ang isang matagal nang pangunahing hamon: paano mapapahintulutan ang mga AI model sa cloud na ma-access nang ligtas at istandard ang lokal na file system, pribadong database, o mga kagamitan sa loob ng kumpanya. Sa totoong aplikasyon, karaniwang hindi ma-expose ang pangunahing database ng isang kumpanya sa mga komersyal na AI code assistant. Kailangan ng kurso na magbuo ng sariling MCP server (Building a custom MCP server) ang mga mag-aaral. Sa pamamagitan ng layer na ito ng隔离 interface, makakapag-read ang AI Agent nang ligtas ng pribadong data pagkatapos makakuha ng kinakailangang pahintulot, at kaya nang lumikha ng mataas na kustomisadong code para sa business logic. Ang malalim na kahulugan ng module na ito ay ang pagpapakita nito sa mga mag-aaral kung paano tinatanggap ng mga makapangyarihang IDE tulad ng Cursor at Claude Code ang konteksto ng code repository at gumagawa ng system-level command sa ilalim.

Linggo 3 at Linggo 4: Pagbabago sa workflow—Deep Integration ng AI IDE at Design Patterns ng Agents

  • Linggo 3 (The AI IDE): Ang kurso ay nakatuon sa malalimang integrasyon ng artificial intelligence integration development environment (IDE). Pinag-uusapan ang pagpapamahala ng konteksto (Context management), pagsulat ng tumpak na product requirements documents (PRDs para sa mga agent), at kung paano isusulat at ikokonfigura ang mga engineering configuration file tulad ng CLAUDE.md upang mapabuti ang AI performance sa IDE sa pamamagitan ng context engineering.
  • Linggo 4 (Coding Agent Patterns): Ihiwalay ang modernong siklo ng pagbuo ng software sa mga yugto tulad ng pag-aaral, pagpaplano, pagsasagawa, pagsubok, at pagsusuri. Sa linggong ito, ituturo kung paano i-deploy ang iba’t ibang pattern ng AI Agent batay sa bawat yugto. Halimbawa, sa “yugto ng pagpaplano,” dapat gamitin ng developer ang isang Agent na may pananaw sa buong sistema upang suriin ang istruktura ng open-source code ng mga kalaban at lumikha ng teknikal na spesipikasyon; sa “yugto ng pagsasagawa,” ipapasa ang gawain sa isang mabilis na pagsasagawa na Agent na espesyalisado sa pagsulat ng boilerplate code; samantalang sa “yugto ng pagsusuri,” awtomatikong i-trigger ng sistema ang isang Review Agent na may malakas na seguridad upang tuklasin ang mga vulnerability na maaaring maipasok sa yugto ng pagsasagawa. Ang ganitong asinkrono at koordinadong pagtutulungan ng maraming agent ay nagtuturo sa isang eksponensyal na pagtaas sa efikasiya ng pagbuo.

Linggo 5: Modern Terminal at Revolusyon sa Interaksyon

Ang command line terminal ay laging ang sentro ng sistemang operasyon at pag-unlad. Sa linggong ito, ipinakikita ang paggamit ng modernong mga kasangkapan tulad ng Warp, kung paano ang AI ay nakakatulong na baguhin ang mga kumplikadong Bash script sa mga natural na pag-uusap. Noon, sa harap ng malaking dami ng server logs, ang mga developer ay kadalasang kailangang tingnan ang mga manual upang mag-ayos ng mga kumplikadong grep, awk, at regular expressions. Ngayon, sa pamamagitan ng natural language instruction tulad ng “Hanapin ang mga log mula sa hapon ng nakaraang araw mula sa 2 hanggang 3 PM na naglalaman ng partikular na keyword na Error”, ang AI-native terminal ay awtomatikong naglalikha at nagpapatakbo ng tumpak na sistemang command, na nagbabago nang buo sa karanasan ng mga developer sa pag-uugnay sa kernel ng operating system.

Linggo 6: Pritong Puso — Pagsusuri ng AI at Mga Teritoryo ng Seguridad na Defensibo

Doble ang bilis ng paggawa ng code, tumataas ang presyur sa pagsusuri ng kaligtasan. Ang linggong ito ay mahalaga sa CS146S, kung saan nalalaman ang hangganan ng kapangyarihan sa pagtutulungan ng tao at makina.

Ang kurso ay nagpapakita kung paano gamitin ang AI-powered na testing platform tulad ng Qodo upang makagawa ng unit test suite na may hanggang 90% na coverage sa loob ng ilang minuto para sa isang kumplikadong business logic function, na nagliligtas sa maraming oras ng pag-uulit. Ngunit ang kabilang panig ng coin ay ang napakalaking hamon sa kaligtasan. Kailangan ng kurso na ang mga mag-aaral ay magsaliksik nang malalim sa mga ulat sa panganib tulad ng OWASP Top Ten, at tinutukoy ang mga bagong threat vector na dinala ng AI programming, kabilang ang: maaaring makalimutan ng AI-generated na test suite ang malalim na logic vulnerabilities; maaaring maliit ang model dahil sa hallucination at magdagdag ng hindi ligtas na third-party dependencies na may backdoor (supply chain attack); logic collapse dahil sa context rot; at kahit ang pag-atake sa GitHub Copilot tulad ng “Remote Code Execution via Prompt Injection”.

Dito, itinakda ng kurso ang isang hindi maaaring lapasan na teknikal na pamantayan: ang huling desisyon sa seguridad at pag-iwas sa mga butas (SAST vs DAST) ay hindi dapat buong-buo na ibinigay sa AI. Anuman ang antas ng katalinuhan ng AI, ang mga inhinyero na tao ay dapat laging manatili sa kontrol ng seguridad ng sistema.

Linggo 7 at Linggo 8: Pagpapalawak ng buhay na cycle—Suporta sa software at pagbuo ng automation aplikasyon

  • Linggo 7 (Modern Software Support): Pagtalakay sa pagpapakilala ng Agentic AI sa on-call engineering at sistema ng suporta sa problema pagkatapos ng deployment. Ang mga materyales sa pagbabasa ay malalim na pinag-uusapan ang mga pundasyon ng Site Reliability Engineering (SRE), observability, paggamit ng AI para sa paglutas ng mga problema sa Kubernetes, at kung paano ang mga multi-agent system ay awtomatikong nagdediagnose, nirrout ang mga ticket ng user, at nagbibigay ng mga paunang patch para sa pagpapabuti.
  • Linggo 8 (Automated UI at App Building): Tandaan ng linggong ito ang ganap na pagbabago sa modelo ng frontend development. Sa pamamagitan ng pagpapakilala ng mga revolusyonaryong kasangkapan tulad ng Bolt.new, nalilibre ang mga developer mula sa mga mabigat na gawain tulad ng paghahati ng mga component at pagpapamahala ng estado. Kailangan lamang ng product manager o developer na isulat ang isang mataas na kalidad na teksto (PRD), o magbigay ng isang simpleng sketch ng wireframe, at ang AI ay agad na magpapalabas ng isang kumpletong prototype ng full-stack application na naglalaman ng database design, authentication logic, at responsive frontend views sa loob ng cloud browser. Malinaw sa linggong ito na kailangang umunlad ang mga frontend engineer patungo sa papel ng “Interaction Experience Designers” sa hinaharap.

Linggo 9 at Linggo 10: Ang Wakas ng System Monitoring at ang Kinabukasan ng Propesyon

  • Linggo 9 (Mga Agent pagkatapos ng pag-deploy): Ito ang pinakamalaking hamon sa full-stack development. Kapag ang mga AI Agent na may kapangyarihang gumawa ng sariling desisyon at magtawag ng mga kasangkapan ay maaaring mabuhay sa production (Prod) at humawak sa mga aktwal na proseso, ang panganib ay tumataas sa geometric rate. Ang pangunahing gawain sa linggong ito ay turuan ang mga mag-aaral na bumuo ng production-grade monitoring system. Kasama rito: ang pagtukoy ng detalyadong service level indicators (SLIs) at objectives (SLOs) para sa mga agent; ang pagpapalagay ng telemetry hooks sa code para sa latency, error rate, pagkabigo sa pagtawag ng kasangkapan, at mga indikador ng hallucination; ang pagbuo ng hierarchical alerting system at paglikha ng standard na incident runbook; at ang pinakamahalaga, kailangan magkaroon ng disaster recovery mechanism na may “safe mode” upang agad na pagsaraan ang mga kapangyarihan sa kasangkapan at i-rollback ang estado kung ang pag-uugali ng AI ay mawala sa kontrol.
  • Linggo 10 (Ano ang Susunod sa AI Software Engineering): Sa huling linggo ng kurso, itinataas ang fokus mula sa mikro na teknikal na pagpapatupad patungo sa makro na pagtataya ng industriya. Ipinag-uusap ang komposisyon ng mga koponan sa software engineering sa hinaharap sa ilalim ng generative AI paradigm, ang pag-unlad ng mga bagong arkitektural na modelo, at kung ano ang mga hindi maipapakita sa bilang na estetika sa arkitektura, pag-unawa sa negosyo, at kakayahang abstraktsyon sa mga kumplikadong sistema na magiging huling pader ng mga human developer sa gitna ng alon na ito.

Mga pangangailangan sa kursong pambalangkas, mekanismo ng gawain, at pagsusuri sa teknikal na ekosistema

Ang CS146S ay isang 3-credit advanced course na may mahigpit na mga kwalipikasyon para sa pagpili. Hindi ito isang pambungad na paliwanag para sa mga baguhan sa pag-program, kundi isang pagpapalalim ng kaalaman para sa mga developer na may sapat na inhinyeriya. Kailangan ng kurso na mayroon ang mga mag-aaral ng matibay na karanasan sa pag-program katulad ng CS111 (Prinsipyo ng Operating System), at nakakaintindi sa kompleksong software design, object-oriented architecture, Git version control, at pakikipagtulungan sa open-source projects, at malakas na inirerekomenda ang pagkuha ng CS221 o CS229 o iba pang mga pambungad na kurso sa machine learning o natural language processing bago mag-enroll.

Distribution ng wika at konpigurasyon ng ilalim na kapaligiran

Batay sa mga datos mula sa homepage ng kurso at ang GitHub open-source repository ng mga gawain, kinabibilangan ng kurso ang iba't ibang mga wika sa frontend at backend, ngunit ang pangunahing kontrol flow at data processing engine ay nakabatay nang mahigpit sa Python ecosystem. Ang mga tiyak na porsyento at pagkakaayos ng mga wika sa codebase ay sumusunod:

Sa pamamahala ng runtime environment, ang kurso ay gumagamit ng pinakamahigpit na mga istandard ng industriya upang maiwasan ang "illusion"-based configuration na nagdudulot ng dependency hell. Lahat ng mga gawain ay dapat tumatakbo sa Python 3.12. Hinihingi sa mga mag-aaral na i-install ang Anaconda upang lumikha ng isang isolated sandbox environment (isang Conda environment na tinatawag na cs146s) at ipagbawal ang tradisyonal na pip, at piliin ang mas moderno at mas deterministikong Poetry framework para sa dependency management. Sa pamamagitan ng pagpapatakbo ng komando na poetry install --no-interaction, sinisiguro na ang bawat malaking AI library at third-party dependency ay maaaring maulit nang perpekto sa anumang sistema.

Military-style agile drill: Deconstructing "Flight Plan"

Ang pinakakakaibang disenyo sa sistema ng CS146S ay ang “Flight Plan” na isinagawa batay sa modernong modelo ng pagsasanay ng hukbong panghimpapawid. Ang modelo na ito ay naglalayong maglagay ng mahigpit na timeboxing mechanism, na sumasalamin sa tunay na presyong pang-iskedyul sa industriya, at nagpupukaw sa mga mag-aaral na alisin ang kanilang lumang ugali na magugol ng oras sa paggawa ng code syntax.

Halimbawa ng flight plan para sa Ika-walong linggo (Automated UI at Application Building), na may limitadong oras na 90 hanggang 120 minuto, at na-cut nang tumpak sa apat na yugto:

  1. 0–15 min (Peryodong Abstrak ng Negosyo): Dapat mag-isip ang mga mag-aaral ng isang mikro na produkto (tulad ng trader log viewer o delay test dashboard) mula sa pananaw ng negosyo, at sumulat ng isang pangunahing dokumento ng mga pangangailangan sa produkto (PRD) na may 10 linya lamang na may sobrang konsis na wika.
  2. 15–45 min (panahon ng pagbuo ng skeleton): Huwag mag-code nang manual; gamitin ang AI terminal tools tulad ng Codex CLI upang direktang i-map at i-generate ang buong skeleton ng aplikasyon (kasama ang routing layer, component library, at data model).
  3. 45–90 min (panahon ng interaktibong iterasyon): Fokus sa pagdisenyo ng user experience (UI/UX), sa pamamagitan ng patuloy na pag-adjust ng mga prompt at pagsusuri sa mga nabuong bersyon, mabilis na iterasyon ng page layout, at maayos na paghahandle ng mga kumplikadong empty states, global error handling mechanism, multi-device responsive behavior, at accessibility standards.
  4. 90–120 min (production-grade hardening phase): Dapat magdagdag ng kahit anong dalawang “production-grade” na pangunahing elemento sa mabilis na nilikhang prototype, tulad ng pagsulat ng mga pangunahing pagsubok na nakakapalibot sa mga mahahalagang path, pagpapakilala ng structured logging flow, pagpapatupad ng simpleng token-based authentication, o pagsusulat ng malinaw na automated deployment notes.

Sa ika-9 na linggo (pagmamanman ng agent pagkatapos ng deployment), tumataas pa ang hirap at deep ng inhinyeriya:

  1. 0–20 minuto: Gumawa at isulat ng napakadetalyadong “Agent in prod” arkitektura na naglalarawan sa macro level para sa maliit na aplikasyon na itinayo noong nakaraang linggo, at tukuyin nang tama ang lahat ng input channels, chain ng model calls, mga external tool interface, at output validation mechanisms.
  2. 20–45 minuto: Maging SRE (Site Reliability Engineer), tukuyin ang mga pangunahing system-level SLIs/SLOs, at itakda ang pinakamataas na antas ng熔断警报矩阵 (ang pagmamasid ay dapat kasama ang API latency, pagtaas ng error rate, pagkabigo sa pagtawag sa MCP tools, at potensyal na mga indikador ng model hallucination).
  3. 45–75 minuto: Sumulat ng isang standard na template ng operational manual para sa pagtugon sa insidente (kumakatawan sa pagkakaroon ng paghahati-hati sa pagkakamali, mga pagsasagawa sa segundo, at isang kompletong plano para sa database rollback).
  4. 75–120 minuto: Gamitin muli ang Codex CLI para sa pagpapatupad, ngunit ang layunin ngayon ay mag-inject ng minimal ngunit epektibong telemetry hooks sa malalimang code logic, isang JSON-based structured logging system, at pilitin ang pagpapatupad ng isang “safe mode flag” na may suporta para sa hot-swapping upang makuha muli ang kontrol nang agad kung magkakaroon ng pagkawala ng kontrol sa AI.

Sa pamamagitan ng ganitong malakas na pagsasanay, ipinapakita ng kurso sa mga mag-aaral ang isang napakatigas na katotohanan ng industriya: sa panahon ng AI, ang gastos sa pagpapatupad ng code ay patuloy na umuunlad patungo sa sero, habang ang kakayahan sa pagtukoy ng mga pangangailangan, pagpapaliwanag ng arkitektura, pagtukoy sa mga hangganan ng pagkakabagay, at pagpapanatili ng resiliensya ng sistema sa kalamidad, ay naging pinakamahal at pinakamahalagang yaman na nagpapasiya sa tagumpay o pagkabigo ng software. Dapat nang makauunawa ang mga developer na huwag na magsulat ng mga mababang antas na code, kundi magsumbong ng mga “patakaran (Rules)” at “pagkakabagay (Constraints)” na mataas na antas.

Konklusyon: Ang paraan para mag-breakthrough sa panahon ng AI at ang panghuling pagbabago sa propesyon ng software

Ang CS146S, ang unang sistematisadong kurso sa mundo na itinuturo ng Stanford University tungkol sa modernong buhay-siklo ng pagbuo ng software na may AI, ay nagdulot ng malaking epekto sa larangan ng edukasyon sa kompyuter na science dahil sa kanyang pioneering na pagtuturo at tiyak na pag-unawa sa mga trend sa industriya. Sa pamamagitan ng malalim na pagsusuri sa pilosopiya, ekosistema ng mga guro, sampung linggo na kurso, at mekanismo ng mga gawain, maaari nating malinaw na ilarawan ang malawak na larawan ng pagbabago sa modernong software engineering paradigm.

Una, sa pagtugot sa kalikasan ng industriya sa “Vibe Coding,” ibinigay ng Stanford ang malinaw at makatotohanang pagpapasya: ang pagsasagawa ng awtomatikong pagbuo ng code na batay lamang sa intuisyon at random probability ay isang napakalaking teknolohikal na utopiya. Ang tunay na solusyon ay ang “Human-Agent Engineering.” Sa modelo na ito, ang kakayahan ng malalaking language model ay laging limitado ng arkitektural na pananaw ng mga developer. Ang kalinisan ng code repository, ang lalim ng module decoupling, at ang kalinawan ng business context ay ang mga absoluto na batas ng pisika na nagtatakda kung kaya ba ng AI na magbigay ng positibong epekto.

Sa pangalawa, ang kurikulum ng CS146S ay dinidikta nang malinaw ang paglipat ng bigat sa buhay-cycle ng software. Kapag ang mga bahaging “cognitive load” tulad ng pagtanda sa syntax at pagpapatupad ng algorithm ay matagumpay na inilipat sa mga autonomous Agent na drivin ng MCP, ang bottleneck sa software development ay mabilis na lumipat mula sa “paano isulat ang code” patungo sa “paano i-test, paano i-monitor, at paano maiiwasan ang kalamidad.” Mula sa zero-shot reasoning hanggang sa paggamit ng chain-of-thought, mula sa context engineering ng AI IDE hanggang sa defensive audit ng Qodo, mula sa one-click generation ng full-stack application hanggang sa rigid constraints sa SLI/SLO telemetry metrics sa production environment, ang mga kasanayang ito ay bumuo muli ng baseline para sa isang kwalipikadong software engineer.

Sa hinaharap, ang asinkronong kolaborasyong modelo na ipinaglalaban ng CS146S—kung saan ang mga tao ay nagiging mga desisyon at responsableng tagapagtaguyod, habang ang mga AI agent ay nagiging epektibong tagapagpapatupad—ay magpapabilis sa pagbabago ng mga software development team patungo sa pagiging mas maliit at mas mataas ang leverage. Para sa mga baguhan, ito ay isang mapanghamong kompetisyon at isang panahon ng walang hanggang posibilidad. Ang mga “code laborers” na patuloy na nakadepende sa tradisyonal na coding skills ay magiging walang halaga; samantala, ang mga “super independent developers” na makakakuha nang mabilis ng pangunahing aral ng kurso at maglalagay ng kanilang enerhiya sa product abstraction, pagdidisenyo ng complex state machine logic, system boundary defense, at agile system integration—ay magkakaroon ng pagtaas ng productivity na sampu o daan-daan beses, at magiging nasa pinakamataas na antas ng modernong software engineering system.

Tungkol sa CS146S:

https://themodernsoftware.dev/

Disclaimer: Ang information sa page na ito ay maaaring nakuha mula sa mga third party at hindi necessary na nagre-reflect sa mga pananaw o opinyon ng KuCoin. Ibinigay ang content na ito para sa mga pangkalahatang informational purpose lang, nang walang anumang representation o warranty ng anumang uri, at hindi rin ito dapat ipakahulugan bilang financial o investment advice. Hindi mananagot ang KuCoin para sa anumang error o omission, o para sa anumang outcome na magreresulta mula sa paggamit ng information na ito. Maaaring maging risky ang mga investment sa mga digital asset. Pakisuri nang maigi ang mga risk ng isang produkto at ang risk tolerance mo batay sa iyong sariling kalagayang pinansyal. Para sa higit pang information, mag-refer sa aming Terms ng Paggamit at Disclosure ng Risk.