# Need Advice from Engineers & Successful Programmers



## Hrishi (Jul 25, 2013)

Okay guys , I am not an Engineering student , though I am Science Graduate.(Computer Science. Bsc.IT)

I was wondering what all courses , topics do you guys usually study in your regular B.Tech course that practically helps in Programming and Coding.
Something that has real use and implementation when you actually code and design Web application and User Applications. 

I am trying to learn programming in detail so I can focus on a career, but I don't think just knowing the programming language and concept is healthy. Can you please focus on things I should learn that might help in developing innovative apps. other than ( innovation and market knowledge.) ?

please don't be sarcastic..


----------



## deepakkrishnan (Jul 25, 2013)

Since you've done BSc. IT you'll be familiar with the term Algorithm. To learn programming one has to understand algorithms. If you can design or figure out an algorithm then 70% of the battle is won. The next 30% is for changing the algorithm into code using a programming language. 

So the one thing that a person trying to program should learn and improve is how to design an algorithm. Once that has been taking care off then you can start coding and after multiple tries you'll find the most optimum/efficient method to code. 

Just My 2 cents !!!



krishnandu.sarkar said:


> You should build the logic and process of thinking.
> 
> You use C / Python as starting language, as Python syntax is easy to grasp and helps one to focus in building logic instead of going deep into what the language can do.
> 
> Data Structure is must, as it helps one to implement things with which what he/she learn and clears the concept and focus on many small things which one might not have focused while learning programming languages.



And what krishnandu said


----------



## Hrishi (Jul 25, 2013)

deepakkrishnan said:


> Since you've done BSc. IT you'll be familiar with the term Algorithm. To learn programming one has to understand algorithms. If you can design or figure out an algorithm then 70% of the battle is won. The next 30% is for changing the algorithm into code using a programming language.
> 
> So the one thing that a person trying to program should learn and improve is how to design an algorithm. Once that has been taking care off then you can start coding and after multiple tries you'll find the most optimum/efficient method to code.
> 
> ...



Thanks for your advice.
So can you suggest some good materials for learning algorithm ? And also what part of mathemtics should I focus on to develop better logic , like permutation , combination ,etc ?

Also , I have already learnt C# and PHP languages , so will learning python from scratch will be helpful ?? I am quite familiar with OOP in C#.

BTW , Where is krishnandu.sarkar's post ?


----------



## dashing.sujay (Jul 25, 2013)

^click on that post's link to see where it is


----------



## mitraark (Jul 25, 2013)

I may be receiving some flak for this , but here goes.

Think small first. You need your basics to be strong. Instead of grabbing every "must have" book you can get, i'd suggest get familiar with everything that is there in a basic C book ( Let Us C ) or C++ Book ( ANSI C Balaguruswamy) If you have good grasp over the basic that'll make you prerpared enough for most of the IT interviews.

Learning languages is always helpful, but to be honest you would be better off being a master of a single language than the jack of all. The logic needs to be learnt , there are few syntactical differences between the popular languages.

Apart from Programming, you'd want to know bits about Data Structures (if you haven't already explored programming with various data structures ) , Algorithms, Software Engg. ...

To know good programming problems, visit sites like stackoverflow ( a bit advanced ), carrercup ( questions from high profile IT interviews, really great site ) and even Indiabix ( the simplest of programming problems are there, which might seem trivial but it helps to know )

I can't recall any other points right now. Don't consider all of this as studying, take up interesting projects ( the best learning comes from practical projects, never shy away from one ), learn all the interesting stuff about programming, that's all there is i guess.


----------



## deepakkrishnan (Jul 26, 2013)

Algorithm : Introduction to Algorithms | Electrical Engineering and Computer Science | MIT OpenCourseWare

for his quote : *www.thinkdigit.com/forum/education/176071-oracle-java-course-vs-c-asp-sql-course-niit.html#post1979587



Rishi. said:


> And also what part of mathemtics should I focus on to develop better logic , like permutation , combination ,etc ?



Graph Theory, Permutation and Combination .


----------

