QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4035|回复: 0
打印 上一主题 下一主题

像计算机科学家那样思考 Python中文版第二版

[复制链接]
字体大小: 正常 放大
madio        

3万

主题

1312

听众

5万

积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    跳转到指定楼层
    1#
    发表于 2020-3-2 15:53 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    作为教育家、研究者及书籍作者,我很高兴看到这本书的完成。Python 是个有趣并且非
    8 N( n, @8 N" `% E8 S  t( w常易用的程序语言,在过去几年里,Python 逐渐地受到欢迎。Guido van Rossum 在十多年前2 A1 S# B0 ?" y0 g1 a9 ]# i  V+ `% g
    开发了 Python,其简单的语法与整体感觉则是得自于 ABC,这个 1980 年代发展的教学语
    * d& p1 U$ |1 ?8 k. S" \) u/ b$ c言。然而,Python 也被设计成可以解决真实的问题,并且也从其它程序语言如C++、Java、+ ?4 V" W9 T1 s9 i- v  p
    Modula-3 和 Scheme 等,借用了各式各样的特征。正因如此,Python 最显而易见的特色之
    7 f/ v$ w7 F$ f( B7 p一就是它广泛吸引了专业软件开发者、科学工作者、研究者、艺术家及教育家。3 z5 b' t8 S1 j" E6 T
    虽然 Python 吸引了不同社群的人士,你可能还是会怀疑为何选用 Python?,或者为
    8 M* Y  k6 P) q甚么教导用 Python 撰写程序? 回答这些问题可不简单---特别是当大众的意见都站在,如+ f& T% ?4 J' W6 j: w3 u( K- \
    C++ 和 Java 这些自讨苦吃的选择这一边的时候。然而,我想最直接的答案就是用 Python 写8 t* g# i, r0 ^+ _/ D8 `  [4 S
    程序可以单纯地得到许多乐趣,并且更有生产力。
    , ^% `. H) n& K  Q) P当我教授计算机科学课程时,我希望教学题材涵盖重要概念,又能对学生来说有趣且迷- c$ g0 }  U7 B+ _9 U
    人。可惜的是,程序设计入门课程目前倾向投注过多焦点在数学抽象概念上,且让学生因恼
    2 o! l- B% R3 n$ ~. g人问题而沮丧,如语法、编译以及看起来晦涩难解的规则等低阶细节。尽管这些抽象及形式
    6 h( H3 [. O& [1 R! f! N对专业软件工程师和计划继续学习计算机科学的学生来说,非常重要,在一个入门性的课程+ Y. s1 P: d# g: D* A
    采取这种方式大部分只会使计算机科学更无趣。教课的时候,我可不想面对一整间无精打采
    3 C1 ^$ W( x' x- ~, h% y的学生。我宁愿看到他们透过探索不同的想法、采取有创意的方式、打破成规并从错误中学
    " C" F' ~- a/ J. M& [+ V) p8 M习,以尝试解决有趣的问题。这么做的原因是,我不想浪费半个学期试着厘清含糊的语法问' n$ o: S% R( L# Y
    题、难以理解的编译器错误讯息,或是一个程序可能造成一般性保护错误的数百种方式。- X0 N5 @% _" H$ a/ Y
    我喜欢 Python 的原因之一,就是它在实做与概念上取得了很好的平衡。既然 Python 是, Y- q2 t0 X" l# o  F4 g
    直译的,初学者几乎可以立刻学会这个语言,并做些美妙的事,而不会迷失在编译与连结的: p7 q; r8 o4 h& U' e
    问题中。更有甚者,Python 随附大型的模块库,能够应用在各种工作上,包括网络程序设计1 s4 P3 S, r4 [/ s+ I4 Z
    到图形处理等。具有如此实用的重点是吸引学生注意力的绝佳方式,并且能让他们完成重要
    4 Y+ ~5 a5 r1 L的项目。然而,Python 也可以作为介绍重要计算机科学概念的优良基础。由于 Python 完整6 K1 U7 W9 N' H; d# P; s) Y+ b% e
    支持程序和类别,便可逐步引导学生认识程序抽象化、数据结构,以及对象导向程序设计等
    9 G5 E1 x1 S4 Z6 S; L" `- b! e) E课题,这些全都可以应用在往后 Java 或 C++ 的课程上。Python 还向函数型程序语言借了
    ; a& a" C) E+ A. o/ s" w1 H/ H许多功能,可以用来介绍这些以往是在 Scheme 及 Lisp 的课堂上详细介绍的概念。' N: f& e4 h1 }; R8 ]
    - VI -
    4 ~0 ]4 P: G5 V5 \) P读了 Jeffrey 的序文,我被他的评论所感动,Python 使他看见更高层次的成就以及较低
    4 U) V- f/ }+ @0 F- V4 ~0 e2 v- T$ D层次的挫折,而他可以工作得更快且获得较佳结果。尽管这些评论是指他的入门课程,我有
    ; J1 k9 ?& c8 `2 y# N" H时会以同样的理由,将 Python 应用在芝加哥大学的进阶研究所计算机科学课程。在这些课
    5 x9 `' u% L5 E+ H; _程里,我不断地面对将大量困难的课程资料,包含在极短的九星期学季中这种让人气馁的工
    5 \( R, C+ P8 `作。虽然我必定可以承受使用像 C++ 这种语言所带来的大量痛苦及折磨,我常常发现这种
    3 y" n: b0 F3 B方式有着不良的后果,特别是这些课程的主题不只是关于程序设计时。我发现使用 Python 让
      t, L. F+ d+ X7 M我能够较为集中在实际的主题上,同时也使学生能够完成重要的课程作业。4 [. B. x/ n1 p0 r$ m/ l$ j" |
    虽然 Python 仍是年轻、发展中的语言,我相信它在教育上会有耀眼的未来。这本书在  A! Z: a# H# k% @& k  C9 m
    这方向上是重要的一步。6 k6 J1 |- _% x
    David Beazley,芝加哥大学,Python Essential Reference 作者) N8 U- e* R, o6 D2 h- y) x
    % g. N+ h7 ^4 m" |: N" _9 g
    4 |; w  ^2 Q3 [1 f$ ~" _

    像计算机科学家那样思考 Python中文版第二版.pdf

    712.34 KB, 下载次数: 1, 下载积分: 体力 -2 点

    售价: 2 点体力  [记录]

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学建模社会化
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-18 08:40 , Processed in 0.622849 second(s), 55 queries .

    回顶部