Hi, I’m a first year CS student and this 3 month period of vacations I want to follow a good free course on programming. If it’s possible, I also want to learn how is the process in which a code written in a text editor can become an executable with it’s GUI in the operating system (currently using Linux), because I really have no idea how that works.

Browsing the web for it have become overwhelming and I’m finding trouble in deciding what to follow, and I also need some order in order to learn things.

I would really appreciate if you can tell me if you know any course that meets this requirements.

  • superbirra@lemmy.world
    link
    fedilink
    arrow-up
    28
    arrow-down
    4
    ·
    11 months ago

    or, you know, touch some grass and don’t burn out while waiting for the courses to start

    • abbadon420@lemm.ee
      link
      fedilink
      arrow-up
      5
      arrow-down
      11
      ·
      10 months ago

      Students don’t need to touch grass. They are still eager and motivated and should take advantage of that mindset while it lasts.

      • WalrusByte@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        10 months ago

        It might last a little longer if they don’t burn themselves out. Just my two cents, though

        • abbadon420@lemm.ee
          link
          fedilink
          arrow-up
          3
          ·
          10 months ago

          Haha second time I’ve been called a boomer this week XD I just wanted to point out that as a new student, you have a sense of wonder and excitement for your new specialty that you loose over the years. It’s a powerful motivator. But yes, a change of scenery sometimes is good for everyone.

          • superbirra@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            10 months ago

            I couldn’t resist and it was the first time I told someone, maybe it makes you happy :D
            actually I remember well the kind of drive and energy that motivated me at the beginning of my studies/career, I find it’s definitely something that’s cool to experience, the response to OP came out like that, because maybe by now I’m the boomer :D ciao!

  • abbadon420@lemm.ee
    link
    fedilink
    arrow-up
    18
    ·
    11 months ago

    I can heartedly recommend this one NandToTetris.

    In this course gives you a complete understanding of how computers and programming qorks from first principle.

    You’ll start by (virtually) making chips with just a nand chip, than you’ll make a cpu, ram and rom, evetually on to a full fletched computer. Than you’ll write your own assembly language, parser and compiler for that computer. You’ll write your own OS and your own higher level language (OOP) and eventually you’ll write a geme (tetris) in that language.

    This is of course all very simplified, but very educational.

    • ishanpage
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      This is the best option. I recommend Nand2Tetris to everyone! It’s an incredibly well designed and executed course

  • ericjmorey
    link
    fedilink
    arrow-up
    10
    ·
    10 months ago

    If you want to learn how programming languages can go from text in a file to something a computer can process, I recommend either:

    Programming Languages: Application and Interpretation

    or

    Crafting Interpreters

    If you want to know how a computer processes the information, I recommend:

    NandToTetris

    If those are too much for your level of programming knowledge, I suggest one of the following to get up to speed:

    A Data-Centric Introduction to Computing

    or

    Structure and Interpretation of Computer Programs

  • Rosco@sh.itjust.works
    link
    fedilink
    arrow-up
    8
    ·
    10 months ago

    I recommend taking a look at https://roadmap.sh/. It’s not a course, it’s a website with several “roadmaps” for learning languages or specific fields. There’s plenty of docs and it’s easy to follow!

  • radix@lemm.ee
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    11 months ago

    I think there are good free online courses, like Harvard’s CS 50 course. I’ve also heard of OpenCourseWare. I haven’t used either of them personally, though.

    • genie@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      10 months ago

      Open Courseware is excellent so far! I’ve done their intro to C (as a refresher) and Intro to Algorithms courses. It’s definitely worth the time.

  • Jerkface@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

    Do you know what classes you are going to be taking? If so, fnd the syllabus and take note of the topics and the text, if one is mentioned. See if you can find any mention of material your school may have used previously and get yourself a copy. Find the topics in the book and work through the exercises as you please.

    • ericjmorey
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      11 months ago

      I’m not sure that can be completed in 3 months by most people on their own. But I think it’s a great option anyway. Probably best to use Emacs (Edwin) in doing so.

      If OP chooses this option, I like this HTML5 version the best: https://sarabander.github.io/sicp/

      • solrize@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        10 months ago

        It’s fine, just make much progress as you can in the 3 months. It will be good prep for a CS program. It’s also ok to read ahead and so on.

  • NostraDavid
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    Read through the HTML5 spec if you want to do anything frontend related. Yes, it can be boring at times, but using a TTS extension for your browser helps a lot.

    It’ll teach you which HTML5 tags exist, which attributes exist for each tag, which tag goes within which tag, etc. Very helpful if you want to actually learn an up-to-date HTML5.

    It will provide a very good fundamental knowledge before you start learning whatever popular JS framework exists in a few years.

  • pixelblut@feddit.de
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    10 months ago

    Depends on which programming language you want to learn.

    https://www.w3schools.com/ is a good resource for the basics in some of the most used programming languages and a good reference for looking up how things work.

    Most learning of programming is IMHO learning by doing. And by breaking things.

    Think of a program you want to make (or one you want to replicate, just for learning purposes) and set this as your goal. It doesn’t need to be perfect, optimized or even fully functional. Just grab a hot beverage of your choice, sit down and try.

    There are plenty of (sometimes even free) books with examples how to use the programming language of your choice. If you want to go that way, again, grab a hot beverage of your choice and start reading.

    • ericjmorey
      link
      fedilink
      arrow-up
      2
      ·
      10 months ago

      w3schools is much improved over what it was originally, but it never became a top quality resource (even if you limited your search to “popular” and free). Also it’s very web centric and OP is looking for something that’s more fundamental.