Start learning programming from under scratch using C#

Discussion in 'Mixed Languages' started by tempdisposable, Mar 22, 2021.

  1. tempdisposable

    tempdisposable MDL Novice

    Mar 22, 2021
    3
    0
    0
    Hi,
    I used to use this forum with no account to get windows and office stuffs.
    I am learning programming.
    I know nothing about programming.
    I will use C#.
    May you just give me some text books that start from under scratch so I can follow up in my own.
    I do not want direct tutorials but I need to have a solid foundation that I can build on it in order to be a software engineer.
    I want to have a logic and be able to build software that scale correctly over time.
    Thanks
     
  2. nosirrahx

    nosirrahx MDL Expert

    Nov 7, 2017
    1,245
    592
    60
    Big mistake, its totally worth getting the basics from the various tutorials on youtube.

    I started coding in C# about a year ago and with nothing more than online tutorials have already progressed far enough to code basic games without any need for assistance.

    I coded Tetris, a wolves and rabbits predator/prey simulator, asteroids, basic 3D maze and currently I am working on Pac-Man.

    If you change your mind I can show you some of the vids I followed along with.
     
  3. tempdisposable

    tempdisposable MDL Novice

    Mar 22, 2021
    3
    0
    0
    Thanks for your valuable time replying my thread.

    I will follow your advice, please show me. But note that I know nothing at all as I am just a very basic and regular windows user, know nothing about mac and nothing about Linux.

    Note: If I want to have that solid foundation that computer science engineers graduates have, what shall I do or what does it takes?

    Honestly I was about to explore the undergraduate and post graduate curriculums and download its associated text books from the internet and study them all in my own, is it a bad idea to do so?
     
  4. nosirrahx

    nosirrahx MDL Expert

    Nov 7, 2017
    1,245
    592
    60
    I started from absolutely nothing but I did have a technical background so the math part comes pretty naturally to me.

    Like any form of success, its takes consistency. If you want to get good at coding, learn to code and then give yourself projects that are just outside of your skill level. Each project will force you to get better.

    I would start with self education using online tutorials. If you can follow along and like what you are doing consider enrolling in a real program. It will be very hard to get away from potential jobs wanting to see education credentials. You can get the skill for free and that is most of the actual work, but you will need some schooling if you want to make this a career.

    This was the first C# tutorial I followed. It goes super slow and starts by assuming that you have never coded:



    This guy is a little goofy but he really does a good job going over the basics in a lot more depth and covers a more syntax and structure, I would watch this playlist second:



    After that you should be fully capable of giving yourself a challenge projects and coding them. You will be looking a LOT up as you go but that is totally normal.

    When I started coding my first projects went in this order:

    tic-tac-toe
    hang man
    connect 4
     
  5. OgreVorbis

    OgreVorbis MDL Novice

    Dec 5, 2020
    6
    1
    0
    As a side note, I love SharpDevelop. It's super small and debloated and it acts like an old version of visual studio. It's the main thing I use for C# programming. It's only 47.8 MB installed and it truly is a full featured IDE with intellisense and everything. It's free too, but it hasn't been updated for several years unfortunately. It works up to .NET 4.6 I think.
     
  6. tempdisposable

    tempdisposable MDL Novice

    Mar 22, 2021
    3
    0
    0
    Thanks a lot.
    Please if I want to use a virtual machine for learning and programming purposes what editions of windows would you recommend me to use?
    My college granted me a license for visual studio 2017 enterprise, as well as VMWare 15 workstation Pro, and windows education edition.
    So my question is shall i use the education one I have or I should use something else?
    I want to run everything in the virtual machine so in case I screwed things I can restart everything easily without reinstall the real host machine.
    Also if you may link the thread for latest versions of windows here that would be awesome as sometimes I feel lost with all links.
    Thanks :)
     
  7. nosirrahx

    nosirrahx MDL Expert

    Nov 7, 2017
    1,245
    592
    60
    All of that is fine, don't get caught up in the small details. Start learning and start coding.

    C# isn't like lower level languages where you can screw up and crash the host system easily. Virtualization for C# coding is mostly just for testing different environments.
     
  8. Muerto

    Muerto MDL Debugger

    Mar 7, 2012
    1,858
    2,115
    60
    #8 Muerto, Apr 6, 2021
    Last edited: Aug 16, 2021
    ...
     
  9. Davidgamerthumbs

    Davidgamerthumbs MDL Junior Member

    Oct 25, 2020
    65
    149
    0
    I am coding in C# now for my Windows software I create

    I learned Python first. There are a lot of resources for each language. A good video teacher is Angela Yu on UDEMY

    I read a entire textbook on Python and am in college right now for Programming.

    School helped guide me a lot as I had great teachers who went through the teachings thoroughly. They simplified things for me in small bits.

    Thinking in small chunks in yes/no or true/false (if conditions) is the basics I learned to get through all my programming hurdles.

    I don't try to think overly complicated. Complexity is not the answer for me. I try to create simple solutions first and refine them over time to make them cleaner.
     
  10. nosirrahx

    nosirrahx MDL Expert

    Nov 7, 2017
    1,245
    592
    60
    I agree with this. It is also a very good idea to get into self documenting code that would be easy for someone else to understand quickly and be super consistent with variable naming conventions. There is lots of debate as to what what constitutes "good" naming convention but everyone agrees that it must be consistent to be good.

    As far as avoiding complexity goes, broadly speaking lists of classes has proven (to me at least) to be an wonderfully flexible tool. I am coding towards game dev and literally everyone I code now uses lists of classes.