【第二章】课前准备和课程基础

目录

一、课前准备

1.1 电脑配置

1.2 芯片

1.3 技术

1.4 操作系统

1.5 字长

1.6 框架

1.7 网络

二、课程基础

2.1 学习方向

2.2 常见比赛

2.3 书籍推荐

2.5 其他

2.6 在线OJ

2.7 刷题建议

2.8 视频学习要点

三、课程大纲

四、学习方法

五、博客管理

六、方向选择

6.1 C/C++

6.2 JAVA

6.3 测试

七、难度对比

八、就压压力

九、岗位选择

十、薪酬待遇

十一、未来发展

十二、简历


一、课前准备

1.1 电脑配置

推荐使用Windows电脑的原因:方便搭建环境。

新款苹果电脑(使用M1芯片):搭建环境困难。

1.2 芯片

M1芯片:使用ARM架构。

苹果电脑的很多软件配置这个芯片,还不到位。

Windows和苹果,同步不起来。 

本人使用电脑:

MAC可以安装fusion虚拟机,安装Windows,Windows里面安装VS。 

1.3 技术

有了技术后,使用苹果很方便;

有触摸板配合起来很方便;进入大厂,公司标配mac。

没技术,搭建环境很困难。

1.4 操作系统

 国外进行高校技术教学时,使用的基本都是Linux操作系统。

Linux操作系统非常适合学编程,非常适用于技术工作、技术开发的。

国内公司装的服务器,基本装的都是Linux操作系统。

1.5 字长

32位机器、64位机器,指的是32位CPU、64位CPU。

32位、64位:CPU对应的字长。

字长:CPU读取数据时,一次性读取多大空间。

1.6 框架

C++是QT的基础,QT是一个带图形化的界面框架。

easy是非常简单的图形化界面库。

1.7 网络

如何写出基于网络的编程、程序,是可以进行通信的。

课程体系就是:《网络协议》到《网络编程》。

  • 网络协议栈。
  • 网络中的各种协议,如何封装、解包。
  • 网络状态的链接和断开:三次握手、四次挥手。

1.8 VIM学习资料

  • 简明VIM练级攻略:https://coolshell.cn/articles/5426.html
  • 给程序员的VIM速查卡:https://coolshell.cn/articles/5479.html

二、课程基础

2.1 学习方向

常见的研究方向:C/C++研发方向、Java研发方向、测试开发方向 算法和数据结构。

C++研发方向、Java研发方向、测试开发方向、大数据方向。

 

2.2 常见比赛

ACM、蓝桥杯、CCPC等比赛。精力不能全部投入比赛中。

2.3 书籍推荐

《程序员的自我修养》:面试题经常用,如果面试官刚好读过,和自己有较高的认同感。 

《深入理解计算系统》中也讲到。

《C++》《JAVA》《数据结构》《操作系统:国内的操作系统市场不太好》《计算机网络》《软件工程》《计算机组成原理》《微机原理》《C陷阱和缺陷》

学好编程,不仅仅是学好C语言,必须要学好:

  • 计算机语言
  • 算法和数据结构
  • 操作系统
  • 计算机网络
  • 项目实战
  • 数据库

2.5 其他

STL语言、VC、wIndows下的网络编程经验。 PC客户端、移动客户端。

.cpp文件格式要求更加严格,虽然是向下兼容.c 一个解决方案里面可以有多个项目 VS里面它会自己停下来,电脑自带的exe不会停太快了,要停就加pause

2.6 在线OJ

牛客网中,只要光标在代码行,Ctrl+C就行,然后回车就能复制。

复制不用选中整行,直接CV就行。

 在线OJ的题目有两种类型:

 

IO型中,题目要求完成两数相加,只需完成一个函数部分就行,如下所示:

2.7 刷题建议

(1)先刷牛客网初级阶段

鹏哥有讲一些课程。

编程初学者入门训练_在线编程_牛客网

华为机试_在线编程_牛客网

(2)会员问题

LeetCode:没必要充值会员,免费的都写不完,没必要充值。

  • 国外引入,翻译为中文版,刷题是专业的。
  • 还可以在上面进行笔试,笔试系统,熟悉笔试流程,调试、提交、做题。

牛客网:后来的,也是很专业的。

(3)刷题使用的语言

C语言提供的可以直接使用的数据结构不多,使用起来不是很方便。

使用C++、Java,刷题就会非常容易。

面向对象的语言中,包含容器、数据结构,直接可以拿来用,比较方便。

(4)不同线路的刷题方式

C语言线路刷题掌握技术:C+STL(标准模板库)

Java线路刷题掌握技术:Java

2.8 视频学习要点

 《函数栈帧的创建和销毁》可增长见识:

三、课程大纲

比特作业提交平台到教务系统:比特教务管理系统

学习数据结构的基础:指针、结构体、动态内存管理。

四、学习方法

五、博客管理

github网址:国外/网络要求高/访问慢。

gitee网址:国内/访问速度快。

  • 大公司喜欢的东西。
  • 注册:github账号。
  • 慢慢扩展学习 git 教程链接(不能只懂三板斧) 。

印象笔记(有道云笔记)-笔记可以检索,笔记丢不了,随时随地方便复习。

xmind-思维导图,整理一门课程学完后的框架。

六、方向选择

6.1 C/C++

6.2 JAVA

6.3 测试

曲线救国,先进大公司再说。

七、难度对比

C++本身没有网络库

JAVA可以进行网络编程。

学了Java,什么都可以搞了。

八、就压压力

九、岗位选择

十、薪酬待遇

十一、未来发展

十二、简历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李在进步er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值