My bachelor’s in software engineering starts in quite a few months

I am thinking of downloading Linux and learning the Linux terminal using the Linux bible.

then learning video, photo, and vector editing.

After that finishing the rest of the cs50 except the scratch one.

Lastly, becoming extremely good at Python

How does it all sound?

  • ThatBlokeJosh@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    I might be a little biased but I wouldn’t really choose Python as your first language. I did and I can’t say I regret it but I would have rather strated with Go, the language I currently use. Go will allow you to learn more concepts whilst having a syntax that isn’t so different from Python. Go is especially useful for building projects because not only is it reasonably easy to use, it is vary fast and it has a lot of support and libraries. Python obviously even more support but it is very slow and quite limiting, also the thing that it’s best at is AI and data science, which fingers crossed 🤞 will be taken over by Mojo. As projects to work on I recommend working with the web building web applications.

    As for Linux, the general consensus will be use Ubuntu. I personally have been converted to a Arch zealot so I recommend something like Arco, Endeavour or Garuda. If you’re very daring then even go for Arch.

    If you want an advantage in your computer science class have a look at the leetcode easy questions.

    PS: I am only in my first year of highschool so take my comment with a grain of salt because I still have a lot to learn.

    • fubo@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Don’t worry about what your first programming language is. Every language has something to teach you. If you continue on in programming for any length of time, you will learn many languages. There will always be new ones, too.

      It helps to learn languages that come from different paradigms or approaches to programming. This gives you a better sense of what a language can be; what it can do for you. There are languages with a lot to teach, and they’re often the ones popularly considered “difficult”.

      Learn Haskell. You might never use it professionally, but it will greatly improve your understanding of what programming is. And no, you don’t need to be a mathematician to use it. (Recommended text: Graham Hutton’s Programming in Haskell, second edition.)

      Learn SQL. You will use it professionally, sooner or later, and you’ll be better off actually understanding your database than trusting libraries designed to hide your database from you.

      • ThatBlokeJosh@lemmy.world
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        In my opinion the first programming language that you choose does influence how you learn and perceive new languages.

        • fubo@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Oh sure, but so do the second and third and nth. When I write in Go today, I’m much more influenced by Python which I learned in the early 2000s than by BASIC which I learned in the 1980s, or even Scheme which I learned in the 1990s.

  • nom_nom@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Relax, take it one step at a time but always be making progress. Don’t overwhelm yourself, trust me. You’ll only get discouraged.

      • nom_nom@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        If there’s one thing I can wholeheartedly recommend learning in Linux, especially if you’re young is to start learning Vim. It’s such a good investment when you start to get good at it, look up “The Primagean” if you’re not already familiar with his videos/streams.

  • Rai0@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    On top of what @nom_nom pointed out, I would recommend completing personal projects. It could be a variety of things, and this link can help give you some ideas on what to do. If you don’t know how something works, nothing wrong with researching how something is done. I completed a sudoku solver a few months ago, and while it’s written with the equivalence of duct tape and plywood, I learned something new from it.

  • kurosawaa@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I would just recommend to make sure you pick small, realistic projects as you learn. There is a lot of cool stuff you can do with programming, but pick the easy, boring stuff and finish it to completion. Everyone makes a todo app, but it’s a really good learning experience, so just make sure you don’t skip the basics.

    I tried to start with learning Unity and C# to make games, but realistically it took about a year of making smaller command line projects before I knew enough to even begin to do something that complicated. Anyways, the fundamentals are important, learn them well.