前言

计算机专业各种骨干核心课程中包容了计算机科学中最基础的知识,计算机专业课程难度较大,可锻炼自身思维能力。计算机专业的学习与实用应用型知识的学习相互促进。

计算机专业课程:

  • 必修课:计算机专业的核心课程,代表着一名计算机专业学生应该具备的计算机科学理论和基础(最重要的四门):

    1. 数据结构与算法

      课程大致分为两大块:

      • 数据结构与算法的理论基础:弄明白概念和术语,掌握如何设计算法,如何评价一个算法的优劣
      • 具体的数据结构和算法的介绍:通常只需要掌握最常用的几种,没有必要每个都去深究,每种数据结构和算法往往都有特定的应用场景,用来解决特定的问题。
      • 学算法之前建议先掌握离散数学
      • 对于算法,能够体会它的思想,知道应用场景和优缺点就足够,具体应用中需要自己设计算法的场景并不多
      • 各种编程语言或者开发框架中都给出了算法的组件,大多能理解用途,会调用就可以
    2. 计算机组成原理

      介绍了计算机系统是由哪些部件组成的,这些部件之间是如何相互协作完成数据处理功能,同时又能满足成本、功耗等指标的。

      学习这门课前通常需要学习数字电路基础,建议先学习《编码》(强烈推荐),学完这门课后可进一步学习操作系统和编译原理

      学习内容:

      • 计算机系统的概述
      • 指令集设计
      • 处理器结构
      • I/O与存储系统与设计
      • 并行计算(硕士)
      • 云计算(硕士)
    3. 操作系统

      位于多数软件开发工作的第"N-1"层,必须很好地掌握.

      学习之前必须学号数据结构与算法,也需要掌握计算机组成原理的基础,还要掌握C语言

      学习关键:

      必须要将其与软件开发以及动手实验结合起来

      Linux:在互联网和嵌入式开发占主导地位
      Windows:桌面应用与行业应用

    4. 计算机网络
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d5PYdg18-1571192739415)(Pictures/1564310760424.jpeg)]
      掌握相应的网络协议是掌握各种上层应用软件开发技术的关键。最大的特点就是分层:

    《计算机网络:自顶向下方法》就是从上层协议介绍到下层协议

    《计算机网络》Andrew S.Tanebaum:自下而上来介绍

    《计算机网络:系统方法》则以横切的方式,针对一个特定的网络问题来展开介绍

    弄清楚三个问题:
    1. 计算机是如何连接的
    2. 数据是怎样在计算机网路中传输的
    3. 网络应用软件系统是怎样构建起来的

    学习建议:
    * 理解分层的概念,清楚每一层所解决的主要问题是什么,面临的主要问题是什么,设计者针对这一问题的解决方案是什么,应用了哪些基本原理,有哪些常用的算法
    * 阅读科普书籍入门计算机网络
    * 动手用编程语言结合计算机网络协议来完成一些简单的任务
    * 应用层次的学习:重点学习HTTP协议并掌握面向对象知识
    * 学习网络抓包工具巩固计算机网络的基础

  • ACM总结的18个计算机科学关键领域:


  • 对知识的掌握程度(三级):
  1. Familiarity(了解):What do you know about this? (你对它了解多少?)
  2. Usage(会用):What do you know how to do?(关于怎样做,你知道多少?)
  3. Assessment(评估与决断):Why would you do that?(为什么要这么做?)
  • 针对特定的场景和特定的问题能找到多种解决方案,并能够对这些方案进行评估从中选出合适的来应用
  • ACM报告:软件工程知识领域中有关软件过程的知识集合,衡量对这些知识的掌握程度。
  • 自学的核心任务:这18个核心领域之间有着紧密的联系,形成一个知识网络,构建这个知识网络就是自学的核心任务

  • 对计算机专业有了一定认识后要做两件事
  1. 掌握一门编程语言:
    这4种编程语言基本上是从事计算机行业所必须会掌握的语言,从哪一门入手都可以。

    C、Java、Java Script、 Python

  2. 学好数学

学习方法:

  • 知识组块:根据知识的内在逻辑和意义吧相关联的信息碎片理解和重组而建立

  • 人类的学习过程,就是把吸收的知识转换为知识组块存入人的长期记忆中的过程

    • 根据特定场景分析特定的需求,确定学习的目的,有选择地读特定的书,读书中特定的部分,进行特定的实践,形成特定的知识组块,组合这些组块去解决特定的问题
    1. 针对具体的场景,根据场景需求,搜集各种资源,构建知识框架
    2. 通过学习,不断向原本的框架补充内容
    3. 建立好知识框架,解决问题所需要的知识组块全部准备就位就可以着手解决实际问题
  • 学习需要循序渐进:

    • 请教高人指导学习路线
    • 对于经典的书籍,看不懂时候不要硬着头皮看,效率会很低,要记录下看不懂的地方,停下来弄明白看不懂的原因,是否是没有掌握某些基础的东西,若是则先放一放,掌握基础后再来。
  • 将学习划分为各个阶段,给每个阶段制定一个明确的目标和任务,生成学习的进度条,有助于增强学习动力

  • 真正有效的学习:

    最初学到的只是些孤立的知识点,通过消化吸收和实践,知识点连接起来形成知识组块,组块之间再连接就形成知识之网

计算机专业的学习要落实在理论与实践的统一上

  • 先实践再理论的学习效果更佳

新知识的学习:

  • 将新学来的知识附着到已经形成的知识网络上、
  • 学习的误区:将各个知识点当做一个个孤立的点去攻克,而忽视新旧知识之间的联系
  • 特定的知识往往要与特定的知识网络相结合后才能真正的学会

计算机专业学习的"N+1"与"N-1"


清楚自己的需求,掌握和自己的需求关系最紧密的上一层和下一层知识就够了,不需要每方面都做到精通,那是不现实的

从硬件到软件,计算机系统分为多层,每层都分为特定的知识和技术,都对应着特定的工作岗位,要依据期望从事的工作岗位,确定工作的层次,从而清楚自己需要精通的知识集合以及对其他知识集合需要了解和把握的程度

选择书籍的基本原则和方法

对于经典书籍,在不具备相关的基础和技术经验的前提下,经典对自己是没有意义的

选择一本自己已针对其经拥有一定的实施储备,可以读懂的书来读,书籍作者一般都会在前言假设读者应该具备的基础,若大多陌生,则可以先扫清障碍,留来以后再看。或者如果作者没有在前言明示基础,则可以先读一部分,若开头就读不懂,则仍应先搞基础,暂时放弃这本书

通过浅显易懂的科普书籍入门,通过专业教材来掌握基础并深入学习,再读专业技术书籍

建议多阅读英文书籍,或中英文书籍

读书时多注意专业术语的中英文翻译的对照,可做成一个表格。

多遍阅读法

  • 认真读书的前言,目录和序言。
  • 快速浏览开头和结尾,掌握哪些部分细读,哪些部分略读
  • 第一遍重点看章节中的特定的应用场景和要解决的问题、结论和观点,不要深究细节
  • 第二遍多在干货上下功夫
  • 读第四遍之前要查找资料,学习完基础后再开始
  • 大部分书籍只需要读第一遍和第二遍即可

攻克难懂的经典书籍

  • 读科普书籍或文章,通过亲手练习来获取特定领域的背景知识
  • 对于数学公式较多的书籍,先弄明白作者所用的知识是哪方面的数学,先学习相应的数学基础再来参照着读这类书籍
  • 有些系列的书是建立在另一本书看完的基础上,必须先读基础的书

计算机与数学


线性代数是数字图像处理的基础

概率论与数理统计是大数据和人工智能的基础

计算机全局观的建立

读计算机专业概论,粗略的知道这个领域所涵盖的知识面,并了解自己当前所学的知识在整个计算机领域中的地位

选择最新版本的专业概论书籍

书籍推荐:

  • 《浪潮之巅》吴军: 主要讲述IT产业发展的脉络和硅谷明星公司的兴衰沉浮

  • 《数学之美》吴军: 介绍数学在计算机领域的具体应用

  • 《学习之道》:针对学习的研究成果,用来改进学习方法

  • 《微积分读本》普林斯顿:采用内心独白的方式介绍微积分,能够比较顺利的读懂

  • 《离散数学及其应用》(机械工业出版社)

  • 《线性代数及其应用》:展示线性代数在应用中的案例,更容易了解这门课的用途

  • 《计算机科学概论》Nell Dale:采用剥洋葱方式从内向外介绍计算机科学

  • 《计算机科学概论》J.Glenn Brookshear:由每个主题自然而然地引导出下一个主题,由具体到抽象

  • 《算法图解》

  • 《算法导论》:针对特定算法的数学分析与证明

  • 《Linux》内核

  • 《编码》Charies Petzold

  • 《计算机网络:自顶向下方法》

  • 《深入理解计算机系统》:从使用者而不是从计算机系统设计者的角度来组织材料
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDwwMPQV-1571192739432)(Pictures/1564308330214.jpeg)]
    并不适合零基础入门,阅读者至少应该学过计算机科学的导论,并有一些C语言和Linux的开发经验

    这本书能够帮助读者将零散的知识组块化,在建立组块之间的联系,可以通过这本书了解计算机系统的整体设计,明白这些设计因素对于应用软件开发和运行的影响,建立一个完整的计算机专业知识体系和整体的知识框架,在这个框架之上再选择有针对性的书籍钻研特定的子领域

知乎live:高效学习计算机专业课程 笔记相关推荐

  1. 计算机专业课程体系介绍(含学习顺序)

    计算机专业课程自学参考 有人说,计算机专业的人编的程序要比非计算机专业的人编的要好.也许这是在大多数情况下适用的,但是并不是绝对的.你在这个方面经验比别人多,研究的比别人深入,那你就比别人专业,所以要 ...

  2. 计算机专业课程体系介绍(含学习顺序)非常有利于新手学习

    计算机专业课程自学参考有人说,计算机专业的人编的程序要比非计算机专业的人编的要好.也许这是在大多数情况下适用的,但是并不是绝对的.你在这个方面经验比别人多,研究的比别人深入,那你就比别人专业,所以要相 ...

  3. python开发需要掌握哪些知识-人工智能需要学习哪些专业课程知识?

    原标题:人工智能需要学习哪些专业课程知识? 谈到人工智能,相信大家已经不陌生了,人工智能技术在近两年已经火得人尽皆知,跟互联网技术火的时候一样,那时行业和产品只要跟互联网相结合,就能在这个风口分得一杯 ...

  4. 计算机应用技术专业课程视频,微视频技术在计算机专业课程教学中的应用研究...

    摘 要 在当今时代,微视频已经成为我国教育信息化资源建设的关键技术.通过微视频技术在计算机专业课程教学中的应用,真正制作出具备非常高的质量的微视频,能够科学有效地辅助计算机专业课程的教学.本文对于微视 ...

  5. 中职学校计算机专业课程设置,浅谈中职学校计算机专业的定位与课程设置

    当前中等职业学校专业的发展停滞不前,甚至有些姜缩,其产生的原因可从目前该专业的生源.师资.教学设施及课程设置等方面去探讨,文章简要阐述了中等职业学校计算机专业的定位,强调时学生专业职业技能的培养.同时 ...

  6. 曲阜有学计算机的学校吗,曲阜职业中专计算机专业课程上几年

    技校网专门为您推荐的类似问题答案 问题1: 佛大学计算机专业课程有哪些 和国内大学计算机专业的课程是一样的~,国内的大学还不是学习的国外大学的吗. 问题2: 大学本科计算机专业课程有哪些 基础课程:高 ...

  7. 计算机专业课的教学准备,计算机专业课程教学中的分层教学模式

    <计算机专业课程教学中的分层教学模式>由会员分享,可在线阅读,更多相关<计算机专业课程教学中的分层教学模式(5页珍藏版)>请在人人文库网上搜索. 1.编号:XXXX时间:202 ...

  8. 计算机专业课程群建设,计算机科学与技术专业课程群建设的研究与实践

    (内蒙古科技大学 信息工程学院,内蒙古 包头 014010) 摘要:课程群建设是近年来高等院校课程建设实践中出现的一项新的课程开发技术,以本计算机专业课程群建设实践为背景,阐述了课程群建设的总体原则, ...

  9. 计算机科学与技术导论%1计算机网络,汕头大学计算机专业课程计划

    汕头大学计算机专业课程计划 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 汕头大学计算机科学与技术专业课程计划专业介绍(―)培养目标本 ...

最新文章

  1. Anchor Boxes示例实战
  2. 你需要知道的高性能并发框架Disruptor原理
  3. Angular应用开发中遇到的问题
  4. scala编写排序算法
  5. 青源Forum | 人工智能的数理基础前沿系列报告 · 第 3 期
  6. 里程碑 | 原来大脑有两套GPS!陆军军医大学张生家团队发现海马外全新空间导航系统...
  7. EPANET头文件解读系列7——MEMPOOL.H
  8. 【JavaSE05】Java中方法与重载、递归-练习
  9. 1.EXTJS Row Editor Grid 点取消时插入的新行 的解决方法
  10. 第三次学JAVA再学不好就吃翔(part40)--import关键字
  11. abp vue如何配置服务地址_DHCP服务如何配置才能尽量减少被攻击的可能
  12. 橱柜衣柜 sketchup草图大师设计全屋定制家具意义?谈单拆单生产一起做了?-有屋软件
  13. iPhoneXSM屏幕适配、 各机型的逻辑分辨率
  14. Ubuntu开启BBR加速
  15. 模拟新浪微博随便看看界面布局
  16. python根据日期生成动态密码
  17. 2021年前端会有什么新变化?
  18. 怎么学好Web前端开发 有哪些相关书籍推荐
  19. 计算机系统安全启动,关闭电脑的安全启动项( Secure Boot )
  20. React Ant Design 通过 DatePicker获取一周的起止时间

热门文章

  1. 关于password导致input弹出浏览器记住密码弹框问题
  2. OpenHarmony--Hi3516DV300设备版本烧写
  3. 即将走出实验室的6大IT创新
  4. 实战大项目:模拟登录丁香园,并抓取论坛页面所有的人员基本信息与回复帖子内容----登录第一步
  5. html鼠标四种,鼠标有哪些种类?四种鼠标类型的优缺点
  6. matplotlib绘图库
  7. Android webm转mp4,Android中直接播放webm的视频an – 手机爱问
  8. ubuntu升级到8.10后Realplayer11不能播放的问题
  9. 如何升级iOS17beta?两种iOS17测试版本升级办法分享!
  10. 如何进行远程连接?亲测有效!