• Post Reply Bookmark Topic Watch Topic
  • New Topic

New to programing and in need of an proffesional advice  RSS feed

 
Konstantin Nenadov
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello everyone,

After 20 years of making music and producing it I decided to go back to my old love from school days. Back then we learned Basic and Pascal and it was so fun to see something happening on a screen you made
Right now after lot of talks with my friends i took advice to start from Java and go to C after so I can decide where I wanna go as a programer in the future.
My question for you to be sure if i started in a good direction is this:

I`we started with Programming Methodology CS106A from Stanford Universety with proffesor Mehran Sahami.
It is amazing how good he teach and I got to the point that i cant wait to see my wife going to work and set kids to Kindergarden and School.
Got the book "TThe Art and Science of Java" by Eric S. Roberts.
Consider going trough all lectures and do all the work students are doing it.

Is this a good path to learn Java and are there some other stuff I could take as addition to my understanding and tests for learning.

Thank you in advance

Konstantin
 
Les Morgan
Rancher
Posts: 779
19
C++ Java MySQL Database Netbeans IDE Oracle Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are learning Java to start out programming you are doing it, IMO, all wrong. My standard advice is that computer programming is a problem solving approach that is applied to developing a specific solution, in this case a computer program. Java is only a tool in a toolset, you need the set of skills known as programming to really get going. Now that I've said that, how do you learn programming--by applying the tool to that problem you have already solved. In other words--don't start out trying to sling code--solve the problem, and then use the tool for implementation of your solution.

Just like the saxophone my be your instrument of choice, you can still create a melody and change keys, allowing you to continue the arrangement for the trombone, trumpet, flute or other instrument.

Programming is very similar. Java is just a tool, C is another tool, there are a host of web scripts, and other languages that you may at one point or another choose to use, but those programming skills, and talent to solve the problem, are what is going to enable you to move through the industry, technology, and your career working on the cool stuff that comes around.

Learn the programming structures and how they are applied, the data structures and what makes them unique and well suited for each type of situation. Learn how to analyze the problem and break it down into solvable component pieces. One of the most daunting tasks in programming is to teach a new programmer how to break apart a problem so you can solve the many intricate parts and then reintegrate the pieces to make the whole solution. The old saying is: you eat and elephant one piece at a time.

When you can do that, then you are ready to program.

Far too many people start out by saying: I am going to learn Java, or insert language of your choice, so I can be a programmer, but they never learn how to do the problem solving, hence, they never learn to really program.

You are going to need some math skills, if you did well as a musician, you probably have the aptitude for the problem solving and higher thought for learning math--trig, algebra, and geometry; along with number systems and number theories. Math will be and should be your friend.

Best of luck, and if you need anything: drop a note in the forums and I'm sure you'll get some great ideas.
 
Les Morgan
Rancher
Posts: 779
19
C++ Java MySQL Database Netbeans IDE Oracle Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Konstantin Nenadov wrote:Hello everyone,
I`we started with Programming Methodology CS106A from Stanford Universety with proffesor Mehran Sahami.

This line coupled with your other statements leaves me a little confused--if you have chosen to do formal education, then I applaud you--IMO, it is the best path.
 
Liutauras Vilda
Sheriff
Posts: 4928
334
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Great set of advices, Les, have a cow

By the way, I believe OP refering to this course.
 
Konstantin Nenadov
Greenhorn
Posts: 3
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thak you Les but you made me worried. Math in general was my biggest nemessis in school all the way while chemistry for exsample was my favourite class. Doing thinngs while making it was my thing (like cooking, you see what you are doing ).
I didnt want do dive directly into programming till I get a solid background and as you stated learn to break up a code wich is part of the class i mentioned. As I have learen so far: "Top down" and "Bottom Line" breaking the code till i get to primitive lines
Vilda posted the link to path I took. It is full quater semestar from Stanford University. As proffesor said: "All you need to know to learn Java is to know how to turn of Computer or even know when the computer is ON".
So I took it all from the beggining cause I think that will make me think like the programmer at the 1st place and I think that is a common ground for advancing and understanding coding in the future.

Thanks a lot
 
Campbell Ritchie
Marshal
Posts: 56599
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

You will be surprised how little maths you need for most programming.
 
Konstantin Nenadov
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:Welcome to the Ranch

You will be surprised how little maths you need for most programming.


Thank you
 
Les Morgan
Rancher
Posts: 779
19
C++ Java MySQL Database Netbeans IDE Oracle Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Konstantin,

I do not seek to diminish your resolve in any way, but have to say, check the required course work for any Computer Science degree and see what is required. You will find core in all of them that algebra, trig, geometry, number systems, logic, and optimization and symbolic information representation are required as core classes. They do that for many reasons, but, IMO, you are choosing to enter a world defined by Mathematical process and bounded by how much you understand and can imagine. In may cases that imagination is enhanced by a firm understanding on physics fundamentals--also highly Math centric.

With Chemistry as one of your favorite classes, I fail to see where Math would be a problem. Chemistry is described through Math--from HS through my college years I enjoyed Chemistry classes and labs very much. But each had a high expectation that you had very good Math skills to use in understanding and following the Chemistry line of course work.

You do not need be Albert Einstein or Isaac Newton, but you do need to have those fundaments already mentioned as resources to draw upon from your collection of skills.

Les

BTW: have you ever heard the expression: "As I think, so am I?" I have seen may people that have said: "I am not good at Math." In reality what it has turned out to be in almost every case, is that they missed something along the way, so they have difficulty with one or more early concepts. When they have been faced with a "do it or give up" situation, they have found that Math is not that evil demon thy have always portrayed it to be. Yes, they had to go back and find what concepts were giving them the trouble and learn them, but when they met the challenge head on, they found they were more than equal to the challenge. Probably, so are you.

Konstantin Nenadov wrote:Thak you Les but you made me worried. Math in general was my biggest nemessis in school all the way while chemistry for exsample was my favourite class. Doing thinngs while making it was my thing (like cooking, you see what you are doing ).
I didnt want do dive directly into programming till I get a solid background and as you stated learn to break up a code wich is part of the class i mentioned. As I have learen so far: "Top down" and "Bottom Line" breaking the code till i get to primitive lines
Vilda posted the link to path I took. It is full quater semestar from Stanford University. As proffesor said: "All you need to know to learn Java is to know how to turn of Computer or even know when the computer is ON".
So I took it all from the beggining cause I think that will make me think like the programmer at the 1st place and I think that is a common ground for advancing and understanding coding in the future.

Thanks a lot
 
J. Kevin Robbins
Bartender
Posts: 1801
28
Chrome Eclipse IDE Firefox Browser jQuery Linux MySQL Database Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm going to agree with Les in that many people who are "bad at math" just need a better teacher. Math teachers usually have very advanced degrees and they often find it difficult to communicate simple concepts in a way that's understandable to the student. I once had an algebra teacher that should have been working for NASA. He got very frustrated trying to teach us concepts that were just second nature to him.

So I have two sites to recommend. Math is Fun is a good place to learn math with clear, simple examples.

Another is Project Euler. This site has programming challenges and it demonstrates the type of math problems that you might encounter in programming. Once you've solved the problem, you get access to a forum where you can see how other people solved the same problem. Warning: some of the problems on this site are very difficult. Don't get discouraged as you are unlikely to encounter such difficult problems in the real world outside of maybe engineering, but it's a great learning experience.
 
fred rosenberger
lowercase baba
Bartender
Posts: 12565
49
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:You will be surprised how little maths you need for most programming.

I could not disagree more. Programming - ALL programming - is nothing BUT math.

Let me explain my perspective though...

Math is not about crunching number. Math is not about computation, calculation, knowing 500 trig identities, or how to do differential equations.

Math is about ANALYZING problems and breaking them down into small, discrete steps. You don't prove the Pythagorean theorem in two steps...you do it in small, bite-sized, easily understandable steps.

You prove one theorem. Once you've proved that, you don't bother proving it again, you simply start using it, because you KNOW it's true.

this is EXACTLY what you do when you program. you write small, tiny chunks that are easy to understand.

You write a method once, and then simply use it from that point forward.


IMHO, all the math requirements are not because you need to know how to do a triple integral, but because you need to know how to approach, break down, and analyze a problem. THAT is the real purpose of math class.
 
Campbell Ritchie
Marshal
Posts: 56599
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
But people will happily work out that sort of thing who go funny colours when you ask them what the square root of 169 is. Maybe I should have said, “scary mathematics”.
 
J. Kevin Robbins
Bartender
Posts: 1801
28
Chrome Eclipse IDE Firefox Browser jQuery Linux MySQL Database Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Scary math to me is stuff like the Traveling Salesman problem. I still don't understand the math behind that one.

Fortunately, 99% of the stuff that most us do is pretty basic. That and we have libraries that have already solved many of the basic math functions for us.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!