Hello:
First let me say that I am totally new to programming. I'm attempting to get my son interested in programming. Right now he's all into his Xbox and can't really appreciate all that goes on behind the scenes to make those games come to life.
I learned about Scratch while doing some research on the Raspberry Pi. I was planning on both of us learning Python as I heard it was a good programming language to start with. After comparing both Python and Scratch, Scratch appears to be a better way to go. Programming can be intimidating and I don't want to scare my son off. So my question is this:
1. Would you agree that Scratch is a better starting point than Python?
2. Since I am an adult, learning Scratch along with my son will give us both an opportunity to learn and grow.
3. Is there any other advice that you can give to a 40 year old attempting to learn programming...:-)
Any advice you can give is greatly appreciated.
Thanks in advance
Offline
First off, Welcome to Scratch!
I would say that scratch would be a better language to learn first, it is very user friendly.
3. One good thing, You already know all the mathematics that are used in scratch. Like what a Variable is. And you might get a deeper understanding of it because of life experience. You could help your son a lot, I would just recommend playing around with it before trying to make some big grand project .
Offline
Welcome.
Offline
Scratch is definitely better for beginners. It teaches about controlling the program and logic and algorithms, which is essential in programming since not all programs are linear. Also, you're not going to do anything very visual with python, since it just runs in a program similar to DOS called the command line (or the terminal if you're on OS X or Linux). Try making a couple of games, and read some books, and then you could start with other languages. Go is a new Programming Language by Google which is similar to another one called C, but is simpler and easier to use. It's fairly young so you can't expect it to be very well documented, but there are lots of resources you can find on the internet. It uses the command line, but once you master it, you'll be able to tackle new languages. You might need to read a bit on compilers and interpreters, and the difference between them. After you learn Go, you could try the Love2D framework for making games. Love2D uses a language called Lua, which is focused on being far away from the hardware. It's not very difficult to make a game with it, and they have a very friendly community. You could also give PyGame a try. PyGame uses Python, and it comes preinstalled in the raspbian OS for the raspberry pi. If you want it for Python 3 instead of 2.7, you'll need to download a pre-release. You could also give JavaScript a try. With HTML5, you can make games without plugins. It's fairly complicated, but by then you should have enough experience. There are code libraries, that simplify writing code too. Html5rocks.com is a great resource for learning how to use what HTML5 has to offer, as well as the Mozilla Developer Network. If you learn HTML and stuff, you could even purchase a domain and pay for hosting, and share your projects with the world! It would really help your son find a job, too. Then, you could learn C which is very similar to Go (or vice-versa) but more complex, and then C++. C++ is C with object oriented programming. You could then use the OGRE3D Library to make a 3D game. That would give you guys some serious bragging rights. Then, you could ultimately develop games for the Xbox 360. (xbox.create.msdn.com/en-us) and publish them as indie games. The tools are free. In fact, I'm sure you could do everything I just said, without spending a dime!
Phew. That was big. Good luck!
Offline
Yeah. scratch is a good programming software . But if Ur child's age is greater than sixteen u should teach him scratch and python both else u can teach him both . Scratch helps in algorithmic thinking and graphics , python helps in syntax programming .
Best Of Luck !!
Offline
Yeah. scratch is a good programming software . But if Ur child's age is greater than sixteen u should teach him scratch and python both else u can teach him scratch . Scratch helps in algorithmic thinking and graphics , python helps in syntax programming .
Best Of Luck !!
Offline
Hello, wda1906! Welcome to Scratch!
1.) Well, Scratch is a really good starting point if you're trying to teach your child programming (In fact, even yourself, really.). I'd recommend it far more than Python, or pretty much any language in general. It's really basic, yet you can get pretty advanced with it in the future.
2.) Sure! Scratch is for all ages, so it wouldn't matter if an adult or child is using it.
3.) Well, the only advice I can give at this very moment is to ask for help if you need it, a good forum to check out would be the Help With Scripts forum if you need help with anything, or are having trouble developing a good solid script. The Scratch Wiki is also a good source for getting some programming knowledge about Scratch, and it's also very helpful!
Offline
(wow, this might be wordy, lol, sorry about that)
Programming is something which should be pursued by an individual if-and-only-if it interests them; directing someone to program so they can learn can be a joyless experience for all parties involved.
However...if a certain game-console was to suddenly need a trip to the "Factory" and the DNS address for steampowered suddenly became 127.0.0.1 (along with things like newgrounds) and the only alternative gaming website was Scratch.mit.edu then maybe, just maybe, Scratch would have a chance.
As charming as I've found Scratch itself after enduring scripted/compiled languages used in the "real world" the desire to create things and being entertained by creating things is the most important measure of what an individual will do with something like Scratch. If all I had was wood-working tools I'd be making furniture, building homes, and creating wood-cut art.
If you can eliminate the competition you and your son "might" have fun with Scratch--and that's if you can somehow make doing things which take time and effort in Scratch more fun than the instant gratification of a game console. I tried and I failed and I don't feel bad because it's not a fair fight. The companies which develop game consoles and the companies which produce the games are two well funded armies that no parent can fairly compete against. Based on my experience you will get more from Scratch than your partner will.
And as for advice on how to learn programming...
-Think on paper before you sit down to play with Scratch. Make it your goal to know exactly what you're going to do before you even open Scratch to start. And do all your planning far far away from any computer.
-Figure out what you don't know how to do to in Scratch. The part which seems the worst/hardest to accomplish needs to be the first thing you work on. Create an outline and stick to it. Check the wiki if you don't want to create a proof-of-concept.
-Share what you have created. Honestly, most people here will not give you any feedback unless it's well-deserved or asked for. Sharing your work takes you out of Hermit-mode and makes you part of a community and will hopefully motivate you to make better code. Don't wait for your code to be perfect either. Just share it and worry about the warts later.
-Don't be discouraged if you have shared something and nobody comments on it. If you make something which makes you happy you have won. And really-really keep that in mind when you ask anyone at home to come over and check out your latest awesome Scratch project.
Offline