• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Free-Mail

  • Events
  • Images
    • Instagram Goodness
  • Music
  • News
  • Software

My open source journey with C from a neurodiverse perspective

My open source journey with C from a neurodiverse perspective: My open source journey with C from a neurodiverse perspective Rikard Grossma… Tue, 05/10/2022 – 03:00

Register or Login to like
Register or Login to like

I was born in 1982, which in human years is only 40 years in the past (at the time of writing). In terms of computer development, it’s eons ago. I got my first computer, a Commodore 64, when I was ten years old. Later, I got an Amiga, and by 13 I got an “IBM Compatible” (that’s what they were called, then) PC.

In high school, I did a lot basic programming on my graphing calculator. In my second year of high school, I learned basic C programming, and in my third year I started doing more advanced C programming, using libraries, pointers, and graphics.

My journey from programming student to teacher

In my college days, I learned Java and so Java became my primary language. I also made some C# programs for a device known as a personal data assistant (PDA), which were pre-cursors to the modern smart phone. Because Java is object-oriented, multi-platform, and made GUI programming easy, I thought I’d do most of my programming in Java from now on.

In college, I also discovered that I had a talent for teaching, so I helped others with programming, and they helped me with math when I took computer science. I took some courses on C programming, aimed at basic embedded programming and controlling measurement instruments in my later college years.

After turning 30, I’ve used C as a teaching tool for high school kids learning to program in C. I’ve also used Fritzing to teach high school kids how to program an Arduino. My interest in C programming was awakened again last year, when I got a job helping college students with learning differences in computing subjects.

How I approach programming in C and other languages

All people learn differently. Being a neurodiverse person with Asperger’s and ADHD, my learning process is sometimes quite different from others. Of course, everyone has different learning styles, though people who are neurodiverse might have a greater preference for a certain learning style than someone else.

I tend to think in both pictures and words. Personally I need to decode things step by step, and understand them, step by step. This makes C a suitable language for my learning style. When I learn code, I gradually incorporate the code into my mind by learning to see lines of code, like #include in front of me. From what I’ve read from descriptions of other neurodiverse people on the internet, some of them seem to have this kind of learning style as well. We “internalize code”.

Programming and development
Red Hat Developers Blog
Programming cheat sheets
Try for free: Red Hat Learning Subscription
eBook: An introduction to programming with Bash
Bash shell scripting cheat sheet
eBook: Modernizing Enterprise Java

Some autistic people are a lot better at memorizing large chunks of code than me, but the process seems to be the same. When understanding concepts such as structs, pointers, pointers to pointers, matrices, and vectors, it’s helpful for me to think in pictures, such as the ones you find in programming tutorials and books.

I like to use C to understand how things are done at a lower level, such as file input and output (I/O), networking programming, and so on. This doesn’t mean I don’t like libraries that handle tasks such as string manipulation or making arrays. I also like the ease of creating arrays and vectors in Java. However, for creating a user interface, though I have looked at such code in C, I prefer to use grapical editors, such as Netbeans and similar.

My ideal C GUI open source tool for creating applications

If I imagine an ideal open source tool for creating a GUI using C, it would be something similar to Netbeans that, for example, making GTK-interfaces by dragging and dropping. It should also be possible to put C on buttons, and so on, to make them perform actions. There may be such a tool. I admittedly haven’t looked around that much.

Why I encourage young neurodiverse people to learn C

Gaming is a big industry. Some studies suggest neurodiverse kids may be even more focused on gaming than other kids. I would tell a neurodiverse high school or college kid that If you learn C, you may be able to learn the basics of, for example, writing efficient drivers for a graphics card, or to make efficient file I/O routines to optimize their favorite game. I would also be honest that it takes time and effort to learn, but that it’s worth the effort. Once you learn it, you have greater control of things like hardware.

For learning C, I recommend a neurodiverse kid to install a beginner-friendly Linux distro, and then find some tutorials on the net. I also recommend breaking down things step by step, and drawing diagrams of, for example, pointers. I did that to better understand the concept, and it worked for me.

In the end, that’s what it’s about: Find a learning method that works for you, no matter what teachers and other students may say, and use it to learn the open source skill that interests you. It can be done, and anyone can do it.

I’ve learned that if you can find the method that works for you, no matter what teachers and other students may say, you can learn any open source skill that interests you.

Image by:

opensource.com

Programming
Diversity and inclusion
Accessibility

What to read next
Accessibility in open source for people with ADHD, dyslexia, and Autism Spectrum Disorder

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.
Register or Login to post a comment.

: Opensource.com Rikard Grossman-Nielsen

Supporting Open Source.

Have you tried: Visiting Port Elizabeth?

Share this:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X
  • Share on Pinterest (Opens in new window) Pinterest
  • Email a link to a friend (Opens in new window) Email
  • More
  • Share on Tumblr (Opens in new window) Tumblr
  • Print (Opens in new window) Print
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Reddit (Opens in new window) Reddit
Published on 10 May 2022 by Alan Category: SoftwareTag: From, Journey, neurodiverse, Open, Perspective, Source

Trending Now: Milan vs Lecce

These are the latest trending searches on Google right now: Milan vs Lecce: : Daily Search Trends …

Read moreTrending Now: Milan vs Lecce

SA VS PAK Dream11 prediction today: Fantasy cricket tips for South Africa vs Pakistan 1st T20I

South Africa in the news: SA VS PAK Dream11 prediction today: Fantasy cricket tips for South Africa …

Read moreSA VS PAK Dream11 prediction today: Fantasy cricket tips for South Africa vs Pakistan 1st T20I

South Florida Chamber Ensemble The Pied Pipers of Clean Water

South Florida Chamber Ensemble The Pied Pipers of Clean Water – a Culture interest event …

Read moreSouth Florida Chamber Ensemble The Pied Pipers of Clean Water

About Alan

Previous Post:Mahinepua Bay, Far North
Next Post:Cool Train ride from Cape Town to Simons Town image

Reach Trust

Reach Trust is a holding trust for a number of companies within the Stratlec Group.

Copyright © 2026 · Free-Mail · All Rights Reserved · Powered by Straton Electrical

Back to top