tags:

views:

198

answers:

7

Hi all, I like to learn computer science and programming, but i don't know where and how to start. For the past two months, i have been researching on types of programming, i found my interest in desktop programming, and also found this subjects (discrete maths, logic, algorithms, data structures, artificial intelligence, simulation) said to be a most known (subjects). Well as a beginner, i have no understanding on what type of language or books that can cover all these subjects, or even how to write any code.

Secondly, am as young as you can guess and i need a language to start with that will be easy for me to understand, and books to read. Thank you.

+1  A: 

I would start by getting this book:

Hello World

and this book:

Code

Kevin
Code may be a good but, but definitely not for the beginner. Petzold is way too in depth.
Tom
It's in depth but it's very incremental. It starts basic and builds well. At least I found this to be true when I first read it.
Andrew Flanagan
So what about the books i posted above, are they not neccessary?
Josiah
@Josiah they are, but in order to fully understand them, you'll probably have to start a little more basic and work up to them. A lot of concepts build on each other and many advance books assume prior knowledge.
Kevin
So what are you insisting on.Thanks.
Josiah
A: 

Theory is nice and also important, but my interest started with hands-on code. There is really nothing like making the computer do what you want. Ivor Horton seems to do a good job of introducing programming concepts with Java (see http://www.wrox.com/WileyCDA/WroxTitle/Ivor-Horton-s-Beginning-Java2-JDK-5-Edition.productCd-0764568744.html). PHP, Ruby or Python are also pretty good choices for your first programming language.

Tom Cabanski
Do you mean java?
Josiah
+5  A: 

You might want to look at Python (python.org). If I were going to teach a programming language to beginners, I would probably teach Python.

Most of the software is free and open source -- you can download it from python.org, including several free integrated development environments (IDEs). About the only thing you might want to buy is a good book (maybe "Learning Python", by Mark Lutz).

Ralph
Can python be used for desktop programming, or easy to learn and not confusing?
Josiah
Python can be used for desktop programming. The IDE that comes with python is written in Python.
Ralph
Can python be use for developing an anti-virus?
Josiah
You stated that you are a beginner. You need to concentrate on learning the fundamentals of computer science before you start building complex systems. Having said that, I do not know if Python can be used for writing an anti-virus.
Ralph
+1  A: 

If you want a great way to start learning web programming check out www.phpvideotutorials.com. His free videos are a really good starting point.

Also focus on getting cool stuff done that interests you. Don't worry about coding algorithms when you are starting out.

codingguy3000
(Cool stuff done) like what?
Josiah
Cool stuff done. How about learning how to build a simple blogging system. Or how about learning how to build a simple shopping cart.
codingguy3000
Okay!Can i start with php, then move over to python.
Josiah
If you are interested in python then you should learn python. You can do well with any language. I recommend PHP as a starting language because it is widely used. I also like the fact that you can go to www.elance.com and find paid projects where you can earn some money while you learn. This is a great motivator. You can do the same sorts of things with python, but python only has 21 jobs posted on elance while PHP has 718 jobs posted. You are going to find it easier to find a simple beginner PHP job to bid on.
codingguy3000
A: 

I'd say that it depends what kind of applications you want to write and possibly what OS you use. If you want to do Web programming you'll probably want to use different languages than if you want to do desktop apps. And if you use Linux you'll probably use different languages than if you're on Windows.

If you want to learn to write desktop apps for Windows I'd suggest VB.Net, partly because many people see it as a beginners language so I find that many tutorials for VB.Net starts at quite a basic level and it's usually easy to find easy information on google for it. You can download Visual Studio Express for VB.Net for free.

I've never read any beginners books for it so can't recommend any I'm afraid.

ho1
So where can i get a tutorial for VB.NET
Josiah
Just search for "learn vb.net" in google and you'll find plenty of them, for example the top link when I search http://www.homeandlearn.co.uk/net/vbnet.html seems promising with very basic lessons. I think there might also be some tutorials included with Visual Studio Express, but not sure what level they're at.
ho1
So what books can you recommend among those i listed above.
Josiah
Can't see any list of books? As I said, I can't really give any good recommendation since I haven't read any, but *Learn to Program with VB.Net 2008 Express* does look suitable for a beginner.
ho1
A: 

One of the BEST books I've read on learning Object-Oriented Programming is called "Objects First With Java" It uses an IDE called BlueJ which is designed solely to teach Object-Oriented Programming to newbies.

http://www.bluej.org/objects-first/

I don't write much in Java but it's very similar to any of the modern C-based languages.

If you want to learn OOP, I'd seriously recommend this book. Tied with the IDE (BlueJ), it's an excellent learning tool!

Atømix
+1  A: 

I suggest for you, a simple made and fast sadisfaction developing language, with a huge community, thousands examples and a lot of skilled people (also here on SO) and it's PHP.

PHP it's designed for web applications but it can also be used just as a console and it can help you to understand most of the basic concepts of like variables, operators, structures and it's very easygoing. After that you can move to another language with a little effort and you have the base of a very useful tool.

Starting it's very easy to, just download an installer and a text editor:

  • Windows: EasyPHP as installer and PsPad as editor
  • OSX: XAMPP as installer and Text Wrangler as editor
  • Linux: Bluefish(Gnome) or Kate(KDE) as text editor and search your packet manager for "LAMP"

and follow the install instructions.

Now you are ready to go, just create your first file in the proper directory (refer to the installer documentation) and surf with your browser to http://localhost/ find a good tutorial for beginners or wannabe and use often the documentation on php.net it's very well written.

Cesar
Note that, besides all the very skilled PHP people, there is also a huge number of unskilled people throwing very crappy code out onto the web. Add to that the long history of PHP; nearly all code from the pre-PHP5 era is a bad example. As a beginner, it's hard to tell the good from the bad. This is why I would advise against PHP as a first language.
Thomas
The best part of PHP for a beginner is a very easy entry level so he can easily learn what is a "Variable", he can start from hello words without knowing what is a class or an object. But of course, he needs also a book about it, because he need theory and rules.
Cesar
Thanks, what can i use php to develop(simple or complex)
Josiah
The first use of PHP it's web-oriented
Cesar