You will need a working Visual Studio 2019 environment to develop .NET Apps. So go ahead and set that up.
The setup is quite straight forward. In case you need more help, the following video shows you how to setup Visual Studio 2019.
https://www.youtube.com/watch?v=G1-Zfr9-3zs
The following video is an informal intro to the C# language.
- Code along with the tutorial. Do not just watch the tutorial, WRITE CODE along with the tutorial. The only way to learn coding is writing code.
The following video is just a suggestion from me. There are A LOT of great C# material online, if prefer another source, go ahead and use it. Make sure it covers all the material in this tutorial.
Feel free to suggest new material on Discord, I will help in reviewing it.
https://www.youtube.com/watch?v=GhQdlIFylQ8
https://www.youtube.com/watch?v=TUNNmVeyjW0
Exercism is a great resource for exercises in many languages. Sign up for the C# track and practice as many problems as possible.
Your Mentor will review your progress on exercism.
NuGet is a package management system for dotNET. The following videos explain what NuGet is and how to install and use it.
By the end of this section you should be able to install dotNET packages with NuGet. The upcoming assignment requires you to install packages to read CSV files and create plots.
https://www.youtube.com/watch?v=WW3bO1lNDmo
In this project, you will build a simple command-line application that will read in a CSV file, do some aggregation/filtering/grouping functions and print out the results in table format.
Your source data will is the company registration data for the state of Maharashtra, from data.gov.in, the Government of India's open data platform.
Download the Company Master Data of Maharashtra in CSV format.
For each problem print the result in table format on the console. Use ConsoleTables package to print nicely formatted tables.
One of the aims of this project is to familiarize yourself with the NuGet packaging system. The following packages are recommended, though alternatives to the following can also be used.
- CsvHelper - Helps parsing your CSV files.
- ConsoleTables - Helps to print good-looking tables on the console.
Calculate the number of companies whose "Authorized Cap" falls in the following intervals ...
- <= 1L
- 1L to 10L
- 10L to 1Cr
- 1Cr to 10Cr
- > 10Cr
Print out the result of your calculation in table format using ConsoleTables.
The end result should look something like this ...
------------------------
| Bin | Counts |
------------------------
| <= 1L | 20440 |
------------------------
| 1L to 10L | 125893 |
------------------------
| 10L to 1Cr | 50696 |
------------------------
| 1Cr to 10Cr | 16323 |
------------------------
| >10Cr | 1844 |
------------------------
Count: 5
From the column DATE_OF_REGISTRAION parse out the registration year. Using this piece of data, calculate the number of company registrations per year. Print out the result of your calculation in table format using ConsoleTables.
In this problem filter only the records for the year 2015. Then count the number of company registration by "PRINCIPAL_BUSINESS_ACTIVITY" and print them out in table format, similar to the previous tables.
For this problem, count the number of companies, grouped on both the year and "Principal Business Activity". Also, restrict the years to 2000-2019.
The output should look like this ...
--------------------------------------------------------------------------------------------------------------------------------------------
| Principal Business Activity | Counts |
--------------------------------------------------------------------------------------------------------------------------------------------
| 2000 | |
--------------------------------------------------------------------------------------------------------------------------------------------
| Agriculture, hunting and related service activities | 70 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Forestry, logging and related service activities | 6 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Manufacture of food products and beverages | 92 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Manufacture of chemicals and chemical products | 67 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Manufacture of basic metals | 35 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Wholesale trade and commission trade, except of motor vehicles and motorcycles | 418 |
--------------------------------------------------------------------------------------------------------------------------------------------
| Financial intermediation | 84 |
When you are done with the project submit the URL of github repository.
NOTE your repository should have a README.md file with instructions to run your project.