Tag: C

The tag for Programming Languages posts about C programming.

  • CS50x C Programming Lecture Is No Longer Complicated For Me

    CS50x C Programming Lecture Is No Longer Complicated For Me

    I wrote about my experience watching the CS50x C programming lecture in a previous post. You can read it here, but I will give a TL;DR: The course’s reliance on custom files and functions hampered my learning. Thus, I stopped watching the lecture series and searched for a video to learn the programming correctly. After watching another video I decided to give the lecture another shot. I wanted to see if I could follow along now. Turns out I could! I’ll explain why and how.

    How The CS50x C Programming Lecture Isn’t Complicated For Me Anymore

    This video from the Bro Code YouTube channel made C programming easy to understand and and use. It’s fun to write the code in VS Code, and create different types of functions using the language. I also created my first segmentation fault by not calling my variable correctly in the printf function! So that makes me a real programmer, right?

    All joking aside, I really do like this video from Bro Code and I’m about third of the way through the 4 hour video. So there’s still plenty of material for me to cover. However, I’m not waiting to finish that video to go back to the CS50x C programming lecture.

    What I’m doing is learn some topics from the Bro Code video, and then go back to the lecture to watch how the instructor presents those same topics. This is easy to do because both video utilize the chapter feature in YouTube. That leads me to why I understand things so much better now.

    Why The CS50x C Programming Lecture Isn’t Complicated For Me Anymore

    The reason why I understand the lecture much better now because I understand what the CS50x’s custom headers and custom function does. That’s why I wanted to learn the proper way to learning the C programming language. As I stated in my previous post, I’m not going to use custom headers and/or custom function like get_string in my code. I’m going to use the code’s built-in headers and functions. Hmm…there could be a future situation where I work for a company using their own set of custom header files and functions. Maybe this is good practice for me after all.

  • CS50x C Programming Lecture Is Unnecessarily Complicated

    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.