1024计算机入门——CS修炼指南(本科版)

Posted BkbK-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1024计算机入门——CS修炼指南(本科版)相关的知识,希望对你有一定的参考价值。

计算机入门——CS修炼指南(本科版)

笔者为中国普通大学CS专业的一名普通学生,偶尔使用CSDN博客平台进行个人知识的总结。即将大学毕业,作为众多cs本科毕业生的一员,深知今年(2022)计算机就业形势严峻,只能深造再读几年书,希望将来形势好转。本文只是我对大学CS学习的一些拙见,大言不惭起名“CS修炼指南”,才疏学浅只是想趁1024冒个泡。

一、计算机学什么

计算机作为一个年轻的学科,短短几十年,已经发展出来了庞大的知识体系:
在入门之前需要明白自己面对的是一个什么样的体系,这个领域包含了那些子领域,这些子领域之间的关系是什么,可以参考《Map of Computer Science》

Map of Computer Science

此外,以下摘自《计算科学导论》

从科学哲学的角度,将计算科学的学科内容按照基础理论、基本开发技术、应用以及它们与硬件设备联系的紧密程度可分成三个层面。

  • 第一层面是计算科学的应用层
  • 第二层面是计算科学的专业基础层
  • 第三层面是计算科学的基础层
应用层专业基础层基础层
移动计算与全球定位软件开发方法学控制论基础
计算机自动控制编码理论数字系统设计基础
计算机辅助制造密码学信息论基础
计算机集成制造系统计算机体系结构网论
机器人程序理论形式语义
计算可视化与虚拟现实数据表示理论与数据库系统框图理论
数据与信息检索电子计算机系统基础算法理论
计算机创作计算机接口与通信可计算性(递归论)
计算机网络应用软件计算机网络与数据通信技术计算复杂性
科学计算自动推理程序设计语言理论
多媒体信息系统故障诊断与器件测试技术计算模型(各种抽象机)
计算机辅助设计容错技术模型论与非经典逻辑
信息、管理与决策系统汇编技术公理集合论
自然语言处理操作系统形式语言与自动机
模式识别与图像处理技术高级语言
计算机图形学程序设计
计算几何数字系统设计
人工智能与知识工程符号计算与计算机代数
数据表示与存储数据结构技术
网络与开放系统互联标准算法设计与分析
软件测试技术编译与解释技术
人机工程学(人机界面)

二、怎么学(抽象版)

在上一节中我们已经见识到了计算机知识体系的庞大,发展迅速。对于一个普通的CS大学生,基本不可能掌握以上所有内容(这里说的掌握是建立在应用的基础上,如果只是学习这些知识的话,一个人理论上可以做到广泛涉猎各个子领域的基础知识)。计算机学习者往往会遇上学习速度不如技术更新速度的窘境,这要求我们去需要什么知识,就要快速掌握。这要求我们有强大的学习能力,督促我们终身学习。

我们以目的为导向,先看《本科生培养规格和目标》

本科生培养规格和目标:
高等学校计算科学本科专业培养适应计算科学学科发展,国家社会发展与进步事业实际需要,德、智、体、美全面发展,具有良好的科学素养和文化修养,系统地、较好地掌握理工科公共基础知识,较好地掌握本学科基本概念、基本原理、基本方法、基本技术等基础(理论)知识;理论联系实际,受到良好的计算科学基本实验技术与技能等实践能力的基本训练,受到科学研究与实际应用初步训练的计算科学专门人才。

  • ⑴ 系统地、较好地掌握理工科公共基础知识,较好地掌握本学科基本概念、基本原理、基本方法、基本技术等基础(理论)知识,理论联系实际,受到良好的科学思维和科学实验的基本训练;
  • ⑵ 毕业生应初步了解整个学科的知识组织结构、学科形态、典型方法、核心概念和学科基本工作流程方式,初步了解学科当前的发展现状和未来的发展趋势,掌握计算科学本科一级的核心基础知识和某一专业化方向的专业基础知识,为未来在计算科学领域从事一般教学、研究、应用与开发或深造提供一个开展工作的坚实的专业知识基础;
  • ⑶ 毕业生应初步具有进一步深入掌握学科核心基础知识和某一专业化方向专业基础知识的能力,初步具有对一般计算科学技术项目所提出的思想、方法、技术和工程技术路线的能行性作出基本估计的能力;
  • ⑷ 能通过文献检索和其他方式阅读中外文书刊,获取专业科技信息。理论联系实际,具有运用所学专业知识分析、解决简单的专业技术问题的能力。

在一些经验之谈中,有的人会告诉你,需要掌握几门编程语言,需要学习算法和数据结构…这些都太具体了,太具体的话泛化性就不高,我们反其道而行之,谈点抽象的。

本科阶段仍以“通才”教育理念为主,为研究生的“专才”教育打下基础。

在通才教育观下,第一流的人才应该具备三个条件:
⑴ 具有高尚的品德和良好的人文素养;
⑵ 具有坚实的专业基础和深厚的专业功底;
⑶ 富有创新意识,具有科学的思想方法。

哲学指导科学,对于解决计算机学习的问题,上升到方法论的高度:

科学哲学的思想方法与处理问题方式方法的三步曲:

  • 一个科学的认识:建立在对于事物性质、特点和发展变化规律的深入的认识基础之上;
  • 一套科学的方法:基于科学的认识,通过寻找、建立,改进或引用,发展解决这个问题的一套科学的方法;
  • 一套科学的程序:着眼于具体解决这个问题,在科学认识的基础之上,依据确定的一套科学的方法,制定实际解决问题的一个严密的、科学的程序,确定第一步做什么,怎么做,第二步做什么,怎么做,……,确定每一步怎么检验,出了问题怎么处理,等等。

在本科阶段,可以以目标为导向(读研,就业)形成自己的一套方法,前人经验只具有参考性而没有决定性。因此我引用了科学哲学的思想,希望能高屋建瓴的给读者和自己以启发。

(2022.10.24)未完待补充

一个开放式结尾…

以上是关于1024计算机入门——CS修炼指南(本科版)的主要内容,如果未能解决你的问题,请参考以下文章

1024计算机入门——CS修炼指南(本科版)

0- Golang 修炼指南

混合开发框架前端开发大师修炼指南

大数据入门

Go Bruins!退学两年后,拿到UCLA本科CS录取

中文版Dreamweaver+Flash+Photoshop网页制作从入门到精通(CS4版) PDF扫描版