gpt4 book ai didi

python - 教初学者编程的最佳方法?

转载 作者:IT老高 更新时间:2023-10-28 12:06:41 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




9年前关闭。










锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。








原问题

我目前正在教我弟弟编程。他是一个完全的初学者,但非常聪明。 (而且他实际上想学习)。我注意到我们的一些 session 在一些小细节上陷入了困境,我觉得我没有很有条理。 (但这篇文章的答案有很大帮助。)

我该怎么做才能更好地教他?是否有一个逻辑顺序可以用来逐个概念地运行?有没有我应该避免的复杂性直到以后?

我们使用的语言是 Python ,但欢迎任何语言的建议。

如何帮助

如果你有好的,请在你的答案中添加以下内容:

  • 初学者练习和项目思路
  • 初学者教学资源
  • 截屏视频/博客文章/免费电子书
  • 打印适合初学者的书籍

  • 请用链接描述资源,以便我查看。我想让每个人都知道我确实一直在使用其中的一些想法。您提交的内容将汇总在此帖子中。

    在线资源用于教学初学者:
  • A Gentle Introduction to Programming Using Python
  • How to Think Like a Computer Scientist
  • Alice: a 3d program for beginners
  • Scratch (A system to develop programming skills)
  • How To Design Programs
  • Structure and Interpretation of Computer Programs
  • Learn To Program
  • Robert Read's How To Be a Programmer
  • Microsoft XNA
  • Spawning the Next Generation of Hackers
  • COMP1917 Higher Computing lectures by Richard Buckland (需要 iTunes)
  • Dive into Python
  • Python Wikibook
  • Project Euler - 示例问题(主要是数学问题)
  • pygame - 用于创建游戏的简单 Python 库
  • Invent Your Own Computer Games With Python
  • Foundations of Programming为超越基础的下一步。
  • Squeak by Example
  • Snake Wrangling For Kids (不只是给 children 的!)


  • 推荐打印书籍 用于教学初学者
  • Accelerated C++
  • Python Programming for the Absolute Beginner
  • Code by Charles Petzold
  • Python Programming: An Introduction to Computer Science 2nd Edition
  • 最佳答案

    我不得不与几个初学者(从未写过一行代码)程序员一起工作,今年秋天我将与高中生一起举办课后研讨会。这是我最接近文档的东西。它仍在进行中,但我希望它有所帮助。

    1) 嘶嘶声。从命令行程序开始。您可以非常快速地编写一些有趣的游戏或工具,并且您可以非常快速地学习所有语言功能,而无需先学习 GUI 工具。这些早期的应用程序应该足够简单,您不需要使用任何真正的调试工具来使它们工作。

    如果不出意外,像 FizzBu​​zz 这样的东西都是不错的项目。您的前几个应用程序不应该处理数据库、文件系统、配置等。这些概念只是让大多数人感到困惑,当您刚刚学习语法和基本框架功能时,您确实不需要更多复杂性。

    部分项目:

  • Hello World !
  • 取我出生的年份,并计算我的年龄(只是(现在 - 当时)没有月份更正)。 (简单数学,输入,输出)
  • 询问方向(上、下、左、右),然后告诉用户他们的命运(掉进洞里,找到蛋糕等)。 ( bool 逻辑)
  • FizzBu​​zz,但每秒计算一次。 (循环、定时器和更多逻辑)
  • 根据他们的年龄,有些人真的很喜欢一个应用程序,它会在某个时间间隔内对用户进行随机侮辱。 (循环、数组、计时器和随机,如果您使间隔随机)

  • 2)简单的项目一旦他们很好地掌握了语言特性,你就可以开始一个项目(简单,有趣的游戏很好用。)。您应该尝试让第一个项目能够在 6-12 小时内完成。不要花时间尽早构建它。即使它很糟糕,也让他们设计它。如果它崩溃了,谈谈发生了什么以及失败的原因,然后选择另一个主题并重新开始。

    这是您开始介绍工具调试功能的地方。即使您可以通过阅读代码看到问题,您也应该教他们如何使用这些工具,然后向他们展示您如何看到它。这具有教授调试工具和教授如何在没有工具的情况下识别错误的双重目的。

    一旦,或者如果项目开始运行,您可以使用它来引入重构工具。如果您可以使用一些您从未计划过的简单功能来扩展项目,那就太好了。这通常意味着重构和重要的调试,因为很少有人第一次编写哪怕是一半像样的代码。

    部分项目:
  • 刽子手游戏
  • 试验机器人(VexMindstorms 是选项)

  • 3) 实际项目 开始一个可能需要一些时间的实际项目。使用适当的源代码控制,并强调制定时间表。像真正的项目一样运行这个项目,如果没有别的,它必须处理工具的良好体验。

    显然,您需要针对每个人进行调整。我发现的最重要的事情是,即使是第一个简单的应用程序也能应用于人们感兴趣的领域。

    部分项目:
  • 俄罗斯方块
  • 基于文本文件的博客引擎
  • 更先进的机器人工作
  • 关于python - 教初学者编程的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com