Learn Software Engineering using C# (The Hard Way)

I am a big fan of the project 'Learn Python the hard way' (http://learnpythonthehardway.org/).

In a world of 'Learn X in 24 hours' and 'Lose weight without exercising and eating anything you want,' it's a breath of fresh air. It recognizes that there are no shortcuts for any goal, which is worth achieving. You must put in a sincere and dedicated effort to achieve the goal.

I started learning programming in the summer of 1995 and was hooked right away. Since then, I have written lots of code, committed tons of mistakes, and learned a few things (there is so much more to know!). In 2002, I learned about Joel Spolsky and started reading his articles on software development. It made me realize that I am not the hotshot programmer that I thought I was. At that point, I decided to put in work to improve my knowledge about software development. Thanks to him, I learned about Eric Sink, who taught me the difference between a programmer and a developer (http://ericsink.com/No_Programmers.html). (Yes, that's where I stole my tagline from! http://solutionyogi.com/about.htm) Around 2005, I came across Eric Lippert's blog, and once again, I realized how little I know. Thankfully, he is a fantastic writer and teacher, and I learned an awful lot about software development through his blog.

In the last few years, I realized that I enjoy teaching topics related to software development. It brings me tremendous joy when I see the 'aha' moment on someone's face when I teach them something.

The goal of this repository is to come up with material (notes/examples/exercises) which anyone can use to learn how to develop software using C#.

Exercises:

  1. CsvReader

  2. CsvToSql

Go to the respective folder to get full detail on the exercise.

Go to Repository Wiki (https://github.com/SolutionYogi/LearnSoftwareEngineeringUsingCSharp/wiki) to see the different topics I am covering.