Software Engineering courses
Browse public Software Engineering courses with structured lessons, visuals, and practice on Wondering.
-
How to design WhatsApp
Master high-scale messaging by mastering DynamoDB optimization and multi-device synchronization while navigating the critical trade-offs of distributed delivery guarantees and ZooKeeper coordination for production-ready chat architectures. * **Distributed messaging trade-offs** and delivery guarantees * **DynamoDB GSI optimization** for high-volume chat data * **ZooKeeper coordination** for real-time connection management * **Multi-device data modeling** for seamless state synchronization
-
Jev System One Essentials
Master the one-model architecture by exploring its components, data flow, and trade-offs. You will gain the practical skills needed to confidently build, configure, and debug systems. * **Master one-model architecture**: core components, concepts, and data flow * **Evaluate design trade-offs**: make informed architectural decisions for performance * **Build and configure systems**: hands-on implementation of developer workflows * **Debug production issues**: troubleshoot data flow and system integration errors
-
Why Your RAG System Gives Bad Answers
For builders and technical product managers diagnosing document-grounded answers, a single policy question exposes failures in chunking, retrieval, reranking, context construction and answering. Distinguish missing evidence from ignored evidence, then choose targeted fixes and checks.
-
Claude Code for Product Work
For product managers and operators comfortable with AI chat, this course connects synthetic feedback analysis, evidence-backed specifications, and a small local prototype. You will check behavior against requirements, inspect file changes, and manage permissions and data deliberately.
-
Building Reliable AI Agents
For builders and technical product managers who know prompting, a damaged-item refund shows when to use a fixed workflow or an agent. Tools, context, permissions, bounded recovery, execution records, and human handoffs make each next action easier to trust.
-
I Heart Logs (Jay Kreps): The Log as the Backbone of Distributed Data
Explain, chapter by chapter from Jay Kreps' 'I Heart Logs', why the append-only log is the unifying abstraction behind databases, consensus/replication, data integration, and stream processing, and confidently discuss offsets, CDC, log compaction, partitioning, and the Kappa-style alternative to Lambda in senior/staff distributed-systems interviews, connecting it to hands-on experience building a Rust CDC change-feed consumer.
-
Fullstack AI Engineering for Web Developers
Level up your web apps by building custom RAG chatbots, autonomous workflow agents, and your own trained neural networks from scratch. Let's turn your code into intelligent systems. * **Build custom chatbots** powered by your own data via RAG * **Develop autonomous AI agents** to automate complex user workflows * **Integrate smart AI APIs** directly into fullstack web applications * **Train and deploy neural networks** from scratch with ease
-
First Principles Thinking Basics
Break complex engineering problems down to their fundamental truths. You will learn to bypass assumptions, master new concepts faster, and build truly original solutions from scratch. * **Deconstruct complex systems** into core, verifiable truths * **Solve stubborn bugs** by questioning inherited assumptions * **Master new tech stacks** rapidly from foundational concepts * **Design original architectures** instead of blindly copying patterns
-
Building Product Assistants with ADK
Turn your web apps into intelligent products by mastering memory, doc search, and API-calling tools to build and deploy reliable, production-ready AI assistants with confidence. * **Ground responses** using your product docs and data * **Connect external APIs** for automated agent tool use * **Manage persistent memory** and multi-turn user sessions * **Evaluate and deploy** production-ready agents with confidence
-
Building LLM Applications: Architecture to Production
For software engineers shipping LLM features in real products: how to pick between workflows and agents, get typed outputs and reliable tool calls, build evals you can trust, control cost and latency, and handle failures and prompt injection in production.
-
Web Development: From Basics to Full-Stack
For beginners who want to build and deploy their own web app: how a request travels from browser to server, then HTML, CSS, JavaScript, React and Next.js, APIs, a PostgreSQL database, sign-in, and deployment, with clear notes on where AI coding tools help.
-
How Distributed Systems Stay Correct and Available
For backend engineers who want to know how large systems keep data correct and services up. Through Dynamo, Spanner, Raft, and real outages at AWS, GitHub, and Cloudflare, you will reason about replication, partitioning, consistency, consensus, and failure detection.
-
Data Structures and Algorithms for Coding Interviews
For engineers and CS students preparing for technical interviews: recognize the patterns behind common problems, from hash maps and sliding windows to graphs, heaps, and dynamic programming, pick the right one, and justify its time and space cost.
-
從零建置 Orca AI 個人助理總控(完整實作版)
從零理解 CLI 代理、git worktree 與 Orca,照每章的實作步驟,在自己的電腦搭出一套 AI 個人助理總控:用 worktree 隔離多個專案,由總控判斷派工、驗收與覆核,用任務帳本和收據追蹤每件事,設好安全邊界,最後把課業、信件、行事曆、提醒等生活與工作的大小事接進同一套流程。學員背景:用過 ChatGPT 或 Claude 聊天,會基本終端機和 git,沒用過 CLI 代理、worktree 或 Orca。
-
多代理工作流系統化設計
專為進階工程師設計,帶你系統化拆解專家經驗為審查準則與對抗式流程,打造高品質、免盯盤的高效多代理協作架構。 * **模組化專家拆題**:精準解構複雜邏輯,產出高覆用派工範本 * **對抗式審查升級**:建立多攻擊者與裁判機制,阻絕產出返工 * **專家直覺準則化**:將工程判斷轉為機器可讀的嚴格檢查清單 * **全自動放手標準**:設計信心度閘門與自動化交卷流程,徹底省下盯盤時間
-
臺大資工所考古題複習
透過精選歷屆考題的詳解引導,帶你快速統整硬體與演算法關鍵觀念,把既有知識轉化為實戰解題力,穩紮穩打迎戰碩士入學考。 * **掌握四大核心考科解題策略** * **洞察近兩年最新命題趨勢** * **精準修補觀念漏洞與盲點** * **熟練高分論述與作答結構**
-
PHP2Shell: From Flaw to Fix
PHP2Shell exposed how failures in a widely used web runtime can become code execution and secret theft. For builders and technically curious learners, this course explains the memory bugs, discovery timeline, AI-assisted research, exploitation evidence and practical verification of fixes.
-
Da World: C and ARM64 Reversing
Build a living-world simulation in C right inside Termux, then tear your own code apart in ARM64 assembly to master the fundamentals of reverse engineering for CTFs. * **Build text-based simulations** using modular C in Termux * **Read ARM64 assembly** by compiling your own code * **Reverse engineer binaries** using command-line Android tools * **Solve beginner crackmes** and CTF-style reversing challenges
-
Linked List Interview Patterns
Move beyond the basics and master key patterns like two pointers and cycle detection. You will confidently solve and explain tricky problems in your upcoming internship interviews. * **Two-pointer mastery** for cycle detection and midpoints * **In-place reversal** techniques for list manipulation * **Dummy node patterns** to handle tricky edge cases * **Confident communication** for explaining your logic in interviews
-
系統設計面試(System Design Interview)
這門課將帶你掌握清晰的四步驟架構,助你自信拆解複雜需求,有條不紊地設計出高擴展性的大型分散式系統。 * **精通四步驟框架**:從容拆解複雜系統需求 * **分散式架構設計**:搞定高併發與高可用挑戰 * **權衡分析能力**:精準評估資料庫與快取方案 * **條理清晰的表達**:像資深工程師般有效溝通技術
-
Google SWE Internship Coding Prep
Master core algorithms and sharpen your problem-solving skills step-by-step so you can ace Google's technical interviews and land that internship. * **Core DSA mastery**: trees, graphs, dynamic programming, and recursion * **Technical interview problem-solving**: pattern recognition for medium-hard problems * **Optimal complexity analysis**: writing clean $$O(N)$$ solutions under pressure * **Live mock readiness**: communicating trade-offs clearly to interviewers
-
Version Control with GitHub for Designers
For designers with no coding experience: understand commits, branches, pull requests, conflicts, and undo in plain language, so you can work safely in real project files and stay in control of AI coding tools.
-
How to design WhatsApp
Master high-scale messaging by mastering DynamoDB optimization and multi-device synchronization while navigating the critical trade-offs of distributed delivery guarantees and ZooKeeper coordination for production-ready chat architectures. * **Distributed messaging trade-offs** and delivery guarantees * **DynamoDB GSI optimization** for high-volume chat data * **ZooKeeper coordination** for real-time connection management * **Multi-device data modeling** for seamless state synchronization
-
Apache Spark for Engineers: 5 Real-World Use Cases
Explain why Apache Spark exists, how its execution model actually works, and recognize the concrete production problems it solves — from personalized recommendations to real-time fraud scoring.