Skip to content

Commit fc5360c

Browse files
committed
feat: add chapter(s)
1 parent e76227e commit fc5360c

File tree

6 files changed

+299
-1
lines changed

6 files changed

+299
-1
lines changed

content/chapter-0/031.foreword.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
id: 43
3+
title: "[译] [031] 原书推荐序"
4+
---
5+
6+
## Foreword
7+
## 原书推荐序
8+
9+
It’s an awesome time to learn programming. Why? Let me use an analogy to explain.
10+
11+
学习编程的黄金时代已经到来。为什么这么说?让我通过一个类比来解释。
12+
13+
I like to make my own bread. I make it more frequently, and more reliably, when I use my stand mixer to knead the dough compared to kneading it by hand. Maybe you’d say that’s lazy. I’d say it makes me more productive and more likely to actually make the bread. Maybe you have something that makes your life easier by taking over a tedious task, leaving you free to focus on more important or interesting things. Do you have a car that supports you in parallel parking? I recall when Gmail added spell and grammar checks in languages other than English. My husband’s German relative were so excited that he was writing them longer emails—because the effort of remembering little-used German language specifics went away and allowed him to spend more time on the content!
14+
15+
我喜欢在家自己烘焙面包。相较于手工揉面,使用立式搅拌机明显更加高效、更加可靠。你或许会认为这是在偷懒,但我想说的是,它减轻了我的负担,让我享受到更纯粹的烘焙乐趣。或许你也有类似的体验,当某样东西能够接管那些日常琐事、让你释放双手,那么你的生活不仅会变得更轻松,而且你会有更多精力投入到更重要或更有趣的事情之中。比如,你的汽车是否配备了自动侧方停车的功能?我清楚地记得,当 Gmail 为非英语语言引入了拼写和语法检查器时,我丈夫的德国亲戚们非常兴奋,因为他给他们写的电子邮件篇幅明显变长了——当那些不常用的德语细节不再成为负担之后,他可以将更多时间花在邮件的内容上!
16+
17+
Sadly, until recently, when learning programming, you had no equivalent of a stand mixer or grammar check to support you. And there are lots of tedious things to learn and remember when you start programming.
18+
19+
遗憾的是,在很长时间里,我们在学习编程方面并没有类似立式搅拌机或语法检查器这样的辅助工具。而且,当你刚开始学习编程的时候,就有大量繁琐的事情需要学习和记忆。
20+
21+
Good news! As of spring 2023, radically new and (we think) effective support is finally here. You are about to learn programming with one of the most exciting human task supporters so far this century: artificial intelligence. Specifically, this book seeks to support you in developing your ability to program in Python to solve computational problems more easily and faster by teaching you using a tool called GitHub Copilot. Copilot is a programming support tool that uses something called a LLM (large language model) to draw “help” from a huge number of previously written programs. Once you learn how to direct it (sadly, it’s more complicated than effectively using a stand mixer), Copilot can dramatically increase your productivity and success in writing programs to solve your problem.
22+
23+
但好消息来了!2023 年春天,我们终于看到一种全新且(我们认为)有效的辅助手段浮现于世。如果你打算踏上编程学习之旅,那么陪伴你的将是本世纪迄今为止最令人兴奋的辅助工具之一:人工智能。具体而言,本书将帮助你掌握一款名为 GitHub Copilot 的工具,它将帮助你拓展 Python 编程技能,进而更轻松、更快速地借助计算机程序解决实际问题。Copilot 是一款编程辅助工具,它基于一种叫作大型语言模型(LLM)的技术,能从大量已有的程序代码中“获取帮助”。一旦你学会如何驾驭 Copilot(遗憾的是,这比熟练操作立式搅拌器要复杂得多),它可以显著提升你编写程序、解决问题的生产力和成功率。
24+
25+
But should you use Copilot? Are you really learning to program if you use it? Preliminary evidence looks positive—showing that students who learned with Copilot, when assigned a programming task to be done without the help of Copilot, did better than students who learned without Copilot (and also did the task without Copilot) [1]. That said, compared to what we used to teach in an introductory programming class, there are different skills you will need to focus on when programming with Copilot, specifically problem decomposition and debugging (it’s OK if you don’t know what those are). Just know, practicing programmers need to know those skills as well, but we previously weren’t able to teach them explicitly or effectively in introductory courses, because students didn’t have the brain space left for learning these “high-level skills” while focusing on nit-picky things like spelling and grammar (programming languages have these, just like real world languages).
26+
27+
不过,你是否真的应该使用 Copilot 呢?用了它之后,你真的还是在学编程吗?初步的研究结果看起来是积极的——那些借助 Copilot 学习的学生,在脱离 Copilot 辅助的情况下面对编程任务,比那些从未借助 Copilot 学习的学生表现更为出色(后者同样脱离 Copilot 辅助面对相同任务)[1]。尽管如此,相较于我们以往在编程入门课程中的教学内容,使用 Copilot 编程时,你需要特别关注一些不同的技能,尤其是问题拆解和调试排错(如果你对这些术语还不熟悉,那也无妨)。要知道,即便是经验丰富的程序员,同样需要掌握这些技能,但在过去,我们很难在入门课程中明确提出并有效讲解它们,原因在于学生们在专注于编程语言中的拼写和语法等细节问题时,往往已经腾不出脑细胞来学习这些“高阶技能”了。
28+
29+
Leo and Dan are expert computing educators and researchers; the decisions that they’ve made to guide your learning in this book are grounded in what we know about teaching and learning programming. I’m excited that, with this book, they’re taking steps toward what the next wave of teaching programming will look like.
30+
31+
本书的两位作者均为资深的计算机教育专家和研究者,他们在本书中所制定的教学策略,深深植根于我们对编程教育的深刻理解。我对此感到非常兴奋,因为通过这本书,他们正在向我们展示编程教育的未来趋势。
32+
33+
So, congratulations! Whether you have never done any programming or whether you started to learn before and got frustrated… we think you will find learning to program with Copilot transformative and will allow you to engage your brain in more meaningful and “expert-like” programming experiences!
34+
35+
所以,恭喜你!无论你是编程新手,还是曾经尝试但遭遇挫折……我们相信借助 Copilot 学习编程将是你不容错过的一次转机。它将使你的头脑在编程过程中发挥更重要的作用,享受到“指点江山”般的编程体验!
36+
37+
**—Beth Simon, Ph.D.**
38+
——贝丝·西蒙,博士
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
id: 44
3+
title: "[译] [032] 致谢"
4+
---
5+
6+
## Acknowledgments
7+
## 致谢
8+
9+
Writing a book about technology in flux was new for us. Each day of writing started with us reading the new articles, opinion pieces, and capabilities of LLMs. Early plans had to be scrapped or revised. New ideas presented themselves for later chapters only after we’d written earlier chapters and had access to the latest LLM features. We thank the entire Manning Publications team for their agility and help throughout the process.
10+
11+
为一项正在不断演进的技术撰写书籍,对我们来说是一项全新的挑战。我们写书期间,每天开头的准备工作都是在阅读关于 LLM 的最新文章、观点和能力介绍。早期的写作规划不得不推翻重来。当我们写完了前半部分并接触到最新的 LLM 特性之后,后半部分的写作思路才完整地浮出水面。我们对整个Manning出版社团队在这个过程中所展现出的机动性和支持度表示衷心的感谢。
12+
13+
In particular, we thank our Development Editor Rebecca Johnson for her expertise, wisdom, and support.
14+
15+
其中,我们要特别感谢这本书的策划编辑丽贝卡·约翰逊(Rebecca Johnson)女士,感谢她深厚的专业知识、睿智的洞察力以及坚定的支持。
16+
17+
Rebecca provided insightful feedback, constructive criticism, and creative suggestions that have greatly improved the quality and clarity of our work. Rebecca was supportive and encouraging and helped us manage book timelines and our busy schedules. Thank you, Rebecca—you went above and beyond for us.
18+
19+
丽贝卡以其敏锐的洞察力、建设性的批评和富有创造力的建议,极大地提升了这本书的品质与明晰度。她的支持与鼓励,以及在写书进度和日程管理方面的协助,对我们来说至关重要。衷心感谢 丽贝卡,你所做的远远超过了我们的期待。
20+
21+
We also thank our Technical Editor Peter Morgan and our Technical Proofreader Mark Thomas. Both offered valuable contributions to the quality of the book.
22+
23+
我们还要感谢这本书的技术编辑 Peter Morgan 和技术校对 Mark Thomas。他们两位对本书的质量保障做出了重要的贡献。
24+
25+
To all the reviewers: Aishvarya Verma, Andrew Freed, Andy Wiesendanger, Beth Simon, Brent Honadel, Cairo Cananea, Frank Thomas-Hockey, Ganesh Falak, Ganesh Swaminathan, Georgerobert Freeman, Hariskumar Panakmal, Hendrica van Emde Boas, Ildar Akhmetov, Jean-Baptiste Bang Nteme, Kalai C. E. Nathan, Max Fowler, Maya Lea-Langton, Mikael Dautrey, Monica Popa, Natasha Chong, Ozren Harlovic, Pedro Antonio Ibarra Facio, Radhakrishna Anil, Snehal Bobade, Srihari Sridharan, Tan Wee, Tony Holdroyd, Wei Luo, Wondi Wolde, your suggestions helped make this a better book.
26+
27+
感谢所有审稿人:Aishvarya Verma、Andrew Freed、Andy Wiesendanger、Beth Simon、Brent Honadel、Cairo Cananea、Frank Thomas-Hockey、Ganesh Falak、Ganesh Swaminathan、Georgerobert Freeman、Hariskumar Panakmal、Hendrica van Emde Boas、Ildar Akhmetov、Jean-Baptiste Bang Nteme、Kalai C. E. Nathan、Max Fowler、Maya Lea-Langton、Mikael Dautrey、Monica Popa、Natasha Chong、Ozren Harlovic、Pedro Antonio Ibarra Facio、Radhakrishna Anil、Snehal Bobade、Srihari Sridharan、Tan Wee、Tony Holdroyd、Wei Luo、Wondi Wolde。感谢你们的宝贵建议,让这本书更加完善。
28+
29+
We thank our colleagues for supporting our work and offering their ideas for what such a book should attempt to do. Many of their ideas have informed our thinking as we sought to redefine what an introductory programming course looks like. We particularly thank Brett Becker, Michelle Craig, Paul Denny, Bill Griswold, Philip Guo, and Gerald Soosai Raj.
30+
31+
我们衷心感谢同事们对我们写作的大力支持,并慷慨分享了他们对于这本书的设想。他们的想法极大地丰富了我们的思路,在我们努力重新塑造编程入门课程时提供了宝贵的启发。我们特别要感谢 Brett Becker、Michelle Craig、Paul Denny、Bill Griswold、Philip Guo 以及 Gerald Soosai Raj,他们的贡献非常重要。

0 commit comments

Comments
 (0)