我出生于 1982 年,按人类的年龄计算,距离现在(撰写本文时)仅 40 年。但就计算机发展而言,那已是远古时代。我十岁时得到了我的第一台电脑,Commodore 64。后来,我有了 Amiga,13 岁时我有了“IBM 兼容”(当时就是这么称呼的)PC。
高中时,我在图形计算器上做了很多基础编程。高中二年级,我学习了 C 语言基础编程,三年级我开始进行更高级的 C 语言编程,使用库、指针和图形。
我从编程学生到教师的旅程
大学期间,我学习了 Java,因此 Java 成为我的主要语言。我还为一种称为个人数据助理(PDA)的设备编写了一些 C# 程序,PDA 是现代智能手机的前身。由于 Java 是面向对象、多平台且易于进行 GUI 编程的语言,我曾认为我以后的大部分编程工作都将用 Java 完成。
在大学里,我还发现自己有教学天赋,所以我帮助别人学习编程,他们在我学习计算机科学时帮助我学习数学。在大学后期,我参加了一些 C 语言编程课程,目标是基本的嵌入式编程和控制测量仪器。
30 岁之后,我开始使用 C 语言作为教学工具,教高中生学习 C 语言编程。我还使用 Fritzing 教高中生如何为 Arduino 编程。去年,当我找到一份帮助大学生解决计算机科目学习差异的工作时,我对 C 语言编程的兴趣再次被唤醒。
我如何学习 C 语言和其他编程语言
每个人的学习方式都不同。作为一个患有阿斯伯格综合征和 ADHD 的神经多样性人士,我的学习过程有时与其他人截然不同。当然,每个人都有不同的学习风格,但神经多样性人士可能比其他人更偏好某种特定的学习风格。
我倾向于用图像和文字进行思考。就我个人而言,我需要逐步解码事物,并逐步理解它们。这使得 C 语言非常适合我的学习风格。当我学习代码时,我通过学会看到代码行,比如我面前的 #include <stdio.h>
,逐渐将代码融入我的脑海。从我在互联网上读到的其他神经多样性人士的描述来看,他们中的一些人似乎也具有这种学习风格。我们“内化代码”。
一些自闭症人士比我更擅长记忆大段代码,但过程似乎是相同的。当理解诸如结构体、指针、指向指针的指针、矩阵和向量等概念时,对我来说,像在编程教程和书籍中找到的图片那样进行思考很有帮助。
我喜欢使用 C 语言来理解底层的工作原理,例如 文件输入和输出(I/O)、网络编程等等。这并不意味着我不喜欢处理字符串操作或创建数组等任务的库。我也喜欢 Java 中创建数组和向量的简易性。但是,对于创建用户界面,尽管我研究过 C 语言中的此类代码,但我更喜欢使用图形编辑器,例如 Netbeans 和类似的工具。
我理想的 C GUI 开源应用程序创建工具
如果我想象一个使用 C 语言创建 GUI 的理想开源工具,它应该类似于 Netbeans,例如,通过拖放来制作 GTK 界面。它还应该可以将 C 代码放在按钮等等之上,以使它们执行操作。可能存在这样的工具。我承认我没有过多地寻找。
为什么我鼓励年轻的神经多样性人士学习 C 语言
游戏是一个庞大的产业。一些研究表明,神经多样性儿童可能比其他儿童更专注于游戏。我会告诉有神经多样性的高中生或大学生,如果学习 C 语言,你或许能够学习编写高效显卡驱动程序或制作高效文件 I/O 例程以优化他们最喜欢的游戏的基础知识。我也会坦诚地告诉他们,学习需要时间和努力,但这是值得的。一旦学会了,你就能更好地控制硬件等事物。
为了学习 C 语言,我建议有神经多样性的孩子安装一个初学者友好的 Linux 发行版,然后在网上找到一些教程。我还建议逐步分解事物,并绘制图表,例如指针的图表。我这样做是为了更好地理解这个概念,这对我很有效。
归根结底,重要的是:找到适合你的学习方法,无论老师和其他学生怎么说,并用它来学习你感兴趣的开源技能。这是可以做到的,任何人都可以做到。
评论已关闭。