Hello, you can achieve this by two ways
1--Extract the data from flat file and then Pivot Transformation in ssis and finally load into your destination table. To configure Pivot Transformation is little confusing sometime when you are doing first time.
here is link , you can follow step by step to configure it.
2--Create your stating table
CREATE TABLE dbo.MyStatingTable( Studentid int, StudentName varchar(30),Subject VARCHAR(30), Grades INT)
Load the data from flat file into this staging table, See the columns are exactly matching with flat file columns, just dumping data into staging table.
After dumping data , Write this TSQL Query and use this in Execute SQL task to load the destination table
FROM dbo.MyStatingTable PIVOT ( MIN(Grades) FOR Subject IN ([Science], [Biology], [Math]) ) AS PV