Brittbot

Upgrading from Data Center Tech to Software Engineer

A frustrated emoji on a computer monitor displaying computer code

CS50x C Programming Lecture Is Unnecessarily Complicated

As I continue through Harvard’s 2024 CS50x course on YouTube (which I discussed in this previous post) I finally came to the lecture regarding the C programming language. I’m ready to go because I want to learn the language running Python. Also, I wanted to see how difficult it was to use the language after reading about it online. Well, after watching about 36 minutes of the lecture I gave up. Why? Because the CS50x C programming lecture is unnecessarily complicated. I’ll explain why below.

CS50X C Programming Lecture Is Complicated Because Of Its Custom Header Files

I know that CS50x is the introduction class for Harvard’s Computer Science program. Thus, there are going to be all types of students taking the course, not just Computer Science majors. Because of that the staff behind the C lecture decided to make the programming language easier to learn by creating a custom header file. That’s why the CS50x C programming lecture is unnecessarily complicated for me.

I get why they made this decision. There are many header files to choose from. If a student forgets to include the specific one in their project they won’t have access to the needed built-in functions.

Even though I understand the logic behind the decision of implementing a custom header file for the students to use, I think it does them (and me) a disservice. What happens when a student becomes too dependent on it? That individual could have a hard time creating their own projects in C, or working in a code base belonging to another individual and/or company.

Finally, CS50x’s custom header file include custom functions: “get_string” is a popular one. I thought that was part of the C programming language, but discovered the truth while researching online. Once I learned that I decided to find another course to learn C.

The Course I’m Using Instead

Instead of learning from the CS50x C programming lecture I’m learning from the C Programming Full Course for free video on YouTube from the Bro Code channel. Even though it is three years old now, the video doesn’t feel outdated. The trainer/presenter uses VS Code which is what I’m using to write and run my C code.

I did find a recent video (released about six months ago) from FreeCodeCamp, but it’s 18+ hours long. Unfortunately, I don’t have the time to invest in that long of a video.