整体路线
科普读物:《计算机概论》、《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