Irritation in programming

The Missing Letter problem is just one example of what irritates me about learning to code. It happens all too often. You learn about a subject and then are asked to do things that were not covered in the lessons (e.g. str.charCodeAt()). I have not come across it’s usage in lessons leading to problem where it is used. How am I supposed to know about it or anyone else for that matter. That’s just an example by the way. I have seen this issue in many other places during the learning path so far…this is NOT good.

It is like here is how you make a variable…go build me a rocket ship. It cannot be done, unless someone else has already done it! In that case, what is the point in doing it again? There isn’t one. Stick to what is taught in the problems please. People will actually learn better that way! If all you want are people who can look at a solution, or Google to find out how to do it, then press on. But this certainly will not make good programmers only Googlers and Copy-Cats.

1 Like

There are dozens of ways to tackle most programming challenges. All of the challenges in the curriculum you should be able to solve with the content covered in the curriculum thus far, though many solutions will exist using material not covered in the curriculum.

This is so far off base. I understand your frustration, but you’re sorely misinofrmed about fCC and learning how to program.

The biggest part of learning how to program is learning how to find information. The breadth and depth of this subject is relatively infinite. The amount of built-in objects, methods, frameworks, preprocessors, and more is astonishing. That said, if you’re looking for somebody to hold your hand, programming definitely isn’t the right hobby/career for you. There’s only so much a cirriculum can teach you.

In this subject, the only way to to learn is by doing.

Truthfully, the FCC curriculum gives you enough of a baseline to create just about anything. Don’t get me wrong - you’re not gonna “build a rocket ship” as your first project. You’re going to build the button that counts down to lift off. Then you’re going to build the event handler that does something when the timer hits zero.

All of a sudden, as your projects get bigger, you’re going to be able to build that rocket ship.

The biggest thing, though? You’re making it sound like using Google somehow makes someone less of a programmer. Do you know how many Engineers AT GOOGLE use Google every day to help them with their code? :stuck_out_tongue: Literally all of them.

I understand you’re frustrated, but eventually you’ll learn that even top engineers learned the same way you’re learning - they just invested more time into it :slight_smile:

What you’re describing is literally the bad habit you’re referring to.

What’s the difference between FreeCodeCamp giving you all of the answers and you finding the answer on Google? The main difference is that using Google actually teaches you to find the answers yourself - which you’re going to have to do every single day. I’d imagine some of the omission is on purpose to teach you how to find that information yourself. You’re conflating using Google as being a bad thing. If that were true, why is Stack Overflow filled with expert developers who help and get helped just the same?

It’s like if I taught you the alphabet, but I stop at the letter G…how are you going to know where to go to next to get all the way to Z? You’re not unless someone tells you where to go.

Yes… That would be the same if the alphabet was nearly infinite and there were infinite possibilities to how it could be arranged. You’re making it sound like there’s only one right answer to a programming problem. There’s not. There’s millions of ways you could approach a problem. Why would they give you the solution to do that when learning how to program is literally just solving problems?

Hey look, there is a very basic solution that exists with stuff covered in the basic JS section:

Spoilers
const LETTERS = "abcdefghijklmnopqrstuvwxyz";

function fearNotLetter(str) {
  // find where str starts in the alphabet
  let firstIndex = -1;
  for (let i = 0; i < LETTERS.length; i++) {
    if (str[0] === LETTERS[i]) {
      firstIndex = i;
    }
  }
  // find the missing letter
  for (let i = 0; i < str.length; i++) {
    if (str[i] !== LETTERS[i + firstIndex]) {
      return LETTERS[i + firstIndex];
    }
  }
}

the lesson on for loops

the lesson on string lengths

the lesson on string indexing

The basic building blocks will get you very, very far, but it takes time, patience, practice, and creativity to get good at using them.

2 Likes

Exactly! It is, but for someone new, they are not going to know, most likely, what they need to look for in order to solve said problem unless it is precisely the next step.

Back to the analogy of the alphabet. If I teach you A-G, you can now make words with that. Once you have made some words with those letters, we can now move to the next set of letters, thus giving you more ways to make new words and so on! I do not need Google to provide me answers to something I would already know if given the right path to attain it.

K n R didn’t have Google and they created a language, from another set of languages because they were taught properly in whatever educational system they went through. People need to be taught better, so GoOgLe doesn’t become a dependency.

In the end, my simple point is programming curriculum should be covered far better than what it is today if they want better software for tomorrow.

Google is literally how every professional developer gets their job done.

1 Like

I know and that’s why modern day software sucks. :rofl:

That’s a joke, right?

I can’t see the spoiler…it’s out of focus.

Modern-day software is literally the best it’s ever been - and tomorrow, it’ll be even better. Probably because all developers have access to the same information.

I think you’re just upset you’re not learning as fast as you like. I completely understand. It took me years to confidently say I could build something worth showing to people. Just give it time bro. You’ll get it. I mean that sincerely.

1 Like

Click the code that’s enclosed twice.

Please stop trolling. Google is a tool for modern developers, even those of us who write in old school languages like C.


To see the contents of the spoiler, click on the blurred area.

Joke about modern day software? No, I’m serious. The only reason some software is close to decent today is because it’s running on top of software built years ago.

Very interesting solution!

BTW, I’m not trolling. I’m just irritated at the way programming is taught and I hate dependencies like Google, Frameworks-only because of dependency on them being correct and not breaking, etc.

Thanks for the information and to both of you for dealing with my rant!

I’m as much of an old school kurmudgen as you will find. I write C99 most of the time. I like notepad++ over fancy IDEs. I use my terminal constantly. But. New features and technology is a good thing. This stuff helps us make better, more complex code, with fewer bugs, faster.

Your analogy of the alphabet is wrong, because the rough equivalent of alphabet (the base: variables, loops, primitives and objects) has already been taught by that point in the curriculum. The rough equivalent of the library of functions would be words (and it isn’t actually that rough an equivalent). You do not teach someone to read by getting them to memorise a dictionary, you just give them the dictionary to look up things if they need to.

As stated, all the problems can be solved without any recourse to convenience methods provided by JavaScript; they are all just convenience methods to make things easier.

This isn’t really true though. They didn’t have as large and accessible a library of information as is now available, but they most definitely had access to paper libraries.

2 Likes

Not to start a war, but if modern software is better…how do you explain Java? :rofl: :joy: :rofl:

Java is very useful in certain contexts. Same with Javascript, Rust, all sorts of other languages. Other than the meme languages, I haven’t really ran into a modern language with zero utility.

1 Like

Yes, this is true, but they also had a better education and knowledgeable instructors than modern day. Today’s college degrees are more so impressive pieces of paper than proof of education.

And I think you read too deep on the alphabet part. Careful…your logic is showing. :laughing: