学习方法与学习工具

编程学习的基本工具

  • 学习编程做好笔记非常重要:尽量用Typore记笔记(软件发到群里了),它采用的是markdown语法,特别简单易上手。视频链接地址:(https://www.bilibili.com/video/BV1hJ411X75X/?spm_id_from=333.337.search-card.all.click&vd_source=aa5e3e3e998344da4d7d0efd094e44d4)
  • 查找一些编程知识,或者一些编程软件,编程工具,可以去菜鸟教程:(https://www.runoob.com/)
  • 如果遇到一些不会的知识,或者报错,或者想了解一下最新的学习路线,可以去CSDN,计算机上特别万能的网站,基本上你想搜的上面都有答案(需要微信登陆一下):https://www.csdn.net/)
  • 刷题网站,如果大家对算法比较感兴趣,想要以后打比赛,可以去力扣上刷题:https://leetcode.cn/
  • 给大家提前说一下以后咱们都会用到的一个开源项目的托管平台还有实现开源按项目的工具,大家也可以百度一下什么是开源项目。github是开源项目的一个仓库,是一个外国网站信号可能不好,会出现访问失败的现象https://github.com/,gitee是咱国内的一个开源项目仓库,但没有github那么全面[我的工作台 https://gitee.com/)。
  • git的下载和使用方法:https://blog.csdn.net/javachao_qiufeng/article/details/123211567 github的使用方法:https://blog.csdn.net/egg_er/article/details/122755013

如何学习:

文档和视频的重要性

  • 假如我们在学习专业课或者编程语言时,我们要知道一点, 任何东西都满足2 8定律, 一个文档最多只有20%的知识是我们需要掌握,常用的,而从哪里学,怎么理解这百分之20,就需要通过视频启迪(零基础条件下)。 我们可以对着视频学习,并且在文档上找相关的内容,快速了解文档结构。 把文档变成自己的学习笔记,文档加视频,还要加入自己的理解,做好笔记,一定要边学边练!
  • 老师只会讲一遍课程, 就是为了让你读懂书。 视频只看一遍,理解了文档,以后碰到任何问题都知道查文档了~
  • 另外英语学习也比较重要,很多资料或者官方文档可能是英文的,中文翻译较少。 使用谷歌浏览器, 下载划词翻译相关的插件。 https://www.extfans.com。 可以帮助阅读英文文档,大家在大学学习期间一定要学好英语。
  • 自学永远是最重要的! 程序员本身就是一个快速发展变化的行业,技术总在迭代变迁。 自学能力的重要性,不必多说!
  • 新手啥也不懂,离不开视频,需要慢慢的将能力由重心视频,转到重心看文档,各种语言都有自己的官方文档。
  • 还有比较重要的一点,要养成写注释的好习惯,注释可以加深对代码的理解,如果将来出错了也能更好的找到原因并解决,好的项目注释比代码多绝对不是说说而已。

进阶

数据结构及算法!(重要)

  • 强烈建议大家重视数据结构与算法,现在越来越卷了,大点的公司必考数据结构和算法。可能是侧面考
  • 比方说 python的字典实现(hash结构,散列表)
  • mysql B+树索引
  • java hashmap等等等, 还有线程安全的数据结构,等等等
  • 一定要深入学习,好好学习,C语言数据结构与算法** 也就是你们的上课教材, 不仅基础,而且重要。 数据结构是研究算法的基础
  • 先搞懂数据结构相关的 操作,还有递归。 再去考虑算法相关的 算法思路或者是习题。如果想参加蓝桥杯,ACM比赛的,算法就非常重要了。
  • 可以贴一个简单的十大排序算法,https://blog.csdn.net/pythonstrat/article/details/115471149
  • 学习完基本的数据结构,配合力扣相关习题就足够了。建议大家刷力扣,但是不能盲目刷。 有针对的进行练习。
  • (我觉得语言只是一个工具。没有绝对的好坏之分,刚开始大家不要纠结选什么语言,编程语言的本质都是一样的,有一门课叫编译原理,就是介绍编程语言的 语言表面不一样,但他们本质都是大差不差的,不同语言,就好比 毛笔,铅笔,水彩笔。 你会使用笔,未必是 书法家,画家。 不要将自己仅局限于语言,要深入懂得计算机知识,程序 = 数据结构 + 算法, 项目经验和 语言关联但也分离。 经历集中起来,先研究透彻一个要好,但别只集中于语言。 别浮躁,多研究。 算法课的老师讲过: 慢就是快,快就是慢。

Linux操作系统(重要)

  • 大学有一门课叫操作系统,就是讲Linux,那上面有虚拟机与centos系统。
  • Linux源代码是公开的,用户不用担心有什么安全隐患。Linux软件资源十分丰富,有各种镜像,程序在这上面几乎都可以找到,而且还都是开源免费的,非常适合做程序开发,设计者在这一基础之上很容易进行二次开发。
  • Linux是一个基于命令行的操作系统,但是它提供了一个像Windows一样的交互式用户界面。它几乎支持所有我们最常用的编程语言,比如C/C++、Java、Python、Ruby等等,非常适合程序员使用。此外,它还提供了大量有用的开发应用程序。相比Windows命令行,程序员更喜欢Linux终端。Linux系统上的包管理器可以帮助程序员了解事情是如何完成的,Bash脚本也是程序员的一个功能特点;它还提供对SSH的支持,这些都有助于快速管理服务器。Linux提供了大量的社区支持,我们可以从各种来源找到支持,网上也有许多论坛可以帮助用户。此外,还有来自各个开源社区的开发者也愿意帮助我们。
  • 学好Linux也非常有利于我们以后的实习和找工作。