系统自学计算机科学之路

grooovvve grooovvve     2023-02-14     457

关键词:

 

自学路线

 

科普读物:《计算机概论》、《IT简史》

 

两条并行线
编程语言(C/C++和Python)-----实用技术(流行的开发框架和工具)
数学基础(离散数学、高数、线性代数、概论统计)------专业基础理论(数据结构与算法、操作系统、计算机网络、计算机组成原理)

 

两条并行性之后就是深入钻研特定的技术领域:人工智能、图形图像、云计算、物联网等;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

语言介绍
C 语言——结构化编程语言
Java/c++ ——面向对象的语言
Python——动态编程语言,应用广泛
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

学习之道
个人学习动机——决定自学好坏
方式、方法、策略;
了解学习理论
读物《学习之道》
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
读书之道

书的分类:
科普读物:感性成份多,了解术语和概念,建立全局观;
计算机专业教材:理性成份多,打好基础,培养学习后劲;
实践性读物:多少天xxx,零基础,xxx框架,xxx开发,培养特定开发技巧及对工具的使用
特定领域技术专著:复杂与抽象,深入挖掘规律与奥秘;

 

读书之法:
多遍阅读
断点续传
+++++++++++++++++++++++++++++++++++++++++++++++++++
专业知识具体路线
1、数学:
高等数学->线性代数->离散数学->概率论与数理统计;
推荐读物:《普林斯顿微积分读本》《离散数学机器应用》《线性代数及其应用》
MATLAB、EXCEL软件促进数学学习;

 

2、计算机科学

《计算机科学概论》:建立全局观;剥洋葱方式学习;
科普读物了解计算机科学:《人工智能》、《智能时代》;

 

3、数据结构与算法
针对特定问题,设计解决方案
算法的设计与评估
人工智能和大数据完全就是算法;

 

4、计算机组成原理

  看教材

5、操作系统
科普读物+专业书籍(C/Linux);
深入理解计算机系统(OS、计算机组成原理、计算机网络、编译原理);
掌握Linux Shell编程、完成教程作业、开发网络或多线程应用程序、使用工具完成相应实验;

 

6、计算机网络

(明白计算机如何连接,数据如何传递,网络软件系统如何构建)
前提要学:编程语言、数据结构与算法、操作系统
科普读物---专业教材;
然后使用特定编程语言/平台的网络库
动手写网络程序,工具抓包;
阅读科普书籍、理解分层架构;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

核心基础课程
C/C++
数据结构
算法
计算机系统
计算机网络
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
其他课程
汇编语言
编译原理
计算机组成原理
离散数学/线性代数/高数/概率论与数理统计
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
开源项目库框架

网络

网络库ACE(重量级)、libevent(轻量级)、《UNIX网络编程》
socket原理;

数据库

开源Mysql
懂数据库的基本原理、熟练应用SQL语言、懂数据库的优化、存储过程;

日志操作
log4app日志库、多线程、日志重定向到网络、查找问题、记录程序运行情况;

管理后台
为程序提供一个web的管理界面,方便用户登录查看信息;

读取配置文件
方便配置一些项目;为程序提供灵活性;必须有读取配置文件的封装类;

内存池
所有进程都需要分配内存;分配和管理内存是很有挑战性的工作;
nedmalloc是开源的内存池库;跨平台的高性能多线程内存分配库;

缓存库
memcache,数据库开发时候特别有用

脚本
python功能很强大,推荐学;

不同的应用领域会用到不同的库;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
练手的项目与应用
应用
C语音实现Ping程序
C语音实现文件类型统计程序
C语音实现多线程排序
编写万年历
制作计算器

项目
C++实现太阳系行星系统
C++开发Web服务框架
C++实现模拟银行排队
C++实现线程池
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

参考链接
如何自学计算机专业课程:https://www.jianshu.com/p/72512b2fcab9













































































编程基础如何自学计算机/编程|从零开始的代码之路

...系2.1编程基础2.1.1操作系统2.1.2数据结构2.1.3编译原理2.1.4计算机组成原理2.1.5算法2.2编程语言2.3编程素质2.3.1编程规范2.3.2软件工程2.3.3设计模式2.4编程应用三、编程语言分类四、初学语言选择五、学习方法一、编程语言       ... 查看详情

补基础:自学:计算机科学导论第五章计算机组成

计算机的组成部件分为三大类(或子系统):中央处理器(CPU)主存储器输入/输出子系统 5.1中央处理单元(CPU)用于数据的运算。CPU又有三个组成部分:算术逻辑单元(ALU):可对数据进行,逻辑、移位和算数运算控制单... 查看详情

java自学之路

...没有章法。后来大三下半学期开始准备考研(从电子跨考计算机),从零开始学习数据结构,这才算是真正地入了编程的门。至于考研,后来就放弃了(别问我为什么放弃,当时脑子抽了),去了一家小公司实习。这家公司主要... 查看详情

补基础:自学:计算机科学导论第三章数据存储续

3.2.2存储实数1.浮点表示法该表示法允许小数点浮动,用于维持正确度或精度。在此表示法中,无论十进制还是二进制,一个数字都由3部分组成:符号位移量:显示小数点应该左右移动构成实际数字的位移量。定点数:小数点位... 查看详情

补基础:自学:计算机科学导论第一章绪论

...用计算设备的设想,也就是图灵机。1.1.1 数据处理器计算机会被定义成一个数据处理器,用来输入数据、处理数据并产生输出数据的黑盒。1.1.2可编程数据处理器图灵模型在上面的图中添加了额外的元素--程序。程序是用来告... 查看详情

补基础:自学:计算机科学导论第三章数据存储

3.1数据类型数字文字音频图像视频计算机内部的数据所有计算机外部的数据类型的数据都采用统一的数据表示法转换后存入计算机中,当数据从计算机输出时再还原回来。这种通用的格式称为位模式。1.位:是存储在计算机中的... 查看详情

补基础:自学:计算机科学导论第四章数据运算

4.1逻辑运算:指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算。4.1.1位层次上的逻辑运算0代表逻辑假,1代表逻辑真。4种操作:非(NOT):只有一个输入如果输入是0,则输出为1。反之... 查看详情

补基础:自学:计算机科学导论第六章计算机网络

6.1引言6.1.1网络标准1.性能2.可靠性3.安全6.1.2物理结构连接类型网络由两个或两个以上通过链路连接的设备构成。链路是数据从一个设备传输到另一个设备的通信通道。点对点连接:提供了两个设备间的专用链路多点连接:两个... 查看详情

每日分享(11),金融转计算机,自学计算机科学和python

今天在准备学习数据结构,阅读了一篇中国金融科技企业观察报告,故分享给大家。1.当前全球迎来新一轮的科技革命和产业变革,各项新技术不断取得新突破,对全球经济、产业体系及人类生活已经产生广泛而... 查看详情

想在高三暑假自学计算机科学与技术(女)有什么好建议吗?

今天从选电脑、进新手村学什么,大学四年规划三个方面聊聊。一、选什么电脑不同语言需要用到不同的编辑器,主流轻薄本可以hold住。>CPU满足4核,6核以上,主频2.4GHZ以上,内存满足16G以上,屏幕尽... 查看详情

java自学之路-day18

...效率慢所以需要引用数据库l 数据库本质是一个文件系统可以看做是一个具有很好的处理数据能力的容器和集合数组都一样l 里面有严格的数据存储格式l 数据库管理系统是用一个软件管理数据库l&nb 查看详情

菜鸟的数据挖掘之路

  从书中读到数据科学家应具备:计算机科学,数学,统计学,机器学习,某一领域的专业知识,沟通和演讲的技巧,数据可视化等七项技能。统计学家和机器学习专家在处理问题的方式角度有所不同。统计学家认为模型... 查看详情

java自学之路-day16

JAVA16IO流转换流引入l 中文系统默认编码表GBKl FileWriter的构造方法假定默认编码GBKl 但是一些文本文件有可能是其他编码方式 l 所以引入转换流可以对编码表进行设定l 对之后开发互联网程序很重要 概述l... 查看详情

java自学之路-day20

JAVA20网络编程网络通信协议l 计算机网络中的各个电脑可以互传数据l 传输数据有一定的规则就是网络协议l 对数据的传输格式速率步骤都有规定l 必须遵循规则才能传输数据l 有很多种,最广泛的是TCP/IP和UDPl&nb... 查看详情

java自学之路-day21

... 当程序要使用某个类时,如果还没被加载到内存中,系统会就会通过加载连接初始化三个步骤对这个类进行初始化l 加载类的加载器将class文件读入内存,放入方法区,并为之创建一个Class对象是编译后的class文件的一个... 查看详情

架构师成长之路4.4-多维监控体系_zabbix

...长之路架构师成长之路4.4-多维监控体系_zabbix点击返回:自学Zabbix之路点击返回:自学Zabbix4.0之路点击返回:自学zabbix集锦 自学Zabbix之路【第一回】:初识Zabbix 1.1 自学Zabbix1.1-简介 1.2 自学Zabbix1.2-zabbix特性 ... 查看详情

docker自学之路

搭建wordpressdockerrun--namedb--envMYSQL_ROOT_PASSWORD=example-dmariadbdockerrun--nameMyWordPress--linkdb:mysql-p8080:80-dwordpressdocker-machine.exeip  查看详情

编程自学指南正向路线(代码片段)

以下是正文你是否符合以下情况?大学计算机相关专业,对本校提供的教学资源不满意,或者大学其他专业学生,想要从事开发相关工作的本科生有较为充足的时间,但是缺乏学习资源(这里指的“资源”并不是书本或其... 查看详情