Konstantin Nenadov

Greenhorn

Posts: 3

posted 1 year ago

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

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

posted 1 year ago

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.

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.

Out on HF and heard nobody, but didn't call CQ? Nobody heard you either. 73 de N7GH

posted 1 year ago

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.

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.

Out on HF and heard nobody, but didn't call CQ? Nobody heard you either. 73 de N7GH

Konstantin Nenadov

Greenhorn

Posts: 3

posted 1 year ago

- 1

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

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

Konstantin Nenadov

Greenhorn

Posts: 3

posted 1 year ago

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.

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

Out on HF and heard nobody, but didn't call CQ? Nobody heard you either. 73 de N7GH

posted 1 year ago

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.

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.

"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." -- Ted Nelson

posted 1 year ago

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 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.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Campbell Ritchie

Marshal

Posts: 56599

172

posted 1 year ago
"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." -- Ted Nelson

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.

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.