Dear All,
亲爱的同学们,
I'd like to share with you my teaching philosophy, goals,
approaches, and expectations of this course, which I hope will help you learn
better.
我想和你们分享一下我的授课思路、目标、方法,以及对这门课程的期待,希望这些能帮助你们学得更好。
This course has two goals: teaching you fundamentals of
information technology, and helping you transition from high school to college.
To succeed in college, and more so in graduate school, you must learn actively
rather than passively as you may have been taught in high school. As an active
learner, you shall not rely solely on the instructors to teach you all
knowledge. Instead, you should study the learning resources provided by the
instructors and actively engage in discussions.
这门课程有两个目的:一是教给你们信息技术的基本原理,二是帮助你们完成从高中到大学的转型。在高中时,你们可能是在一种被动灌输的状态下学习的。但是,如果你们想在本科阶段获得成功,你们必须积极主动地学习,在研究生阶段就更是如此。作为一个积极的学习者,你们不应该等着教师教给你们全部的知识。你们应该自己去研究教师提供的学习资料,并且积极地参与讨论。
Specifically for programming languages, I will not teach you syntax or grammar,
because I trust that you are smart enough to learn them by yourself. In fact,
many prestigious US and UK universities expect their students to do the same.
Instead, I will help you understand the difficult or confusing parts of the
language, such as Python's scoping rules, through examples. I will focus on
problem solving and algorithms, which apply to all programming languages.
具体说到编程语言,我不会教你们句法(syntax)和语法(grammar)的细节,因为我相信你们足够聪明,可以通过自学获取这些知识。实际上,许多知名的美国和英国大学期待他们的学生做同样的事。我会做的是通过分析实例,帮助你们理解编程语言中困难和让人迷惑的部分,比如说Python的作用域规则(scoping
rules)。在所有编程语言的教学中,我的授课重点在于解决问题(problem
solving)和算法(algorithms)。
We can achieve this learning goal only if you read all the assigned chapters
before each lecture. Otherwise, you will not be able to follow our discussions
in class.
要达到这个课程的学习目标,你们必须在课前预习所有布置给你们的章节。不然,你们在课堂上将无法参与到讨论中来。
Applying the same philosophy to homework, I won't assign mechanical homework to
drill you. Instead, my homework will be more open ended, where I describe the
problem and expected results, but you are free to implement your program in any
way you like. This type of homework helps prepare you for real life.
我将把同样的思路应用到课后作业中:我不会布置那种机械的、训练式的作业。我布置的作业是开放式的:我将描述要解决的问题以及期望的结果,你们有自由以任何你们喜欢的方式来写程序。这种类型的作业将帮助你们更好地应对日后的实际工作和生活。
Homework is an opportunity not only to practice what you have learned in the
lectures and textbooks but also to expand your knowledge. Therefore, I
introduce new concepts, such as postfix notation and stacks, in Homework 1.
Instead of viewing them as burdens, you should embrace them and read them up by
following the URLs that I provided. These concepts will be highly useful in
your future courses.
做作业是很好的机会,使你们不仅可以练习在课堂上所学到的,还可以进一步地拓展你的知识。因此,我在第一次作业里面引入了一些课堂上没教的新概念,比如说后缀表达式(postfix
notation)和栈(stack)。你们不要把它们当作额外的负担,而是应该点击我所提供的那些网页链接,认真把它们研究清楚。这些概念在你们之后的课程中会非常有用。
Because my homework is more open ended, you should not expect to solve them in
a few hours, unless you have extensive programming experience. Instead, expect
on average to spend at least 20 hours on each homework, including reviewing
related concepts in the textbook, reading additional background knowledge,
developing your program, and debugging it. In the end, you will find this
process very rewarding.
因为我布置的作业是开放式的,所以你们不要指望能在几小时做完,除非你已经有了丰富的编程经验。每次作业你们要做好花至少20个小时的心理准备,这其中包括复习课本上的相关概念,学习额外的背景知识,写程序,以及调试(debug)。我相信最后你们会发现从这个过程中受益匪浅。
If you don't plan to major in information science and technology, you might
wonder why studying programming is useful. The fact is that programming, like
mathematics, has become a fundamental skill for all science and engineering
disciplines. For example, genome sequencing for biologists, drug design for
chemists, and nuclear reaction simulation for physicists. And most of these
programs run on Linux.
如果你本不是信息学院的学生,你可能会琢磨学编程有什么用。事实是,编程跟数学一样,已经成为所有科学和工程学科的一项基本技能。比如说,生物学家要做基因组测序,化学家要做药物设计,物理学家要模拟核反应,都要用到它。绝大部分的这类程序都是在Linux上运行的。
I realize that some of you may find this course difficult because of inadequate
background. To help you, I will ask the TAs to hold additional office hours. I
will poll your available time for the office hours on the forum.
我意识到有些同学由于背景知识的欠缺,会觉得这门课很难。为了帮助你们,我会安排助教为你们提供更多的答疑时间。我会在课程网络论坛上调研合适你们的答疑时间。
Finally, if you have any thoughts or suggestions, please let me know. Working
together, let's make this course one of the best memorable experiences in your
college life.
最后,如果你们还有任何的问题和建议,请告诉我。让我们共同努力,使这门课程成为你们大学期间最难忘的经历之一。
陈浩教授
2015.3.30