About Projects and overall improvement

Hello there, I am new to FFC. This month I decided to learn web development so I worked on New Responsive Web design curriculum. I got my cert in a week but I decided to dedicate 2 weeks more to review the content cause I felt I did not learn much. Now I am more confident but honestly I still feel unprepared to get the certifications.
I like FFC a lot, but let me give you a “criticism” about FFC projects. I managed to pass projects with horrible code, which is something that should not happen in my opinion. I don’t know if there’s a way to be more rigid about tests, and I don’t know how to post here my code, but I’ll tell you that my project doesn’t even look like a web page and still it’s enough to pass the test which is something a new learner included me doesn’t want because you get the certification but you still aren’t good enough of course.
Indeed, I am not even sure if it’s normal it takes so much time to learn html and css… I also used other resources to study in deep some concepts. I made this post because I think FFC is a very good resource but I feel like I am not learning enough to make projects all by myself , due to the fact that you can “pass” projects without even making real content, just follow the steps. .

The point really is to learn bits and pieces of concepts/code. It’s important to note that the main goal of the curriculum is to provide a solid foundation of web development concepts and skills. While it’s true that the projects do have specific requirements that need to be met in order to pass (even if the solution is sloppy), the ultimate goal is for learners to be able to apply their knowledge to real-world projects and situations.

With that said, it’s important to keep in mind that the curriculum is designed to be a comprehensive learning experience, and it’s normal for it to take some time to fully understand and internalize all the concepts covered. The coursework will reiterate complex concepts in other courses (or even later in the same course) and will also go deeper into explanation & examples (although I do admit, they come in way too late - especially after the fact when you already spent hours jumping down the rabbit hole). Additionally, using other resources to supplement your learning can be very beneficial in helping you to deepen your understanding of specific concepts. I’m currently in the “Front End Development Libraries” coursework, and things are starting to get a lot easier & my code has become a lot better. I stopped trying to figure out things too deeply and spent more time completing exercises.

The strategy I came up with, while working on the course-load, is basically thinking of it like game mechanics. For example, you’re about to fight a Boss monster that’s poison-type. Start developing your poison-resistance from Level 0 to Level 1 (could be higher, but it doesnt have to be). This should at least help you get into a battle of attrition until you beat it. If you can’t beat the boss, you can “explore the dungeon more & gain exp” (learn a bit on your own), then try again later when your poison-resistance level is higher.

We can and do mainly test functionality and structure. How something looks isn’t really part of most of the tests. We do have some layout tests.

The curriculum does not teach design all that much and the only way to test for a design is to restrict the requirements which wouldn’t really be in line with the point of the challenges. We would have to give a fixed design as part of the requirements that needed to be solved. I don’t think we can teach design by testing for it.

Even if we did do that five projects are not enough, you have to code way more to get anywhere near comfortable. I would check out something like frontendmentor.io for practicing implementing designs.

Code quality is almost impossible to test for unless we restrict the code that is allowed to be entered. It might be possible to add code format rules and teach code using linters that enforce some rules. But implementing that is easier said than done. It is also highly opinionated which isn’t necessarily helpful to beginners and might just get in the way of learning the fundamentals at the start.

You can use the “preformatted text” tool in the editor (</>) to add backticks around text.

1 Like
<!-- HTML -->
<!DOCTYPE html>
  <html lang="en">
    <head>
<title>Portfolio webpage</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
    </head>
    <body>
      <section id="welcome-section">
  <h1>Hey Sono Marco D'andrea</h1>
  <p>Sono un aspirante sviluppatore web</p>
</section>
  <nav id="navbar" class="nav">
  <ul class="nav-list">
    <li>
      <a href="#welcome-section">About</a>
    </li>
  </ul>
</nav>
  <section id="projects">
<p class="project-tile"></p>
<a href="https://personal-portfolio.freecodecamp.rocks/">Cartella personale</a>
  <a target="_blank" id="profile-link" href="https://personal-portfolio.freecodecamp.rocks/#welcome-section"></a>
  </section>
    </body>
</html>

// CSS code
 body {

  color: white;
}

p{
  color: red;
}

@media (max-width: 75em) {
  html {
    font-size: 80%;
  }
}

.nav {
  display: flex; justify-content:flex-end;      
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; }

#welcome-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50vh;
  background-color: #000;}

I got away with such a short and bad code, since it looks enough to complete the fifth project ( I have no idea how to do it though, cause it is too hard)

If you want to put more effort into your projects there is nothing stopping you. The point of the challenges is not to force you to do X amount of work but just to test for some minimum requirements relevant to the type of project it is.

You should take the subject given to you and the example project and come up with something you are happy with. It doesn’t have to be amazing but the more work you put into it the more you will learn from it. The point of the challenges is to learn as much as you can, not just to pass the requirements.