首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

计算机科学与技术专业,现在大一,有点迷茫,怎么分配学习时间

  •  
  •   TrYBest10 · 174 天前 · 3259 次点击
    这是一个创建于 174 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提:楼主华南某双非一本,计算机零基础(只大致啃完一本 C++primerplus )。直到读了一些书发现很多计算机专家都是数学系转过来的,才开始意识到数学的重要性。目前每天都是课后跟到当天的高数课进度,剩下的一部分时间(大概一个小时)读计算机课目前在用的《计算机科学概论》,但感觉这样子计算机的学习进度略慢,有点迷茫,来 v 站请教各位前辈。 问题:1.该怎么分配数学和计算机的学习时间?五五开(不是故意的。。)还是六四开还是。。。? 2.课后多余时间应该继续啃《计算机科学概论》还是有其它技术书推荐? 3.在大致啃完《 C++primerplus 》后又看了《深入理解计算机系统》,到五十多页已经看不下了。我应该重温《 C++primerplus 》并完成编程题,还是打好《深入理解计算机系统》需要的离散数学基础,再看此书?或者是有其他读物推荐? 虚心向各位前辈请教,谢谢您!

    53 回复  |  直到 2018-10-29 21:58:52 +08:00
        1
    ccpp132   174 天前   ♥ 1
    你好着急啊,建议先多写点程序再去看这些书。有机会搞 ACM 应该是最理想的路线
        2
    TrYBest10   174 天前
    @ccpp132 我会考虑您的意见,很赞同多写程序,有考虑搞 ACM !
        3
    Sanko   174 天前 via Android   ♥ 1
    大一还是学 c 语言然后练习基础,可以在网上刷刷 oj
        4
    UIXX   174 天前   ♥ 1
    曾经是数学专业,同时曾经是程序员的人来回答你。

    如果将计算机领域简单地划分为理论跟应用两派,那么对于应用方向来说,高等数学基本无用武之地。(不用考虑算法,应用方面的算法是比较通俗易懂的)
    你想当计算机科学家的话--离散数学、数理统计是本科阶段中最重要的两门课程,必须要打好基础。另外至少要读个博士。(方向也要对路)
        5
    wohenyingyu02   174 天前
    文科码农路过,数学在大学根本没学,凭借高中数学基础一样当码农,当然楼主看起来有更高的追求……
        6
    hubahuba   174 天前
    暴露了 @wohenyingyu02 #5
        7
    likuku   174 天前
    学好数学,学好英语
        8
    sunsh2017   174 天前 via Android
    建议退学 学想学的
        9
    woodface2233   173 天前 via iPhone
    大一就迷茫……,你不应该读书的。
        10
    brucefu   173 天前   ♥ 1
    我是哈尔滨双非一本 [哈理工] 的计院大四学生,目前打算签去哪儿网,JAVA 开发。如果你没有考研的想法,没有 BAT 的想法,我可以跟你聊聊怎么样少走弯路。
        11
    zpxshl   173 天前 via Android
    同广东双非。 如果你打算你本科毕业搞开发的话,建议让数学一边呆去....
        12
    PDX   173 天前
    楼主看起来有更高的追求……
        13
    lwj871731342   173 天前 via Android
    广工么
        14
    lwj871731342   173 天前 via Android
    @zpxshl 老哥广工?
        15
    Tankpt   173 天前 via iPhone
    理论再好。不会实践。还是没用
        16
    zpxshl   173 天前 via Android
    @lwj871731342 是的
        17
    feng1234   173 天前
    先学 C 打基础,然后大二开始学 JAVA,毕竟市面上都是 JAVA 的天下了,然后高数啥的,随便看看就行,大三开始出去实习,大四继续实习和找工作,这样毕业后就能把同龄人甩开一大截,工资也是飞快的增长
        18
    clockwork1122   173 天前
    感觉 17L 的路简直就是码农...刚毕业感觉真的不着急太早实习工作,大学一些理论课程还是很重要的
        19
    lookforsex   173 天前   ♥ 2
    放心吧,以后你还是会一样在这发迷茫帖的
    "现在大三,有点迷茫,怎么选择实习 offer “
    "现在大四,有点迷茫,校招 BAT 到底选哪个有钱景“

    当你初入职场后又会像隔壁贴那样"现在 23,24 岁,有点迷茫,35 岁的中年到底如何度过“,或者是”程序员能靠技术度过中年危机吗?“

    一天到晚这迷茫哪迷茫,开心点不好吗?静下心来慢慢摸索自己喜欢的事才是人这辈子该做的事。
        20
    IamNotShady   173 天前   ♥ 1
    作为过来人,我建议你多写点程序再去学习这些理论知识,计算机这行我觉得最好的学习方法是自上而下的学习路线,首先多实践,切不可开始就一头扎在理论里,当然天才除外。
        21
    ipwx   173 天前   ♥ 3
    首先,你是哪个院校的?不说的话,我们很难给出有价值的答案。下面根据我的本科经历,就一些细节进行评论:

    1、《深入理解计算机系统》是本进阶的书,在清华本科也是大三才会开这方面的课。你先放着别看。
    2、其实你可以看看《计算机科学导论》之类的书,那本书比《深入理解》更适合初学者。不需要全部吃透,当作小说书看看就行了。当然要有个阅读计划,比如两三个月看完之类的。
    3、初学者不需要把 C++ Primer 吃透的吧,清华本科也是大一只上了点 C++ 基础而已,剩下的靠剩下的职业生涯去学习。当然你学有余力另当别论。
    4、学了点 C++,你其实更应该去学数据结构和算法。别死命抱着一门编程语言啃。
    5、有空可以随便学点 Python、Java 什么的。Python 在清华本科是暑假一个星期学的,Java 是暑假 3 个星期。
    6、清华本科数学课基本大一上完,除了概率论和信号处理原理。编程课大一清华本科只上了程序设计基础和面向对象基础,大二之后才增多的。你可以参考这个划分。。。(换句话说,如果你学校比较好,就别着急,打点基础挺好的)
    清华本科计算机系开的数学课包括:离散数学(包括集合论、数理逻辑、图论、代数结构;两学期)、微积分(单变量多变量;两学期)、线性代数(包括运算和线性空间理论;两学期)、概率和统计(不包括测度论;一学期)、形式语言与自动机(一学期)、信号处理原理(傅立叶变换和 z 变换,不包括泛函分析;一学期)
    7、如果要读研读博,就要好好学数学课。切记。
        22
    zhengxiaowai   173 天前
    《数据结构和算法》《操作系统》《数学》《英语》考研和找工作一样知识两不耽误,用力刷用力刷
        23
    ik2h   173 天前   ♥ 1
    现在还只是高数,后面还有线代、离散、概率论。高数就用了你这么多时间了,你觉得是不是应该先调整下自己学习方法再考虑其他事情比较好?
        24
    poplar50   173 天前 via Android
    看几个面经吧 看看公司的招聘要求 你可以大致顺藤摸瓜这么学
        25
    519718366   173 天前 via iPhone
    大一不应该好好上课,考试,考驾照,和舍友好好培养培养感 ji 情 qing 嘛,码代码后面有的是时间。#逃
        26
    rayhy   173 天前
    @ipwx, 请问清华计算机本科课设都做了什么啊,我看清华操作系统的 mooc 感觉课设才是精华。。
        27
    66beta   173 天前 via Android
    多做吧,实践是...........
        28
    pipapa   173 天前 via Android   ♥ 1
    CSAPP 应该是基础吧,一定要看完,慢慢看,实验和习题要做,大一能啃完,前 50 页应该还是导论吧,浏览不深入。ACM 要做的话需要放弃很多。
        29
    ltoddy   173 天前
    大一就这么努力, 唉, 后生可畏啊.

    大一不好好玩玩的话, 不觉得大学很苦逼了吗.
        30
    asAnotherJack   173 天前
    我大一的时候迷茫的是选 adc 还是中单
        31
    Raisu   173 天前
    推荐 SICP 入门,一天看 10 个小时,一两个月就看完了。包括(书和公开课),不过我说的东西没什么乱用就是了
        32
    Raisu   173 天前
    不要纠结看那本什么的,都看了就好。反正大牛都是看个几百本编程书的。
        33
    zgk   173 天前 via Android   ♥ 2
    通过计算机科学概论等书籍大概对计算机世界有一个印象,有一个大概认识挺好的。

    还记得侯捷老师的一句话:勿以浮沙筑高台。在看的远的同时,也切记不要眼高手低,计算机也是一门非常需要实践的学科。个人觉得掌握 C 语言很重要,通过 C 语言友好地接触冯诺依曼计算机能给我们的基本能力(指令顺序执行,内存地址访问的概念),初步接触结构化编程,试着以这些基本能力去构建书上的高级数据结构。同时也学习类似 C++,Python,Java 等语言来学习更多的编程范式,提高解决问题的能力。

    每个人情况不一样,所以不同的方法和路子可能会遇到有不同的问题,不过,只要动起来,我觉得都没有问题,就算是弯路,最后也是殊途同归的 hhh

    作为一个在隔壁某一般大学的计院摸爬滚打的过来人,安利一下我暑假的时候给师弟师妹整理的入门资源索引帖,希望能带来帮助~
    https://0xffff.one/d/55
        34
    wongskay   173 天前
    师弟。。。。。。
        35
    GeruzoniAnsasu   173 天前   ♥ 1
    如果你迷茫于看什么书的话,听再多建议也会越实践越迷茫,先想好准备做什么再努力。

    如果想拯救世界,你就得准备读完博士,刷刷题就行了,多捣鼓 matlab 和 mathematica,c++ java 什么的语言入门赶紧放下,到大二会写 C 代码数据结构扎实就足够了

    如果只是想随便写写代码搬搬砖,也不要先看 C++,何况你还选了一本黑名单 c++primerplus,python 摸熟,java 看一看,linux 用熟,广泛涉猎一下各种语言 haskell golang rust js 什么的,掂量掂量自己喜欢画特效还是设计数据库还是其它什么东西然后多拉几个大牛写写比赛项目,搭搭博客、gitlab、实践一下各种框架容器运维,然后照着开源项目撸几个方轮子,对以后工作帮助很大

    其实还可以立志当黑客,但我知道广东高校安全行业氛围真的是弱得可怜,在你们学校十有八九找不出人和社团干这个,所以就不展开了,挖挖洞,写写 exp,搞一搞反汇编符号执行自动化审计,都还挺有意思也值得钻研的
        36
    XiaoXiaoNiWa   173 天前 via Android   ♥ 1
    数学很重要…学不好很吃亏
        37
    SCaffrey   173 天前 via Android
    @ipwx csapp 大一其实也可以
        38
    xwander   173 天前   ♥ 2
    先找个团,找群愿意一起搞技术的朋友,加几个可以指导你的师兄,甚至提前物色好导师并联系他,我觉得这个才是实在的,也是现阶段你该做的。读了那堆经典的书,没人很你讨论,没合适的项目应用上这些技术,是事倍工半的。
        39
    suyuyu   173 天前
    同专业大四,比你迷茫。
        40
    laike9m   173 天前 via Android
    膜拜
        41
    wtdd   173 天前
    看书单感觉 LZ 这基础算相当好了,然而一本都不是……还是先把基础课考出高分,然后考研到不到十所一流计算机系读完博士,再谈计算机专家的问题吧,就国内的科研水平,大多数 985 出身也只能当码工
        42
    ayyll   173 天前 via Android
    大一大二 acm 和课 91 开
        43
    noobakong   173 天前
    大一当务之急 找个对象
        44
    uiots   173 天前 via Android
    @brucefu 虽然我大四了,但我也想听听如何少走弯路能去好公司
        45
    ipwx   173 天前   ♥ 1
    @rayhy 有课设的课程基本都在大三了,你不需要这么急。

    我校操作系统课设是在一个实验用内核( x86 版)上填补代码,实验平台有单元测试可以测试你写的代码是不是对的。那个内核可以认为是一个 Linux 简化简化简化简化版,不过要看懂操作系统加上能把重要的空给补上,还是要花点功夫的。

    编译原理是在一个实验用编译器上填补代码,同样也有测试。源语言是简化版 Java,开发用的语言也是 Java。

    计算机组成原理是在一个 FPGA 板子上开发一个能运行某种简化版 MIPS32 指令的计算机,要求能用 MIPS32 汇编写一点程序。

    软件工程是在十周的时间里面,团队( 3 ~ 5 人)合作,根据(校内或校外)的用户代表的需求,开发一个系统。这个学期我是软件工程课的助教,所以比较清楚课题设置。比如有艺术团设置了一个报名系统的项目,这算是比较简单的;比如有一个校外公司设置了一个手机游戏 App 的项目,这个算是比较复杂的,不过据说如果成了,这家公司会有金钱奖励什么的。我这边管理的是一个在 Mesos 上对机器学习实验代码进行集群内调度的系统项目。

    当然以上四门课设置了一个联合实验,大概叫做什么计原软工编原操作系统联合实验项目,一个课设可以顶四个。大概内容就是要在更高级的 FPGA 的板子上开发一个能运行某种指令的计算机,能运行操作系统的那个实验用内核( MIPS 版),能调用另一个编译原理实验用编译器,把某种(好像是类 C ?)语言编译成你的计算机上能运行的程序。。。难度比较大,选的人不多。

    其他很多课都不是必修,而是有最低学分要求的选修。比如图形学是实现一个 3D 渲染器,能渲染 3D 场景的。神经网络是写一个神经网络(废话)。数据挖掘听说是打 Kaggle 比赛。课程挺多的,都不太一样。
        46
    youxiachai   173 天前   ♥ 1
    acm 拿个区域赛金牌...

    什么公司的实习..不好找啊....
        47
    rayhy   173 天前
    @ipwx,感谢!我其实已经大四了,给自己的一个小目标是研究生阶段计算机水平能赶上你们学校计算机本科最差的学生就可以了。感谢你的回复,我可以找点类似的 mooc 做做。
        48
    TrYBest10   173 天前
    @ipwx 真心感谢您的回复!!很受用,已经马克到 evernote,谢谢!
        49
    TrYBest10   173 天前
    @IamNotShady 谢谢!受教了!
        50
    TrYBest10   173 天前
    @ik2h 您的话让我意识到了方法的错误,谢谢!
        51
    TrYBest10   173 天前
    @GeruzoniAnsasu 谢谢您,受教了!
        52
    TrYBest10   173 天前
    @xwander 有道理!谢谢您
        53
    Wolfx   173 天前
    没事,多去 看点书把 ,年轻小伙子 itbook.download 。。 书看多了,人就豁然开朗了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   950 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1