ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

大二计算机女生的真实学习现状:学编程以后,我发现最难的不是写代码

大二计算机女生的真实学习现状:学编程以后,我发现最难的不是写代码 前言大家好我是程序员洋洋。一个正在努力成长的大二女程序员。最近这段时间我一直在系统学习 Java也在持续整理自己的学习笔记。学数组、学方法、学面向对象、敲代码、记笔记……每天好像都在接触新的知识。但是学了一段时间以后我慢慢发现了一件事情对于刚开始学编程的人来说最难的可能并不是“代码看不懂”而是如何真正把学过的东西变成自己的能力。尤其是作为一个计算机专业的大二学生有时候会觉得自己学了不少东西但真正坐到电脑前准备独立写代码的时候还是会突然卡住。所以今天这篇不写 Java 具体知识点。想记录一下我最近学习编程的一些真实感受也算是对自己目前学习状态的一次阶段性复盘。一、看懂代码不代表自己会写代码这是我最近特别明显的一个感受。平时看老师讲代码的时候经常会出现一种感觉“这个我懂。”比如看到一段 Java 代码public class Test { public static void main(String[] args) { int sum 0; for (int i 1; i 100; i) { sum i; } System.out.println(sum); } }看到这段代码的时候基本都能理解定义一个变量sum然后使用for循环把 1 到 100 累加起来。看起来确实不难。但是如果把代码关掉只给自己一个题目使用 Java 求 1 到 100 的和。有时候反而会停顿几秒。应该定义什么变量循环怎么写循环条件是什么什么时候累加这些问题明明刚才看的时候都懂但是自己真正开始写的时候大脑却需要重新组织一遍。后来我发现“看懂代码”和“独立写代码”其实是两个完全不同的阶段。前者更多是在理解别人已经整理好的思路。后者则要求自己从零开始分析问题、拆解逻辑再把逻辑转换成代码。而真正的编程能力显然更接近后者。二、学编程最容易出现的错觉我好像已经会了刚开始学习 Java 的时候我经常会有一种错觉。比如今天学了if 判断for 循环数组方法面向对象听课的时候觉得都能听懂。笔记也记了很多。于是很容易产生一种感觉今天学会了很多东西。但过几天再回头看就可能会发现“这个语法怎么写来着”“数组初始化有哪几种方式”“方法参数到底怎么传”这其实很正常。因为学习编程并不是看一遍 → 记住 → 永远会更接近第一次理解 → 第一次遗忘 → 再复习 → 再实践 → 再理解很多知识并不是第一次看到就真正掌握了。而是在不断使用的过程中慢慢形成记忆。所以现在我也开始调整自己的学习方式。不再单纯追求“今天学了多少章节。”而是更关注“今天真正掌握了几个知识点。”三、真正难的是把知识点连接起来单独学习 Java 基础知识的时候每一个知识点其实都不算特别复杂。比如变量负责保存数据。if 负责条件判断。for 负责循环。数组负责保存多个数据。方法负责封装一段功能。类和对象负责描述现实世界中的事物。但是当这些知识点放在一起的时候难度马上就会上升。例如编写一个学生成绩管理程序。看到这个需求以后就可能需要思考学生信息使用什么保存成绩使用数组还是对象怎么录入数据怎么遍历怎么计算平均分怎么判断最高分哪些代码应该封装成方法如果以后学习了集合又应该怎么修改这个时候你会发现真正的编程并不是单独知道每一个语法。而是要知道什么时候应该使用哪个知识点。这也是我现在觉得自己最需要提升的地方。四、计算机专业学生很容易陷入“什么都想学”还有一个很真实的问题。就是计算机专业能学的东西真的太多了。随便刷一下学习路线就能看到JavaPythonC数据结构与算法MySQLLinux计算机网络操作系统SpringSpring BootRedisDocker前端GitGitHubAI……刚开始的时候很容易产生焦虑。看到别人学 Python“我要不要学 Python”看到别人做前端项目“我要不要顺便学一下 Vue”看到别人刷算法“我是不是应该马上刷 LeetCode”看到别人已经在学 Spring Boot“我 Java 基础是不是学得太慢了”最后的结果很可能就是每一个都看了一点。但每一个都没有真正学扎实。所以我最近给自己的原则是先走完一条主线再慢慢扩展。现阶段我的主线还是 Java。先把 Java 基础真正学明白。然后逐渐学习Java 基础 → 面向对象 → 集合 → MySQL → JDBC → Java Web → Spring → Spring Boot其他内容可以了解但是暂时不让它们打乱自己的主线。我觉得对于刚开始学习编程的人来说知道自己暂时不学什么有时候和知道自己要学什么一样重要。五、写学习笔记其实是在逼自己重新理解一遍我开始写《程序员洋洋的 Java 学习笔记》之后也慢慢发现了一件事情。如果只是自己听课有时候会觉得“差不多懂了。”但是当我真正准备写成一篇文章的时候就会遇到很多问题这个概念到底应该怎么解释为什么要这样写初学者哪里最容易理解错这个例子能不能再简单一点有没有什么常见错误这个时候才会发现有些知识其实只是“听懂了”。并没有真正理解。为了把它写出来我必须重新去整理。有时候甚至需要重新写一次代码。所以现在我越来越觉得输出其实是一种非常好的学习方式。因为当你试图向别人解释一个知识点的时候你也在逼自己把这个知识点重新梳理一遍。这也是我为什么想继续更新学习笔记。一方面是方便以后自己复习。另一方面也是记录自己从一个计算机专业学生慢慢成长为程序员的过程。六、现在的我不再追求“学得快”刚开始学习编程的时候我会比较关注进度。今天别人学到哪里了。别人已经开始做项目了吗。别人是不是已经学 Spring Boot 了。后来慢慢发现每个人开始学习的时间不同。每天能投入的时间不同。理解速度也不同。如果一直和别人比较学习进度很容易让自己陷入焦虑。所以现在我更关注一件事情今天的自己有没有比昨天多理解一点。哪怕今天只真正搞懂了一个知识点。只独立写出了一道题。只解决了一个之前不会的 Bug。只写了一篇学习笔记。其实都是在进步。编程学习不是短跑。它更像是一个不断积累的过程。七、我现在给自己的学习方法经过最近这一段时间的学习我目前比较认可的学习方式是1. 先理解知识点第一次接触一个知识点的时候不要求马上全部记住。先理解它是什么。为什么会出现。解决什么问题。2. 自己敲一遍代码尽量不要只看老师写。看懂之后把代码关掉。自己重新写一次。如果写不出来就说明还没有真正掌握。3. 做几个简单练习不需要一开始就挑战特别复杂的项目。先使用当前知识点解决一些小问题。例如学完循环可以写// 输出 1~100 // 求 1~100 的和 // 输出偶数 // 打印九九乘法表目的不是刷题数量。而是熟悉知识点。4. 写学习笔记把今天学到的内容重新用自己的语言整理一遍。如果某个地方完全不知道怎么解释就回去重新学习。5. 定期复习编程知识忘记很正常。真正危险的不是忘记。而是忘记之后从来没有再复习。所以以后我也准备定期回顾之前写过的 Java 学习笔记。看看以前掌握得不牢的地方。八、作为一个大二计算机学生我还有很长的路要走现在的我还只是一个正在学习中的大二学生。Java 也还在继续学习。项目经验不算丰富。算法能力也需要继续提高。计算机基础还有很多内容没有真正学透。但相比刚开始的时候我现在至少开始越来越清楚编程学习真正重要的不是收藏多少教程。也不是一天看多少小时视频。而是理解。实践。复习。输出。然后继续坚持。我现在越来越相信一件事情程序员不是某一天突然“学成”的。而是在一次次敲代码、报错、调 Bug、学习新知识的过程中慢慢成长出来的。总结今天这篇没有写具体的 Java 技术知识。只是想记录一下自己现阶段学习编程的一些真实感受。目前我最大的几个体会是看懂代码不等于会写代码。学过不等于真正掌握。编程真正难的是知识点之间的组合。初学阶段不要同时铺太多学习路线。输出学习笔记本身也是学习过程。不用过度和别人比较学习进度。持续学习比短期冲刺更重要。作为一个大二女程序员我现在还在成长的路上。后面我也会继续更新自己的 Java 学习笔记、编程学习记录以及计算机专业成长经历。如果你也是计算机专业学生或者刚开始学习 Java希望我们都可以慢一点但不要停下来。我是程序员洋洋。一个正在努力成长的大二女程序员。继续学习。继续敲代码。也继续记录自己的程序员成长路线。
返回列表