欢迎光临
我们一直在努力

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

前言

大家好,我是程序员洋洋。

一个正在努力成长的大二女程序员。

最近这段时间,我一直在系统学习 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 负责循环。

数组负责保存多个数据。

方法负责封装一段功能。

类和对象负责描述现实世界中的事物。

但是当这些知识点放在一起的时候,难度马上就会上升。

例如:

编写一个学生成绩管理程序。

看到这个需求以后,就可能需要思考:

学生信息使用什么保存?

成绩使用数组还是对象?

怎么录入数据?

怎么遍历?

怎么计算平均分?

怎么判断最高分?

哪些代码应该封装成方法?

如果以后学习了集合,又应该怎么修改?

这个时候你会发现:

真正的编程,并不是单独知道每一个语法。

而是要知道:

什么时候应该使用哪个知识点。

这也是我现在觉得自己最需要提升的地方。


四、计算机专业学生很容易陷入“什么都想学”

还有一个很真实的问题。

就是计算机专业能学的东西真的太多了。

随便刷一下学习路线,就能看到:

Java

Python

C++

数据结构与算法

MySQL

Linux

计算机网络

操作系统

Spring

Spring Boot

Redis

Docker

前端

Git

GitHub

AI

……

刚开始的时候,很容易产生焦虑。

看到别人学 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,希望我们都可以慢一点,但不要停下来。

    我是程序员洋洋。

    一个正在努力成长的大二女程序员。

    继续学习。

    继续敲代码。

    也继续记录自己的程序员成长路线。

    赞(0)
    未经允许不得转载:171主机测评 » 大二计算机女生的真实学习现状:学编程以后,我发现最难的不是写代码
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址