大一学生迷茫,请神人给些意见,学计算机, - V2EX
money

大一学生迷茫,请神人给些意见,学计算机,

  money Nov 12, 2011 6458 views
This topic created in 5295 days ago, the information mentioned may be changed or developed.
大一,计算机专业,无基础,怎么办,想从事编程,神人能否推荐些书籍,入门的,小弟感激不敬
48 replies    1970-01-01 08:00:00 +08:00
Ricepig
    1
Ricepig  
   Nov 12, 2011
搜索SICP
还有CSAPP

看完再说
gDD
    2
gDD  
   Nov 12, 2011
学好英语,学会Google,忘了Baidu,还可以学Linux /lnks/
cngithub
    3
cngithub  
   Nov 12, 2011 via iPhone
全世界程序员都说好的图书

http://book.douban.com/doulist/1244005/
cngithub
    4
cngithub  
   Nov 12, 2011 via iPhone
入门的

与小朋友一起学编程

http://book.douban.com/doulist/1237672/
cngithub
    5
cngithub  
   Nov 12, 2011 via iPhone
如果学Ruby与Rails还可参考

Ruby与Rails开发基础书单

http://book.douban.com/doulist/1222802/
yyfearth
    6
yyfearth  
   Nov 12, 2011
LZ有GF了么?
没有的话,大一,抓紧把妹子,以后机会就少了。
编程的话,一定要先搞定妹纸再说。
嘻嘻
ray_zhang_cn
    7
ray_zhang_cn  
   Nov 12, 2011
1、先学一门编程语言。c 或者 c++

了解什么是程序,程序能干嘛,编程语言都是个什么东西

别一上来就看各种所谓的经典著作,完全理解不了,无谓浪费时间,不过这本例外。

http://www.amazon.cn/C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80-%E5%85%8B%E5%B0%BC%E6%B1%89/dp/B0011C9OMG/ref=sr_1_1?ie=UTF8&qid=1321050077&sr=8-1

2、花点时间想想自己想做什么,互联网?研究人员?桌面应用?前端?后端?
找点自己觉得有趣想做的东西,去尝试

3、如果能认定做什么,那最好,如果不行,先认真上课。

然后,就没然后了
jjgod
    8
jjgod  
   Nov 12, 2011
Computer Science: An Overview 还不错,适合入门,国内有影印版和中文版。
killpanda
    9
killpanda  
   Nov 12, 2011 via iPhone
玩linux!
Pandroid
    10
Pandroid  
   Nov 12, 2011 via Android
一般计算机专业的话大一已经有C语言课了。我的建议是先跟着老师学,对编程语言有个大致了解和掌握,然后再去找其他书或者学习视频看看。毕竟编程语言有很多类似的地方,跟着老师把基础的学了,自学其他语言也会省力很多。
tJ3HHmtmoGC4IUhh
    11
tJ3HHmtmoGC4IUhh  
   Nov 12, 2011 via iPod
除了基础,要多开阔眼界。像信息架构,用户体验设计,it史(浪潮之颠、borland传奇)等交叉学科
cloverstd
    12
cloverstd  
   Nov 12, 2011
@Pandroid 我在三流大学,大一就没有C语言课
Pandroid
    13
Pandroid  
   Nov 12, 2011
@cloverstd 额,这个么,其实我也是三流大学,大一下学期有的C语言课,因为我们这边有统一的计算机考试,所以必须要学的。如果自学的话,我觉得看视频比较有效率点,不过关于C的视频教程我没有找过。
swimteddy
    14
swimteddy  
   Nov 12, 2011
我们学校所有学生大一VB C JAVA C++四选一必修
zythum
    15
zythum  
   Nov 12, 2011
@yyfearth 您这是....
话说这些东西基本都是靠自己的。学校最多交个入门。然后看@money 酱自己喜欢什么。就往那边去自己瞎搞搞。
其实朱一感觉瞎稿的时候最爽了。
cloverstd
    16
cloverstd  
   Nov 12, 2011
@Pandroid 网易学院里关于C的视频,貌似是过二级的视频教程。
我们也要过国家计算机二级
我正在学C++
cloverstd
    17
cloverstd  
   Nov 12, 2011
@swimteddy 我们学校喜欢JAVA
zythum
    18
zythum  
   Nov 12, 2011
@cloverstd 朱一不喜欢java.wwwwww
cloverstd
    19
cloverstd  
   Nov 12, 2011
@zythum 我也不喜欢,不喜欢.Net,不喜欢ASP。喜欢Linux&C/C++。
,我不喜欢的学校却都喜欢,我喜欢的,学校却都不喜欢
pagict
    20
pagict  
   Nov 12, 2011
找一本 C Primer ,立马就入门了
yyfearth
    21
yyfearth  
   Nov 12, 2011
@cloverstd 我喜欢C#,不喜欢.net
gono
    22
gonbo  
   Nov 12, 2011
龙书,强烈推荐这本书。
cloverstd
    23
cloverstd  
   Nov 12, 2011
@pagict 我当初想到书店买C Primer,可是没找到。就买了一本《C++经典入门》。里面有很多印刷错误吧,应该是印刷错误。
bed
    24
bed  
   Nov 12, 2011
github fork any project you interest in, then pull request.
zztczcx
    25
zztczcx  
   Nov 12, 2011
linux k&R的c 剩下的 就是喜欢什么学什么吧。
glume
    26
glume  
   Nov 12, 2011
一个教授教我的:学好数学,精通C/C++,再说其他的就容易多了。
koto
    27
koto  
   Nov 12, 2011
@yyfearth 这位仁兄说的最在理
myrual
    28
myrual  
   Nov 12, 2011
@glume 学好数学是对,这是一种十分有必要的思维投资。
精通c/c++没必要。
了解业务才是最重要的。
顺便要说一句,c语言没啥可精通的。完全的面向过程编程。汇编语言的美容版。
github上可Pull的项目真多,
qianleilei
    29
qianleilei  
   Nov 12, 2011
@gonbo 龙书易学么?
perrywky
    30
perrywky  
   Nov 12, 2011
多写点程序
glume
    31
glume  
   Nov 12, 2011
@myrual 我其实后来也没精通c/C++;但教授的意思不是说要非要拿c/c++干什么,他精通的意思是学会程序的思路和方法,还有应用的对象及环境。如果再学习其他语言就非常容易了。另外,作为学院派的思路,从基础的底层的根本的东西开始,更有利于成系统的获得学习成果,但这个过程比较缓慢,需要坚持。恰恰我就是在这方面吃了亏,想进一步提高自己的业务水平终究绕不过去,但现在实施起来困难就大多了。我就觉得,不停的做项目,提高太缓慢,工作内容长期重复。人就停在这个水平上了。
Anylei
    32
Anylei  
   Nov 12, 2011
其实我感觉吧,就三个:1,培养兴趣。2,多看书。3,多折腾。
myrual
    33
myrual  
   Nov 12, 2011
@glume 不停的做项目不一定提高慢,如果一直做有突破类的项目,而且基于一套代码的话,其实可以很容易的发现代码中可以重构和进化的地方,而进化和重构的需求就来自于不断增加的业务逻辑。
如果你觉得进步慢,那么可以试试业余时间写点什么代码,坚持一年下来其实也可以学到很多。举个例子:
我用python测试日常业务,刚开始只是尝试一下可能性。偶尔用Python解决了一个棘手的问题后开始用工作上的片段时间持续做了快3年(从不在家做)。期间的重构不计其数,目前基本上team里可以用来做很多事情了。
这段过程给我的经验是:
I 重构可以让烂代码慢慢成长为好代码,会让你心情愉快。
有些地方不对,重构一下感觉爽了。继续发现不对,继续重构。
反复重构会让后期的维护难度成指数降低。现在基本上添加新功能越来越直接和简单。
II 为了把某些目标做到最好,就必须舍弃其他目标。
如果我把日常片段时间用来织微博和闲逛而不是写代码的话,那么以上两个都只是存在于看书的时候获得的知识,很快的机会消失在记忆里。而不是变成可以指导我的信念。

感谢《松本行弘的程序世界》,让我对面向对象技术有了根本的认识。我终于可以把我之前的经验和面向对象技术链接起来了。
利用过去一周里的碎片时间,我基于vb.net的面向对象技术实现了测试工具的新手入门包。
这个过程更加有趣,因为我必须从0开始了解vb.net中面向对象有哪些可以用来实现我的想法。
同时必须不断的重构代码以实现更好的DRY。
在使用vb.net的过程中我意识到:
只有单继承。
vb是一个需要提前知道数据类型的语言,我大概是被Python惯坏了。
为了做更好的抽象和DRY我还用到了接口。
我以前从没想过我这样一个用c语言写嵌入式代码快10年的人竟然可以这么快就用来上了面向对象技术,我曾经以为我落伍了。
目前这套代码展示出的业务表述能力和工具易用程度已经让我的同事十分Happy。

写了很多,其实是想说,学习,思考,实践是一件终身要做的事情,把无聊的时间挤出来做有意义的事情对自己很有好处。只要坚持做,收获很多。
yqjun
    34
yqjun  
   Nov 12, 2011
如果我大一想你这样想就好了,加油!
gonbo
    35
gonbo  
   Nov 12, 2011
可以搞一些 增加自己自信心的事情,比如搞路由器,搞openwrt,搞linux,让路由器能够离线下载东西,让路由器能够自动翻墙,帮同学解决一些问题,也能挣个生活费,也能够增加自己自信心。

任何时候,都要有一颗觉得自己一定要牛逼的心。也就是要追求卓越。
pagict
    36
pagict  
   Nov 12, 2011
@cloverstd 去图书馆找找,去网上down下来,京东什么的上面买,都好嘛~不过我觉得吧,这种经典的技术教材,还是要有一本属于自己的纸质书,可以放在案边随时查阅。把C弄好了,对数据结构也会有一个较深层次的理解。然后再看些面向对象CPP,Obj-C什么的,想深入底层就学汇编啦,面向网络就Java啦
zythum
    37
zythum  
   Nov 12, 2011
@yyfearth 那现在不是很悲剧。你用的都是.net ...
iwege
    38
iwege  
   Nov 12, 2011
一般来说就是先培养玩和折腾的精神。架上linux,有什么不懂的直接上google。学会知道“没有人能帮你觉得这个问题,一切只能你自己来”。这期间对于代码就是:看,改,运行。当年学php就是这么过来的,啥书都没看。个人是不推荐直接看书,没问题看书相当于死读书,不过虽然没效率但是理论很强...所以楼主自己选择了..

等到了一定阶段你想要提高办事效率了,就可以开始研究诸如架构啊,不同程序语言的高级特性啊之类的了。首推《unix编程艺术》,其他的就是各自语言的电子书,网上多的是,看多了之后你就会发现那些书架构都差不多,前期if else,数据类型,后面语言的高级特性之类的。

其实现在这个时代对计算机学科来说很好了,github上一堆的代码,开源在那个地方就是让你看的。arduino开源硬件,入门240,500算是一套比较完整的了,可以拿来入门下硬件方面的知识。我学过来的感觉就是要解决问题,所以自己会在生活中找问题,然后想办法用我所知道的解决,顺便熟悉相关的代码。不解决我实际问题的代码,就算写的再优秀都提不起兴趣看。所以很喜欢linux下面一堆的问题...
money
    39
money  
OP
   Nov 13, 2011
@iwege关于代码,编进去之后,运行发现并不是自己想要的,改吧,不知道怎么改,关键没感觉,学的少,咋办
iwege
    40
iwege  
   Nov 13, 2011
@yyfearth 这话说的...我认识一个,妹子没断过...

所以楼主看到这样的例子,就千万别选c#,没事多学点c,python,ruby,js,节省出来的时间多去动漫展~
:D
其实关键是微软的玩意大多数开源的代码少,不利于早期阅读和学习,其他平台兼容性差,自成一套的时候多。
money
    41
money  
OP
   Nov 13, 2011
@iwege java可以吗,我们学校教java,java与js有啥不同
iwege
    42
iwege  
   Nov 13, 2011
@money 基础还是要有点的,先入门一下程序的基础知识,然后至少跑出一个hello world,剩下的就是提炼自己需要,经常看经常用了。运行发现不是自己想要的,就先猜着改,遇到不懂的地方去google看什么意思。啥都不懂也是一样,你要是啥都懂了,就不用来问这个问题了。

我们说language,就是用来用的,不是每天看着语法书就可以学会的...
iwege
    43
iwege  
   Nov 13, 2011
@money 好吧,js我是随意加的,因为我会经常碰到没有编译环境的机器又想偷懒,就随意在浏览器里面跑个js来解决。其他的语言我接触的比较少,java我没接触过没发言权。

我提的比较私人化,因为我基本上是五个月换一个语言...而且一开始,我只是一个设计...
glume
    44
glume  
   Nov 13, 2011
@myrual 经验很宝贵,我其实特眼馋有嵌入能力的男人,话说真男人都自己写驱动,大概就是这种软硬通吃的能力,现在我就是卡在这里了,所以比较感叹。
yyfearth
    45
yyfearth  
   Nov 13, 2011
@zythum 我主要是前端,后端我不太管,只要给我提供我要的API就行。
zythum
    46
zythum  
   Nov 13, 2011
@yyfearth 怎么和我现在的情况一样.... 我这边后端是py.
kutata
    47
kutata  
   Nov 13, 2011 via iPhone
大一就始有危甘.
Esay
    48
Esay  
   Nov 13, 2011
条件允许的话 买一个macbook吧
About     Help     Advertise     Blog     API     FAQ     Solana     3354 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 120ms UTC 12:57 PVG 20:57 LAX 05:57 JFK 08:57
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86