传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 62171|回复: 159
收起左侧

[其他] 申请完想学编程,求建议科目和书籍(原帖新添加一些问题?)

    [复制链接] |试试Instant~ |关注本帖
Sandra 发表于 2012-2-4 20:35:01 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
本帖最后由 Sandra 于 2013-4-14 18:18 编辑

过来更新下帖子。
距离这个帖子发的已经有一年了,lz也已经进入正式进入cs的phd了,平时用的最多的可能就是matlab和R,然后需要转成正式程序了再写一下C(虽然还是很弱)。半年期间其他语言也有些接触,shell,perl其次,python这边用的也非常多。而且这边证明,哪怕你不会一门语言,真是需要用的时候基本就是拿一本tutorial,然后就赶鸭子上架了,但是基本思想很重要,可能就是大家说的算法吧。
----------------------------------------------------------
后面的话:
谢谢大家的回复,我就代表广大非CS民众在此帖里面大量提问了。原来是想发到这边的(不过貌似木有权限。)
现在在学java,但是想问问,比如之后会继续看算法之类。
但是小白又要问,之后看啥呢?比如大家推荐C++,但是有人说C#更好进三甲了,那能不能直接跳过C++直接进入C#???两者在研究和工作中哪个更广啊?
数据库的也没有学过。。。算法看过后也要视频的整体学下吗??但是木有发现推荐的视频额。。。。。有建议的吗?
之后呢???怎么再进一步的了解CS呢???

另外期间一直在看书和视频,不知道还有什么方法能提高编程能力,貌似有推荐在网上做acm题库,图书馆也借有相关的书,但是大多数好像用C++编程的。有其它的方法吗?比如找本VC的书调试例子??或者其它???

虽然语言只是算法的一种实现方法,但是现在额就会perl,C而已,现在在学java,还有其它语言大家推荐不?R语言貌似最近很火额。。。。。有大牛详细介绍下不??

评分

4

查看全部评分

本帖被以下淘专辑推荐:

tdstudy 发表于 2014-1-25 14:47:16 | 显示全部楼层
这个帖子太赞了!好东西太多了,帮大家总结下,也帮自己理清下思路。PS:本人也是小白一枚,希望跟大家一起进步!

C/C++语言:
书籍C++ Primer、C and POINTERS(C和指针)、The C++ Programming Language(Bjarne Stroustrup)The C programming language
视频教程编程范式:http://v.163.com/special/opencourse/paradigms.html
实践网站任何语言都需要不断的练习才能熟练掌握。
                USACO (http://ace.delos.com/usacogate),由浅入深,网上又有题解。花一个月认真的做到Chapter 3(至少做这么多吧),编程能力就能有很大提高了。
                TopCoder:http://www.topcoder.com/
                维基OI开放式信息学奥林匹克训练平台:http://wikioi.com/problem/

JAVA
书籍Introduction to Java Programming (Liang, Y. Daniel)JAVA 编程思想、Java核心技术以及http://algs4.cs.princeton.edu/home/
资料分享http://115.com/file/bepj5vjr#
视频教程Programming Methodology (Stanford)http://v.163.com/special/sp/programming.html

PYTHON
视频教程:Introduction to computer science and programming(MIT) http://v.163.com/special/opencourse/bianchengdaolun.html

算法
书籍CLRS 2e 号称全世界最权威的算法课程大学教材。
视频教程Introduction to Algorithms(MIT) http://v.163.com/special/opencourse/algorithms.html                   以及http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/

计算机知识
书籍:Computer Systems: A Programmer's Perspective

各种网站集合:
http://geekforgeek.com/
http://leetcode.com/
麻省理工学院公开课:计算机科学及编程导论 http://v.163.com/special/opencourse/bianchengdaolun.html
最后欢迎大家补充! 有什么错误的地方,也希望大家指正!


评分

7

查看全部评分

回复 支持 19 反对 0

使用道具 举报

Shallow__pace 发表于 2012-3-6 10:49:06 | 显示全部楼层
java的书籍我分享给你 http://115.com/file/bepj5vjr#
我已经打好包了,里面包含java数据结构、core java  thinking in java前4章中文版 java与模式。。    楼主加油吧,java是个很好的方向的

评分

2

查看全部评分

回复 支持 1 反对 0

使用道具 举报

woaibai 发表于 2012-2-4 22:50:22 | 显示全部楼层



     嗯,这个我也看过,感觉一定要配合着做老师的布置的作业,这样才有效果
     这门课程的伊朗裔教授Mehran Sahami真是太逗了,第一次见备课这么上心的老师。
    另外,我也推荐MIT的两门课《introduction to computer science and programming》和《introduction to algorithms》,前者是用python上课,可以学学脚本语言,后者就不用多说了,配合CLRS,上手算法不成问题。
回复 支持 1 反对 0

使用道具 举报

minnie10031 发表于 2012-2-4 20:51:42 | 显示全部楼层
我也想学好,帮你顶
lqhl 发表于 2012-2-4 21:07:10 | 显示全部楼层
先学C/C++吧,语法可以看C++ Primer之类的。数据结构可以看Data Structures and Algorithm Analysis in C++,算法可以看Introduction to Algorithms。
最重要的是实践,要想熟练的编程,就是要多练啊,到各大Online Judge (Ural, POJ, UVa, SPOJ, SGU, etc.)和TopCoder上刷题。刚开始的时候,我比较推荐USACO (http://ace.delos.com/usacogate),由浅入深,网上又有题解。花一个月认真的做到Chapter 3(至少做这么多吧),编程能力就能有很大提高了。

评分

1

查看全部评分

Heinrich 发表于 2012-2-4 21:32:59 | 显示全部楼层
mark一下,估计以后会有相同的问题
city 发表于 2012-2-4 21:35:59 | 显示全部楼层
回复 3# lqhl


    我也要好好学习,换方向的人伤不起~~~
hzq1001 发表于 2012-2-4 21:46:05 | 显示全部楼层
假期在看stanford的公开课, Programming Methodology, 用的是Java, 感觉入门挺合适的~
糖醋 发表于 2012-2-4 21:50:37 | 显示全部楼层
mark 一下,坛子里很多其他专业的人都有这个疑问吧
hzq1001 发表于 2012-2-4 23:11:56 | 显示全部楼层
嗯,这个我也看过,感觉一定要配合着做老师的布置的作业,这样才有效果
     这门课程的伊朗裔教授Mehran Sahami真是太逗了,第一次见备课这么上心的老师。
    另外,我也推荐MIT的两门课《introduction to computer science and programming》和《introduction to algorithms》,前者是用python上课,可以学学脚本语言,后者就不用多说了,配合CLRS,上手算法不成问题。
woaibai 发表于 2012-2-4 22:50


同感啊!!作业讲义课程网站上都有..那老师真心好, 话说你都看完了吗? 我才看到第八讲... MIT 那两门课我也知道, ITCSP都翻译完了, ITA没翻译完, 我觉得自己听力好烂, 没字幕会很吃力啊...
woaibai 发表于 2012-2-4 23:17:06 | 显示全部楼层
同感啊!!作业讲义课程网站上都有..那老师真心好, 话说你都看完了吗? 我才看到第八讲... MIT 那两门课我也知道, ITCSP都翻译完了, ITA没翻译完, 我觉得自己听力好烂, 没字幕会很吃力啊...
hzq1001 发表于 2012-2-4 23:11



    嘿嘿,我看完了,去年暑假时候看的,那会儿也没完全翻译完。那个老师不是推荐了本书叫《the art and science of java》吗?我也下载了,不过没看呢。
    stanford这个很贴心,连课堂上脚本都有,没有字幕组其实都能看懂。在Complete Course Material Downloads里都能下载到 http://see.stanford.edu/see/cour ... 8-a5aa-866adcae1111

评分

1

查看全部评分

hzq1001 发表于 2012-2-4 23:23:41 | 显示全部楼层
嘿嘿,我看完了,去年暑假时候看的,那会儿也没完全翻译完。那个老师不是推荐了本书叫《the art and science of java》吗?我也下载了,不过没看呢。
    stanford这个很贴心,连课堂上脚本都有,没有字幕组其实都能看懂。在Complete Course Material Downloads里都能下载到
woaibai 发表于 2012-2-4 23:17


WoW, thanks so much~ 你加我QQ, 我们交流交流~
woaibai 发表于 2012-2-5 17:22:39 | 显示全部楼层
WoW, thanks so much~ 你加我QQ, 我们交流交流~
hzq1001 发表于 2012-2-4 23:23



    加了已经,等你验证
 楼主| Sandra 发表于 2012-2-5 22:09:18 | 显示全部楼层
回复 3# lqhl

谢谢你的回复啊,好详细,之前学C++时候看的是网络课程,但是看书不知道是看VC的书,还是看C++基础的书,问的问题比较白,其实不清楚是先搞清楚C++基础还是用VC直接看eg开始练习。后面的数据结构是必须针对C++语言么?还是这个最好啊?算法和数据结构推荐的这两个都是书籍么?后面推荐的几个是关于什么语言的啊?不好意思,小白问的问题巨多。

昨天跟同学说要编程,然后被送了一套The art of computer programming 三卷,跟我说看完这个就成了,算法最重要,程序只是工具,是这样么?

求详细回答啊?谢谢了。
 楼主| Sandra 发表于 2012-2-5 22:10:19 | 显示全部楼层
假期在看stanford的公开课, Programming Methodology, 用的是Java, 感觉入门挺合适的~
hzq1001 发表于 2012-2-4 21:46


版主有之前学过java么 ?还是里面有介绍啊?有看书籍么?谢谢了
 楼主| Sandra 发表于 2012-2-5 22:14:26 | 显示全部楼层
回复 8# woaibai

哇,ls太谢谢了,你推荐的这两门课也是视频教程么?有没有网址呢?同想QQ交流
hzq1001 发表于 2012-2-5 23:09:34 | 显示全部楼层
版主有之前学过java么 ?还是里面有介绍啊?有看书籍么?谢谢了
Sandra 发表于 2012-2-5 22:10


之前没学过, 这门课就是入门的, 书就是那本 the art and science of java, amazon 上有~
lqhl 发表于 2012-2-6 00:44:22 | 显示全部楼层
回复 13# Sandra

我觉得VC只是个IDE,例子什么的,以后编程熟练了,学起来很轻松的,没必要看专门的书吧。Data Structures and Algorithm Analysis in C++是一本数据结构教材,里面的例子是C++的,在学会语法的基础上就可以学了。Introduction to Algorithms没有限定语言,里面的算法是用伪代码描述的,也是本著名教材。
你同学推荐的The art of computer programming是传说中的计算机的圣经啊。现在已经出了4卷,几本大部头,我也才看了一点点。所以是不是看完这个就万事大吉我不知道,不过我知道很多人雄心勃勃的想看完这部书(包括我),结果好久没有看完。这本书带了很多的习题,如果看的同时能把其中标注为中等水平的习题做完,应该就会有很大帮助了。

算法虽然重要,但是你还要有把它实现出来的能力,还要能够灵活的利用语言,只有靠多练习,光看书肯定不行。前面说的Online Judge和USACO都是一些网上题库,可以在上面做题。这些题库支持挺多语言的,C/C++是肯定支持的,大部分也支持Java。我建议初学是做USACO。有些题目还是有难度的,可以上网找找题解。

之后的CS专业课,编译、数据库、操作系统之类的,说实话我觉得理论都不复杂。不过要想深入了解,每门课都要做编程的大作业的。编程能力提高之后,这些大作业也不会觉得很困难吧。

评分

1

查看全部评分

baconbruce 发表于 2012-2-6 02:56:11 | 显示全部楼层
本帖最后由 baconbruce 于 2012-2-6 02:59 编辑

回复 1# Sandra

个人感觉如果不是为了搞ACM研究算法什么的倒是不用特别去OJ上面练 自己写点和算法有关的小程序会更有意思的 比如看完图算法就写个模拟的导航系统模拟的云计算啥的 这样需求分析啊类设计啊算法实现啊什么的都能练到了... 总之你得想办法让自己对这玩意儿感兴趣 有兴趣后学啥就都好说了
woaibai 发表于 2012-2-6 10:24:39 | 显示全部楼层
回复 15# Sandra


   有的,网易公开课就可以看,地址在这儿:http://v.163.com/special/opencourse/algorithms.html 还有这儿:http://v.163.com/special/opencourse/bianchengdaolun.html   你qq私信给我吧

评分

2

查看全部评分

woaibai 发表于 2012-2-6 10:26:17 | 显示全部楼层
The art of computer programming是好书,但这个太难了,进阶用的,不建议用

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-9-25 00:11

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表