6.1010 程序设计基础(Python版)
aka.《Fundamentals of Programming》
介绍编程的重要概念,主题包括编程和 Python 基础知识、计算概念、软件工程、算法技术、数据类型和递归。旨在培养将编程语言的基本方法应用于抽象问题的技能。
欢迎来到6.101!我们将踏上学习计算机编程的旅程,这是现代世界中任何人都可以拥有的最有趣、有趣和实用的技能之一。这门课多样化的学生群体,不仅在背景方面,而且在未来目标方面也是如此。有些人计划成为软件工程师。有些人对这种职业不感兴趣,但承认在解决自己感兴趣领域的问题时让计算机为自己工作的效用。有些人觉得编程本身很有趣而且有趣。你可能属于这些类别中的一个或多个。无论如何,如果你未来的目标和计划中涉及计算,我们希望对你来说将是一次有趣和有价值的体验!
目标
分为编程目标和思维目标
编程目标
- 用"地道"的方式设计实现中小型python程序
- 在你喜欢的编程环境中,实现了测试,调试python程序
- 将编程作为一个工具解决其他领域的问题
- 学会用命令行与你的计算机交互
思维目标
- 能够将一个大问题分解成可独立实现,独立调试的小问题。
- 不使用电脑,通过模型图分析,推断出python程序的行为。
- 理解各种算法和数据结构在效率和正确性方面所带来的权衡问题。
- 在编写任何代码之前,预测程序设计中的一些边缘情况和故障模式。
课程介绍
组成部分
- 阅读材料
- 复习材料
- 12个实验,每个实验,都包括软件设计、构建和设计实施
- 复习课
实验
https://github.com/luomingguo/61010_fundamentals_of_programming
通用的阅读资料
参考书
但是如果需要的话可以选用以下
Python:
- Python官方教程
- 像计算机科学家一样思考python(英文名: Think Python) by Alan Downey
Debugging:
- Debug It!: Find, Repair, & Prevent Bugs in Your Code, Paul Butcher, The Pragmatic Bookshelf, 2009
- Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems, David J. Agans, AMACOM, 2002
- Why Programs Fail (2nd edition), Andreas Zeller, Morgan Kaufmann, 2009
主题
week 0: Intro
Week 0 Intro Recitation (Mon, 5 Feb) Files:
code.zipquestions.pdfWeek 0 Midpoint Recitation (Wed, 7 Feb) Files:
code.zipquestions.pdfWeek 0 Wrap-up Recitation (Mon, 12 Feb) Files:
code.zipquestions.pdf
Week 1: Environment Model
Week 1 Midpoint Recitation (Wed, 14 Feb) Files:
code.zipquestions.pdfWeek 1 Wrap-up Recitation (Mon, 19 Feb) Files:
code.zipquestions.pdf
Week 2: Fun With Functions
- Week 2 Midpoint Recitation (Wed, 21 Feb) Files:
code.zipquestions.pdf
- Week 2 Midpoint Recitation (Wed, 21 Feb) Files:
Week 3: Flood Fill
Week 3 Intro Recitation (Mon, 26 Feb) Files:
containers_summary.pdfquestions.pdfsets_and_dictionaries.pyWeek 3 Midpoint Recitation (Wed, 28 Feb) Files:
mit_path_finding.zipquestions.pdfWeek 3 Wrap-up Recitation (Mon, 4 Mar) Files:
bacon_review.zipquestions.pdf
Week 4: Graph Search
- Week 4 Midpoint Recitation (Wed, 6 Mar) Files:
free_food_bonanza.zipquestions.pdf
- Week 4 Midpoint Recitation (Wed, 6 Mar) Files:
Week 5: Recursion
Week 5 Intro Recitation (Mon, 11 Mar) Files:
questions.pdftree_code.zipWeek 5 Midpoint Recitation (Wed, 13 Mar) Files:
grammar_code.zipquestions.pdfWeek 5 Wrap-up Recitation (Mon, 18 Mar) Files:
questions.pdf
Week 8: Recursion and Iteration
Week 8 Intro Recitation (Mon, 1 Apr) Files:
gen_code.zipquestions.pdfWeek 8 Midpoint Recitation (Wed, 3 Apr) Files:
questions.pdfrec.pyWeek 8 Wrap-up Recitation (Mon, 8 Apr) Files:
questions.pdf
Week 9: Recursion with Backtracking
- Week 9 Midpoint Recitation (Wed, 10 Apr) Files:
questions.pdfstudent_code.zip
- Week 9 Midpoint Recitation (Wed, 10 Apr) Files:
Week 10: Custom Types
Week 10 Midpoint Recitation (Wed, 17 Apr) Files:
nbodies_code.zipquestions.pdfWeek 10 Wrap-up Recitation (Mon, 22 Apr) Files:
questions.pdfstudent_code.zip
Week 11: Inheritance
Week 11 Midpoint Recitation (Wed, 24 Apr) Files:
ets_code.zipquestions.pdfWeek 11 Wrap-up Recitation (Mon, 29 Apr) Files:
questions.pdftoken_parse_code.zip
Week 12: Functional Programming
Week 12 Midpoint Recitation (Wed, 1 May) Files:
lisp_scope_handouts.zipWeek 12 Wrap-up Recitation (Mon, 6 May) Files:
questions.pdf
Week 13 Midpoint Recitation (Wed, 8 May) Files:
link_list.pyquestions.pdf
实验
- 音频处理
- 图像处理
- 培根编号