CS146S: Modern Software Developer 강의 소개
CS146S: Modern Software Developer 강의는 미국 스탠포드 대학교(Stanford University)에서 2025년 가을 학기에 개설된 최신 소프트웨어 엔지니어링 강의이자, AI 시대에 개발자가 나아가야 할 방향을 제시하는 수업입니다. 이 코스는 Mihail Eric이 주도하며, 단순히 코드를 더 빨리 작성하는 법을 넘어 AI 도구를 활용해 제품을 설계, 구축, 운영하는 'AI-네이티브(AI-Native)' 개발 워크플로우를 가르치는 것을 목표로 합니다.
생성형 AI(Generative AI)와 LLM(Large Language Model)의 등장으로 소프트웨어 개발 방식은 근본적인 변화를 맞이했습니다. 이제 개발자는 '0에서 1을 만드는 코딩(Code Creation)'보다 '계획(Plan) -> AI 생성(Generate) -> 수정(Modify) -> 반복(Repeat)'하는 반복적 워크플로우의 관리자가 되어야 합니다. 이 프로젝트는 이러한 변화에 맞춰 개발자가 단순 코더(Coder)에서 AI 에이전트의 설계자이자 관리자(Manager of Coding Agents) 로 거듭날 수 있도록 돕는 커리큘럼과 실습 과제를 제공합니다.
CS146S 강의는 Cursor나 Copilot 등과 같은 AI 도구 사용법을 가르치는 것이 목표가 아닙니다. MCP(Model Context Protocol), 에이전트 아키텍처(Agent Architecture), AI 보안(Secure Vibe Coding), AI 기반의 SRE(Site Reliability Engineering) 등 실제 프로덕션 레벨에서 AI를 안전하고 효율적으로 통합하는 엔지니어링 원칙을 다룹니다.
다음은 CS146S 홈페이지의 강의 소개 및 커리큘럼에 대한 내용입니다. (= 원문은 홈페이지에서 동일하게 확인하실 수 있습니다):
CS146S: 현대적인 소프트웨어 개발자(The Modern Software Developer) 강의 소개
지난 몇 년 동안, 대규모 언어 모델(LLM)은 소프트웨어 개발에 혁신적인 새로운 패러다임을 도입했습니다. 전통적인 소프트웨어 개발 수명주기는 모든 단계에서 AI 자동화에 의해 변화하고 있으며, 이는 다음과 같은 질문을 제기합니다: 다음 세대의 소프트웨어 엔지니어들이 생산성을 10배 높이고 커리어를 준비하기 위해 이러한 발전 사항들을 어떻게 활용해야 하는가?
In the last few years, large language models have introduced a revolutionary new paradigm in software development. The traditional software development lifecycle is being transformed by AI automation at every stage, raising the question: how should the next generation of software engineers leverage these advances to 10x their productivity and prepare for their careers?
이 강의는 현대적인 AI 도구들이 개발자의 생산성을 향상시킬 뿐만 아니라 더 넓은 대중을 위해 소프트웨어 엔지니어링을 민주화할 것임을 보여줍니다. 우리는 소프트웨어 개발이 0에서 1을 만드는 코드 생성에서 계획, AI를 이용한 생성, 수정, 그리고 반복이라는 반복적인 워크플로우로 진화했음을 보여줄 것입니다. 학생들은 전통적인 소프트웨어 엔지니어링 과제 이면의 이론과 오늘날 이를 해결하는 최첨단 AI 기반 도구들을 모두 마스터하게 될 것입니다.
This course demonstrates that modern AI tooling will not only enhance developer productivity but also democratize software engineering for a broader audience. We'll show that software development has evolved from 0-1 code creation to an iterative workflow of plan, generate with AI, modify, and repeat. Students will master both the theory behind traditional software engineering challenges and the cutting-edge AI-powered tools solving them today.
실습 엔지니어링 과제와 이러한 혁신적인 도구들을 만드는 업계 선구자들의 강연을 통해, 여러분은 AI 보조 개발, 자동화된 테스팅, 지능형 문서화, 그리고 보안 취약점 탐지에 대한 실무 경험을 얻게 될 것입니다. 이 강의가 끝날 때쯤이면, 여러분은 최첨단 LLM 모델을 복잡한 개발 워크플로우에 통합하고 흔한 함정들을 피하는 방법에 대해 명확하게 이해하게 될 것입니다.
Through hands-on engineering tasks and talks from industry pioneers building these revolutionary tools, you'll gain practical experience with AI-assisted development, automated testing, intelligent documentation, and security vulnerability detection. By the end of this course, you'll have a crisp understanding of how to integrate state-of-the-art LLM models into complex development workflows and avoid common pitfalls.
선수과목 (Prerequisites)
CS111에 상응하는 프로그래밍 경험. CS221/229 권장.
CS111 equivalent programming experience. CS221/229 recommended.
형식 (Format)
주간 강의, 실습 코딩 세션, 그리고 업계 초청 연사. 현대적인 개발 관행을 보여주는 기말 프로젝트.
Weekly lectures, hands-on coding sessions, and guest speakers from industry. Final project showcasing modern development practices.
목표 (Goals)
현대적인 개발 도구 마스터, AI 보조 코딩 이해, 자동화된 테스팅 및 배포 학습, 떠오르는 소프트웨어 트렌드 탐구.
Master modern development tools, understand AI-assisted coding, learn automated testing and deployment, explore emerging software trends.
강의 일정
1주차: 코딩 LLM 및 AI 개발 입문
주제
- 강의 운영 사항
- LLM이란 실제로 무엇인가
- 효과적으로 프롬프트하는 방법
읽기 자료
- LLM 심층 분석(Deep Dive into LLMs)
- 프롬프트 엔지니어링 개요(Prompt Engineering Overview)
- 프롬프트 엔지니어링 가이드(Prompt Engineering Guide)
- AI 프롬프트 엔지니어링: 심층 분석(AI Prompt Engineering: A Deep Dive)
- OpenAI가 코덱스를 사용하는 방법(How OpenAI Uses Codex)
과제
9/22 월: 소개 및 LLM이 만들어지는 방법 - 슬라이드
9/26 금: LLM을 위한 파워 프롬프팅 - 슬라이드
2주차: 코딩 에이전트의 해부
주제
- 에이전트 아키텍처 및 구성 요소
- 도구 사용 및 함수 호출
- 모델 컨텍스트 프로토콜(MCP, Model Context Protocol)
읽기 자료
- MCP 소개(MCP Introduction)
- MCP 서버 구현 예시(Sample MCP Server Implementations)
- MCP 서버 인증(MCP Server Authentication)
- MCP 서버 SDK(MCP Server SDK)
- MCP 레지스트리(MCP Registry)
- MCP 생각할 거리(MCP Food-for-Thought)
과제
9/29 월: 처음부터 코딩 에이전트 만들기 - 슬라이드, 완료된 실습
10/3 금: 사용자 정의 MCP 서버 만들기 - 슬라이드, 완료된 실습
3주차: AI IDE
주제
- 컨텍스트 관리 및 코드 이해
- 에이전트를 위한 제품 요구사항 정의서(PRD)
- IDE 통합 및 확장 프로그램
읽기 자료
- 명세서는 새로운 소스 코드이다(Specs Are the New Source Code)
- 긴 컨텍스트가 실패하는 방식(How Long Contexts Fail)
- Devin: 코딩 에이전트 기초(Devin: Coding Agents 101)
- 복잡한 코드베이스에서 AI가 작동하게 만들기(Getting AI to Work In Complex Codebases)
- FAANG이 바이브 코딩하는 법(How FAANG Vibe Codes)
- 에이전트를 위한 효과적인 도구 작성(Writing Effective Tools for Agents)
과제
10/6 월: 첫 프롬프트부터 최적의 IDE 설정까지 - 슬라이드, 설계 문서 템플릿
10/10 금: Silas Alberti, 연구 책임자 Cognition - 슬라이드
4주차: 코딩 에이전트 패턴
주제
- 에이전트 자율성 수준 관리
- 인간-에이전트 협업 패턴
읽기 자료
- Anthropic이 Claude Code를 사용하는 방법(How Anthropic Uses Claude Code)
- Claude 모범 사례(Claude Best Practices)
- 멋진 Claude 에이전트(Awesome Claude Agents)
- 슈퍼 Claude(Super Claude)
- 좋은 컨텍스트 좋은 코드(Good Context Good Code)
- Claude Code 내부 들여다보기(Peeking Under the Hood of Claude Code)
과제
10/13 월: 에이전트 관리자가 되는 방법 - 슬라이드
10/17 금: Boris Cherney, 창시자 Claude Code - 슬라이드
5주차: 현대적인 터미널
주제
- AI로 강화된 명령줄 인터페이스(CLI)
- 터미널 자동화 및 스크립팅
읽기 자료
- Warp University(Warp University)
- Warp 대 Claude Code(Warp vs Claude Code)
- Warp가 Warp를 만들기 위해 Warp를 사용하는 방법(How Warp Uses Warp to Build Warp)
과제
10/20 월: 획기적인 AI 개발자 제품을 만드는 방법 - 슬라이드
10/24 금: Zach Lloyd, CEO Warp - 슬라이드
6주차: AI 테스팅 및 보안
주제
- 안전한 바이브 코딩
- 취약점 탐지의 역사
- AI가 생성한 테스트 스위트
읽기 자료
- SAST 대 DAST(SAST vs DAST)
- 프롬프트 주입을 통한 Copilot 원격 코드 실행(Copilot Remote Code Execution via Prompt Injection)
- Claude Code와 OpenAI Codex를 사용한 현대 웹 앱의 취약점 찾기(Finding Vulnerabilities in Modern Web Apps Using Claude Code and OpenAI Codex)
- 에이전트 AI 위협: 신원 도용 및 사칭 위험(Agentic AI Threats: Identity Spoofing and Impersonation Risks)
- OWASP 상위 10가지: 주요 웹 애플리케이션 보안 위험(OWASP Top Ten: The Leading Web Application Security Risks)
- 컨텍스트 부패: AI 컨텍스트 윈도우의 성능 저하 이해하기(Context Rot: Understanding Degradation in AI Context Windows)
- O3를 사용한 취약점 프롬프트 분석(Vulnerability Prompt Analysis with O3)
과제
10/27 월: AI QA, SAST, DAST, 그리고 그 너머 - 슬라이드
10/31 금: Isaac Evans, CEO Semgrep
7주차: 현대적인 소프트웨어 지원
주제
- 어떤 AI 코드 시스템을 신뢰할 수 있는가
- 디버깅 및 진단
- 지능형 문서 생성
읽기 자료
- 코드 리뷰: 그냥 하라(Code Reviews: Just Do It)
- 코드를 효과적으로 리뷰하는 방법(How to Review Code Effectively)
- 현대 코드 리뷰에서의 AI 보조 코딩 관행 평가(AI-Assisted Assessment of Coding Practices in Modern Code Review)
- AI 코드 리뷰 구현 모범 사례(AI Code Review Implementation Best Practices)
- 소프트웨어 팀을 위한 코드 리뷰 필수 사항(Code Review Essentials for Software Teams)
- 수백만 건의 AI 코드 리뷰에서 얻은 교훈(Lessons from millions of AI code reviews)
과제
11/3 월: AI 코드 리뷰 - 슬라이드
11/7 금: Tomas Reimers, CPO Graphite - 슬라이드
8주차: 자동화된 UI 및 앱 구축
주제
- 모두를 위한 디자인 및 프론트엔드
- 신속한 UI/UX 프로토타이핑 및 반복
과제
11/10 월: 단일 프롬프트로 만드는 엔드투엔드 앱 - 슬라이드
11/14 금: Gaspar Garcia, AI 연구 책임자 Vercel - 슬라이드
9주차: 배포 후 에이전트
주제
- AI 시스템을 위한 모니터링 및 관찰 가능성
- 자동화된 사고 대응
- 트라이아징(Triaging) 및 디버깅
읽기 자료
- 사이트 신뢰성 엔지니어링(SRE) 소개(Introduction to Site Reliability Engineering)
- 알아야 할 관찰 가능성 기초(Observability Basics You Should Know)
- AI를 활용한 쿠버네티스 트러블슈팅(Kubernetes Troubleshooting with AI)
- 당신의 새로운 자율 팀 동료(Your New Autonomous Teammate)
- 소프트웨어 엔지니어를 AI 네이티브로 만드는 데 있어 멀티 에이전트 시스템의 역할(Role of Multi Agent Systems in Making Software Engineers AI-native)
- 온콜 엔지니어링에서 에이전트 AI의 이점(Benefits of Agentic AI in On-call Engineering)
11/17 월: 사고 대응 및 데브옵스(DevOps) - 슬라이드
11/21 금: Mayank Agarwal, CTO Resolve, 그리고 Milind Ganjoo, 기술 스태프 Resolve- 슬라이드
10주차: AI 소프트웨어 엔지니어링의 다음 단계
주제
- 소프트웨어 개발 역할의 미래
- 떠오르는 AI 코딩 패러다임
- 업계 트렌드 및 예측
12/1 월: 10년 후의 소프트웨어 개발
12/5 금: Martin Casado, 제너럴 파트너 a16z
CS146S: Modern Software Developer 강의 홈페이지
CS146S: Modern Software Developer 강의 실습 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()
