V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
money
V2EX  ›  问与答

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

  •  
  •   money · 2011-11-12 01:04:27 +08:00 · 5586 次点击
    这是一个创建于 4793 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大一,计算机专业,无基础,怎么办,想从事编程,神人能否推荐些书籍,入门的,小弟感激不敬
    48 条回复    1970-01-01 08:00:00 +08:00
    Ricepig
        1
    Ricepig  
       2011-11-12 01:09:55 +08:00
    搜索SICP
    还有CSAPP

    看完再说
    gDD
        2
    gDD  
       2011-11-12 01:12:06 +08:00
    学好英语,学会Google,忘了Baidu,还可以学Linux /ˈlɪnəks/
    cngithub
        3
    cngithub  
       2011-11-12 01:13:44 +08:00 via iPhone
    全世界程序员都说好的图书

    http://book.douban.com/doulist/1244005/
    cngithub
        4
    cngithub  
       2011-11-12 01:17:02 +08:00 via iPhone
    入门的

    与小朋友一起学编程

    http://book.douban.com/doulist/1237672/
    cngithub
        5
    cngithub  
       2011-11-12 01:28:50 +08:00 via iPhone
    如果学Ruby与Rails还可参考

    Ruby与Rails开发基础书单

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

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

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

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

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

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

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

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

    我提的比较私人化,因为我基本上是五个月换一个语言...而且一开始,我只是一个设计...
    glume
        44
    glume  
       2011-11-13 00:48:46 +08:00
    @myrual 经验很宝贵,我其实特眼馋有嵌入能力的男人,话说真男人都自己写驱动,大概就是这种软硬通吃的能力,现在我就是卡在这里了,所以比较感叹。
    yyfearth
        45
    yyfearth  
       2011-11-13 02:13:03 +08:00
    @zythum 我主要是前端,后端我不太管,只要给我提供我要的API就行。
    zythum
        46
    zythum  
       2011-11-13 11:19:13 +08:00
    @yyfearth 怎么和我现在的情况一样.... 我这边后端是py.
    kutata
        47
    kutata  
       2011-11-13 19:32:17 +08:00 via iPhone
    大一就開始有危機甘.
    Esay
        48
    Esay  
       2011-11-13 19:37:16 +08:00
    条件允许的话 买一个macbook吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.