8
Bubbles
6y

I’m stressing out man. I can look at let’s just say a sorting algorithm for now. I can look at that insertion sort and I can understand what’s happening, but if you were to tell me I was supposed to be able to write that just based off a description I couldn’t. I need to be able to design and understand algorithms but I don’t know where or how to start. There was some course I was gonna try and see what that does. I put aside JS completely to focus on C# but I’m just stressing out over here. I learned the basics of C# although I feel like I’m learning it wrong but I’m moving on to SQLite and it’s my first Database experience and it’s confusing me and I also don’t know how I’m going to be able to use it for my future applications yet I’m just expecting too much out of me idk I love programming but sometimes it’s a cruel mistress

Comments
  • 6
    While implementing an sorting algorithm might be something you think you should be able to do its actually unlikely you will need it.

    Most likely you are going to work on a higher level so focus on the end result.

    Can you complete a working todo app with database for storage?

    That is mostly more useful than low level algorithms as there already exist implementations to use for sorting and such.

    Taking an app idea and transforming it into a working app (even if rudimentary and rough) is probably going to impress a recruiter more, they most likely have no clue about sorting algorithms anyway ;)
  • 0
    @Voxera the todo app is actually the project I’m working towards right now with the database 😅 also I just feel if I can’t do something so simple I can’t do bigger and better stuff
  • 2
    @Voxera in practice yes, but if you can't even code something simple, coding on system level is bound to blow up, too.

    The issue seems to be the difficulty to translate requirements into actually working code.
  • 0
    @Fast-Nop that’s what I’m worried about
  • 1
    @Fast-Nop but implementing an algorithm is not necessarily simple. There are easy pitfalls in edge cases that can be very difficult to understand.

    A higher level program like a todo app is actually much simpler in concept with add, remove, list and complete.
  • 3
    @Voxera sure, e.g. quicksort is a bitch for implementation in production quality because of pathological edge cases. But insertion sort isn't. That should be easy.

    If it is difficult, then it's because basic stuff like loops and updating logic isn't there, and that should be covered in basic programming courses along with the exercises.

    If such basics aren't there, programming with higher abstraction is like building on quicksand because of leaky abstractions.
  • 2
    Maybe do some micro courses on data structures or discrete math. I know it's probably not what you're looking for, but it will help. Regardless of implementation (languages), you will learn the algorithms. There might even be some micro courses on algorithms. Seriously though. Check out Udacity, Khan academy ... Fill in any online course... Etc
  • 1
    @breakdown I’m trying out Khan academy for their course on algorithms, but I’m gonna try to find a book on algorithms, data structures etc
  • 1
    @Bubbles there are some great books out there, but be careful. A lot of books are written in a way that they need explained by an instructor. At least, that's what I think.
  • 0
    @breakdown I’ll be careful
  • 2
    @Bubbles keep working at it. Also it's probably more beneficial to do this in a language you already know. Maybe try to find a visualisation of the algorithm?
  • 1
    @beegC0de agreed. Visuals help. And, learning in a language that you know is great. The algorithms are interchangeable.
  • 0
    @beegC0de I have a notebook ready for taking notes with visual examples
Add Comment