发信人: linmh(林mm要独立|EE·天秤大使|我们都爱萨尼无), 信区: EE
标 题: EE课程经验分享之程序设计篇
发信站: 饮水思源 (2013年02月20日00:03:33 星期三), 站内信件

非常感谢 yuhc 板友的供稿!写了好几门课程,辛苦辛苦~!
以下是正文:

【前言】这里囊括了《程序设计思想与方法》和《C++程序设计》两门课程,也略带给前
几天《数据结构》课程的介绍做一些补充。《程序设计思想与方法》从09级开始换成了P
ython,不过也无妨,各种高级语言都是大同小异,Python是一个非常推荐的语言,学好
它(有兴趣还可以refer一下django),无论从对动态语言、脚本语言的理解,和以后实
际使用,都大有裨益。
本帖主要是推荐教材的。完完整整啃下一本C++的书,能独立写出大作业,一般的程序就
不难写出来了。

课程名称:程序设计思想与方法、C++程序设计、数据结构

教师简介:

我没有怎么听过课,只能粗略介绍一下任课老师啦~

孟桂娥老师:
讲课中规中矩,很有条理,选的同学很多。人也是非常好非常热心的,回答问题也很全
面认真。翘课什么的也管的不是很严~

蔡云泽老师:
萌系老师唉。。抗拒不能。。导致是我出勤率最高的程序设计课。。
前几天非你莫属看到一个呆萌女生,觉得很是面熟。现在想起来。。和蔡老师真是有几
分相像。
备课上课都很用心,有什么意见啦、对成绩有什么疑问啦都可以直接找她。大多数时间
都乐呵呵的,很是可爱。只要平时大作业认真(占的比重其实不高,但一定要认真),
给分也不错。

龚玲老师:
热情积极的老师,讲课可能会有点让人想睡觉,但是龚老师是很用心的,人也很好,这
样的讲课效果,可能是由于嗓音导致的。
给分很高。

所用教材:

10级:
《C++程序设计:思想与方法》(目前更新到了第2版,下面也是第2版的封面)
作者: 翁惠玉
出版社: 人民邮电出版社
出版年: 2012-1
页数: 358
定价: 49.00元
装帧: 平装
ISBN: 9787115268761




《C++程序设计》用的好像也是这本书。天下教材一大抄,这本书我只从同学那儿借来浏
览了一遍,编写得不是很好(轻拍~)。但仍然要推荐几本经典教材:

《C++大学教程》
原作名: C++ How to Program (5th Edition)
作者: H.M.Deitel / [美] P.J.Deitel
译者: 张引
出版社: 电子工业出版社
出版年: 2007-2
页数: 1078
定价: 98.00元
装帧: 平装
ISBN: 9787121026577




FTP上有一个chm的电子书。用作辅助参考很不错。作为程序设计刚入门的同学来说,这
是一本好书。

《C++ Primer中文版》第四版
作者: Stanley B.Lippman / Josée LaJoie / Barbara E.Moo
译者: 李师贤 / 蒋爱军 / 梅晓勇 / 林瑛
出版社: 人民邮电出版社
出版年: 2006
页数: 745
定价: 99.00元
装帧: 16开
丛书: 图灵程序设计丛书
ISBN: 9787115145543




对于有一定编程基础的同学,看一遍此书,会让你更深入地了解C++ :-D

《C++编程思想》
原作名: Thinking in C++
作者: Bruce Eckel
出版社: 机械工业出版社
出版年: 2002-1-1
页数: 828
定价: 58.00元
装帧: 平装(带盘)
ISBN: 9787111091622




这本书我是上个暑假看的,只读了个开头,但是是这几本书里面最为推荐的。(估计根
据前几章做个推断)不管是刚入门还是有一定基础的同学,看过这本书都会有很大收获
。若有时间,此书推荐看英文版。

补充《数据结构》的教材:
就不评价那本翁老师和俞老师编的土黄色的《数据结构与算法XXX》了,这里直接给出它
的爹(天下教材……敢不敢例子都一样……):

《数据结构与算法分析 : C++描述(第三版)》
作者: [美]Mark Allen Weiss
译者: 张怀勇
出版社: 人民邮电出版社
出版年: 2007年
页数: 435
定价: 49.00元
ISBN: 9787115139238




有时间和精力的话,把土黄色扔了吧o(︶︿︶)o

CS路过的同学可以看一看:

《算法导论》
原作名: Introduction to Algorithms
作者: [美] Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest /
Clifford Stein
译者: 潘金贵 等
出版社: 机械工业出版社
出版年: 2006-9
页数: 754
定价: 85.00元
装帧: 平装
丛书: 计算机科学丛书
ISBN: 9787111187776




以上各书,买二手或者盗版就行啦~

学习心得:

几点建议:
1.认真读完至少一本教材(就算是我交自己编的书)
2.认真写每一个大作业(可以先对着书或其他人的程序写,但一定不要直接拷了project
然后Ctrl+R,也不要只是对着抄了一遍,然后submit了事。对着别人的代码写了一遍,
是让自己清晰这个程序的框架和思路,需要再回味一遍,最好再独立写一遍)
3.抽空去做一下OnlineJudge的题目(可以去多一点的题库,每个题库做十来道通过人数
比较多的题目。为数据结构打下一点点基础)
4.看书的时候一定要问自己,如果只给出了问题,自己能够写出一样准确的程序段吗?
5.上课前最好先预习一下,这样可以把握住哪些地方自己理解有困难。

C++的考试题量比较大。所以需要平时对知识点非常熟悉。这个熟悉并不是说要把书上的
内容背得滚瓜烂熟,注意程序设计只是一个思想,数据结构也只是一个思想(或者说是
骨架吧)。例如C语言的字符串,理解存储形式(字符|字符|…|\0);栈,理解FILO(
先进后出),数十页的篇幅就被浓缩成几句话了。
考试不会让你概念填空,考默写题不是我交的风格~

数据结构有机考。多看看NOCOWS上的题解(如何想到解题思路、如何应用数据结构、如
果将链表转化为数组实现)。大多数同学觉得机考很虐,我想应当是大家都抱着“看懂
了书”、“会写大作业”,就可以“机考考得不错”的想法吧。其实大作业难度比机考
要更难一些,程序也更为复杂。每年机考题多是难度为1的题,只是它们涉及的解题思维
,大多数同学并不熟悉(比如上个学期第三题其实就是BFS+图的存储,代码就五六十行
)。多做做USACO、HDU(现在出了个ACM Step),还有开放时日不长的
http://acm.sjtu.edu.cn/OnlineJudge/,熟悉熟悉模式吧~

希望大家提出指正和补充,谢谢~~


--
┬──☆──┬
╰╯ │ ╰╯ ▍ ▍
┌★┐
┴─┴ ▍ ▍ ▍ ▍ (9·23~10·23)

※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 59.58.197.94]