Hey, I have to do a computer project for 4-h and I have decided that I want to do something with computer programming.
I’m very new to this and I have no idea where to start, so if someone could point me in the right direction that would be great.
Hey, I have to do a computer project for 4-h and I have decided that I want to do something with computer programming.
I’m very new to this and I have no idea where to start, so if someone could point me in the right direction that would be great.
Does your school have any kind of a computer programming class? What programming language do they use?
If your school does have a programming class it might be a good idea to work in the same language and development environment. That way you can get help from others at school.
Unfortunately my school does not have very much going on with computers.
What’s 4-h? What kind of a project were you planning on doing?
I’ll suggest two options. Both are beginning level programming languages and have beginner level tutorials and study guides available.
LOGO
LOGO was one of the first languages I played with. It is beginner level but also pretty powerful. I did some of my college level computer science homework using LOGO just because I could and I thought it would be kind of funny to do. LOGO was able to do it.
There is a free version of LOGO available for Windows here: MSWLogo
Scroll on down that page to “Printed and Interactive Books” for some downloadable books and tutorials.
Second option would be Phrogram
But it’s commercial and not free. It will cost $30 for the language and possibly additional money for books.
The Phrogram web site is here: Phrogram
The Downloads area has the user guide and beginning programmer’s tutorial and other useful downloads. They also have a forum where you can get help.
In my college computer programming class, we used a programming program (lol) called ALICE. Its free and you can find it online. It was pretty cool I guess but its just an entry level program.
KH.
Ooh, that’s by that Carnegie Mellon inspirational speaker guy. Or he highly recommended it, or something. I’ve heard it’s good.
Python is a pretty easy-to-learn programming language, that’s what I used to learn the very base fundamentals of coding.
I love C++. It can be downloaded for free here
Visual Basic is nice for beginners who want to make their programs look good visually without having to learn alot…but it’s not free.
If you are on the Windows Operating system I suggest you start with Visual Basic .NET. You can get it for free on microsoft’s website here: Visual Studio: IDE and Code Editor for Software Developers and Teams and they even have a bunch of free tutorials/lessons to get you started.
VB .NET is based on the BASIC programming language and is one of the easier ones to learn. At the same time, VB .NET is still usable in real world applications and its pretty easy to get right into making windows programs with user interfaces which for most languages takes some more advanced knowledge first.
Otherwise I suggest you start with Java, it may be a little harder than some languages to get going with but its useful in the real world and many computer programming classes use it to teach. Theres plenty of free online tutorials for learning to program with Java: The Java™ Tutorials This was also my first programming language.
Other languages worth looking into include: python, ruby, scheme and C++.
EDIT:
As I posted, Visual Basic .NET express actually is free now.
My bad…aparently you CAN get it for free…I have VB Pro something or other.
They also have free editions of their other languages too. For anyone interested, this is a cool link to get you going in the direction you are most interested in with programming for Windows: Visual Studio: IDE and Code Editor for Software Developers and Teams
Visual Basic (VB), C#, C++, Java, and Python are all good and you can learn beginning programming with any of them. There are books for each of them that cover beginning programming. But they’re all complete languages with some advanced features and rather complex. That complexity can be rather daunting at first.
I suggested starting with Logo or Phrogram because those options are very beginner friendly. They’re interactive and let you play around to explore. Learn the basics first with Logo or Phrogram then move on to VB, C#, C++, Java or Python.
This is where I disagree. When most people start programming they want to see results right away and VB is perfect for that. Once they’ve played around with that a bit and have decided that programming is something that interests them they can play with stuff like Python or Logo etc to get a better idea about how a raw language works.
Visual Basic doesn’t give you results right away. If you want to draw things on the screen you have to write housekeeping code, you have to drag special things onto a form, yadda yadda, then you have to compile and hope for no errors. It is not instant result. It is not interactive.
Logo is interactive. Logo is an environment and not a pure core language. You can type a command and it is instantly executed. You can immediately start drawing on the screen with turtle graphics. You do not have to compile. It is very beginner friendly. There are tutorials and books that step you through and teach the basics. Once you learn the basics you can write some more complicated or advanced programs (like implementing standard computer science algorithms like bubble sort, quick sort, binary search, etc.).
Python is also interactive. But Python has some weird concepts that I don’t think make it suited for a pure beginner level language.
Once you’ve had your fun with Logo or Phrogram then you’ll be well prepared to start with VB, C#, C++, Java, or Python.
I was thinking that old-fashioned BASIC is still a good place to start (along the lines of John’s suggestions). It’s a small, simple language that you can fully grasp somewhat quickly. You are not lost in a sea of APIs, classes, GUI presentation, and complicated syntax. It’s interactive and interpretive – there is no compiling, linking, etc., nor any of the problems that go with it*. With a simple beginner language you are not overwhelmed.
I’m not sure I agree with Brian’s comment – “When most people start programming they want to see results right away and VB is perfect for that. Once they’ve played around with that a bit and have decided that programming is something that interests them…”
I come from a different era, so maybe the following is a bit harsh, but if you need to be entertained I suggest watching television. If programming doesn’t inherently bring you joy, then maybe it’s not for you. You can see results right away with a simple language. You have to learn about variables and input/output and loops and “if” statements in the beginning. Why confuse the issue with GUI programming? Text based input and output along the lines of…
10 INPUT "What’s your name? ", N$
… can be a great place to start. Logo is the graphical equivalent. And today, people have the advantage of rapidly advancing to other languages (with a sea of choices).
The real answer, to an extent, depends on the “requirements”. What do they expect from this project? How long do you have to write it?
Linking…
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/myprog.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
I think VB is the best way to throw together a proffessional looking program in the shortest amount of time. I learned it in grade 10, and found it extremely intuitive.
This is what I’m trying to say. I did a biology project using C# (which is similar in function but not syntax to VB .NET) in high school without a ton of programming experience in it and it looked and handled like a professional application. For someone wanting to do something like this and get useful results I suggest VB .NET. For someone to start learning about computer science and programming I suggest going the route JC is suggesting but for someone with not a whole lot of knowledge looking to first do some sort of project with programming, I suggest my route. After reading a very few simple tutorials VB .NET really is intuitive and easy to use. Maybe you guys haven’t played around with it since the VB 6 days, its a lot different now.
I think you guys are underestimating the ability of today’s youth to deal with real technical computer issues. I was programming in Java as my first programming language and building from the command line at age 12 completely on my own and I know plenty of others in the same boat.
I’ve looked at Scratch a bit, in case my kids some day show an interest. It’s for kids “from age 8 and up”, so a 14 year old, even one who is very new to programming, should have no problems. The sound and graphics are pretty easy to get to, so you get visible results fast. It uses the same basic building blocks (variables, loops, conditions, etc.) as all the usual programming languages, so it’ll be easier to move on to more serious programming tools after the first few projects.
c# or VB.net or both a good way to start.
If you don’t need a graphics user interface and have interests in math, Python is very educational and easy to learn. (you don’t need to be good in math for programming python, but people with interests in math tend to like Python a lot)
Python guide for non-programmers
download (windows installer if you’re on windows. Mac OS X and most Linux distributions have Python build-in by default.)
i like this guide
I never underestimate the power of young people. Yet I don’t think you should start with a language that is too far away from the bare metal. I’m not saying you should start with assembly language. Just don’t start with a language that is too abstract, such as one with object-oriented facilities.
BASIC sits high above the machine, but its loops, variables, assignment statements, branching, and “if” statements have machine language counterparts, more or less. Abstraction is fine, but you need to understand what it’s doing at the lower levels. I say start with those lower levels so that it’s ingrained in your thinking right from the start.
You don’t learn about sorting by saying sort. You learn about sorting by actually writing one. Too many levels of abstraction and too many libraries just put up a wall between you and what’s really going on in the machine.
LOL, hey Unreal-Wheel… did you expect this sort of reaction? We’ll get this figured out soon (or not).