저자

레오포터,다니엘진가로

저자:레오포터(LeoPorter)
레오포터박사는UC샌디에이고대학교의컴퓨터과학과부교수이다.10년이상의경력을보유하고있으며컴퓨터과학의효과적인교수법과학습능력평가에관한연구로권위있는교육및연구상을여러차례받았다.

저자:다니엘진가로(DanielZingaro)
다니엘진가로박사는토론토대학교의컴퓨터과학과부교수이자여러수상경력을보유한연구자다.그의주요연구분야는컴퓨터과학및컴퓨터과학교육으로,학생들이컴퓨터과학을학습하는방법을연구한다.

역자:김연지
1987년에태어나경기도광명에서자랐다.경제학과국문학을전공했고,방송및컨설팅회사에서여러데이터를다뤘다.현재는프로그래밍교육분야에종사하고있다.백번안되던코드가돌아갈때의희열,힙합과문학,드라마를좋아한다.“BuildThingsthatBuildThings”라는문장이좌우명이다.

목차


01장:코파일럿을이용한AI어시스턴트프로그램소개
1.1컴퓨터와대화하는방법
__1.1.1조금더쉽게만들기
__1.1.2훨씬더쉽게만들기
1.2기술정보
__1.2.1AI어시스턴트,코파일럿
__1.2.2코파일럿이코드를생성할때보이지않는곳에서동작하는방식(30초요약)
1.3코파일럿이바꾸게될프로그래밍학습방법
1.4코파일럿이제공하는또다른기능들
1.5코파일럿을사용할때의주의점및과제
1.6필요한기술
1.7코파일럿과같은AI코드어시스턴트에대한사회적우려

02장:코파일럿시작하기
2.1학습을위한개발환경설정하기
__2.1.1개발환경개요
2.2개발환경설정
2.3VSCode에서코파일럿으로작업하기
__2.3.1작업폴더설정
__2.3.2설정이제대로동작하는지확인
2.4코파일럿을사용할때자주겪는문제들
2.5첫번째프로그래밍실습
__2.5.1데이터처리작업에서의코파일럿의유용성

03장:기능설계
3.1함수
__3.1.1함수의구성요소
__3.1.2함수사용
3.2함수의장점
3.3함수의역할
3.4함수사용이적합한작업은무엇인가요?
__3.4.1좋은함수의속성
__3.4.2좋은(그리고나쁜)리프함수의예
3.5코파일럿을사용한함수설계주기
3.6코파일럿을사용해좋은함수만들기
__3.6.1다니엘의주식추천
__3.6.2레오의비밀번호
__3.6.3강력한비밀번호설정하기
__3.6.4스크래블점수판
__3.6.5최고의단어

04장:파이썬코드읽기:1부
4.1코드를읽을수있어야하는이유
4.2코파일럿에게코드설명요청하기
4.3꼭알아야할10가지프로그래밍기능:1부
__4.3.1#1.함수
__4.3.2#2.변수
__4.3.3#3.조건문
__4.3.4#4.문자열
__4.3.5#5.리스트
4.3.6결론

05장:파이썬코드읽기:2부
5.1꼭알아야할10가지프로그래밍기능:2부
__5.1.1#6.루프
__5.1.2#7.들여쓰기
__5.1.3#8.딕셔너리
__5.1.4#9.파일
__5.1.5#10.모듈

06장:테스트및프롬프트엔지니어링
6.1코드테스트가중요한이유
6.2폐쇄형및개방형테스트
__6.2.1폐쇄형테스트
__6.2.2테스트케이스를어떻게작성할지는어떤기준으로정하나요?
__6.2.3개방형테스트
6.3코드를테스트하는방법
__6.3.1파이썬프롬프트를사용한테스트
__6.3.2파이썬파일에테스트코드를작성(이책에서는이방식은사용하지않음)
__6.3.3독테스트
6.4코파일럿을이용한함수설계주기다시살펴보기
6.5전체테스트예제
__6.5.1빈자리가가장많이남아있는줄에는현재몇개의빈자리가남아있을까?
__6.5.2더나은솔루션을찾기위한프롬프트개선
__6.5.3새로운코드테스트하기
6.6또다른전체테스트예시-파일을이용한테스트
__6.6.1어떤테스트를해야할까?
__6.6.2함수만들기
__6.6.3함수테스트
__6.6.4doctest를사용할때주의할점

07장:문제분해
7.1문제분해
7.2하향식설계사례
7.3소설의저자식별하기
7.4하향식설계방법을사용한저자식별
7.5프로세스단계의하위문제분석
__7.5.1저자불명의책에대한시그니처알아내기
7.6하향식설계요약
7.7기능구현
__7.7.1clean_word
__7.7.2average_word_length
__7.7.3different_to_total
__7.7.4exactly_once_to_total
__7.7.5split_string
__7.7.6get_sentences
__7.7.7average_sentence_length
__7.7.8get_phrases
__7.7.9average_sentence_complexity
__7.7.10make_signature
__7.7.11get_all_signatures
__7.7.12get_score
__7.7.13lowest_score
__7.7.14process_data
__7.7.15make_guess
7.8더나아가기

08장:디버깅및코드이해도향상
8.1오류(버그)의원인은무엇인가요?
8.2버그를찾는방법
__8.2.1print문을사용하여코드동작살펴보기
__8.2.2VSCode의디버거기능으로코드동작파악하기
8.3찾아낸버그를수정하는방법
__8.3.1채팅을통해코파일럿에게버그수정요청하기
__8.3.2코파일럿에게전체함수를새로작성하도록새프롬프트제공
__8.3.3코파일럿에게함수일부에대해타기팅된프롬프트제공
__8.3.4직접코드의버그부분수정하기
8.4새로운기술을사용해함수설계주기수정하기
8.5새로운문제에디버깅기술적용하기
8.6디버거를사용한코드이해
8.7디버깅시주의할점

09장:반복적인작업의자동화
9.1도구를프로그래밍하는이유
9.2코파일럿을사용해도구작성하기
9.3예시1:이메일텍스트정리
__9.3.1코파일럿과대화하기
__9.3.2이메일정리를위한도구작성하기
9.4예시2:PDF파일에표지추가하기
__9.4.1코파일럿과대화하기
__9.4.2도구작성하기
9.5예시3:휴대폰에들어있는사진합치기
__9.5.1코파일럿과대화하기
__9.5.2하향식설계
__9.5.3도구작성하기

10장:게임만들기
10.1게임프로그램
10.2무작위성추가
__10.3예시1:숫소와암소
__10.3.1게임동작방식
__10.3.2하향식설계
__10.3.3매개변수및반환값의자료형
__10.3.4기능구현
__10.3.5숫소와암소를위한그래픽인터페이스추가하기
10.4예시2:보가트
__10.4.1게임동작방식
__10.4.2하향식설계
__10.4.3기능구현

11장:향후방향
11.1프롬프트패턴
__11.1.1뒤집힌상호작용패턴
__11.1.2페르소나패턴
11.2한계점과향후방향성
__11.2.1현재코파일럿이어려움을겪는부분
__11.2.2코파일럿은새로운프로그래밍언어인가요?

출판사 서평

추천사

"...프로그래밍의기초와AI도구를사용한효과적인코드생성방법을탁월하게결합해설명합니다."-메흐란사하미,스태퍼드대학교

"이제막생성형AI도구를사용한코딩을시작한사람의입장에서이책은정말잘구성된책입니다."-애나벨,MIT

"금세기의가장흥미로운인간작업도우미인인공지능과함께프로그래밍을배우게될것입니다...”-베스사이먼,UC샌디에이고,서문중에서

"이책은제가생각했던것이상으로코파일럿을사용한프로그래밍학습을깊이있게다룹니다."-오스틴Z.헨리,Microsoft