# Want/ maybe need to learn computer program but where to start?

#### roll cast

Joined Apr 3, 2011
11
I want to learn a computer language, I really want to study either electrical engineering or something similar at university. Now that I have started to learn about more advanced electronics and especially pics I have realised that I will need to learn something even if its just to help me with programming pics.

I'm not sure where I should start though, I didn't pick either ict or computer studies for gcse so I can't get any help there. I'm thinking on Python maybe to start me off as I learned a bit of that a while back.

#### Georacer

Joined Nov 25, 2009
5,182
Do you want to be focused only on electrical engineering or have a general knowledge on electronic and software matters?

I would suggest the latter, with a start on Basic. After you get the hang of the logic involved in programming you could go on to C. After that, a very useful step towards electronics would be to pick a microprocessor and learn its assembly language.

Good luck and keep trying!

#### MrChips

Joined Oct 2, 2009
22,874

#### samin

Joined Oct 14, 2011
32
First of all, There is no language to begin programming, programming is at least on paper starts with algorithms. Of course, to test the algorithms, it may be comfortable to do it with a programming language, but in this case, the only thing I recommend is a simple language, no object, no graphics. The choices can be Basic, Pascal, Python..
Then, it is fashionable to have an idea about the different types of languages, of what a compiler and other general things.

#### magnet18

Joined Dec 22, 2010
1,227
I first got started in liberty basic with a programming for dummies book back in middleschool, then TI basic (for the ti84) (beautifully simple, still my favorite language), and am now getting started with C#

you might consider an arduino project to give you a good goal, it runs on a simplified version of C++ (similar to C#)

#### panic mode

Joined Oct 10, 2011
1,868
All programming languages are about one thing - making computer do what you want. Much of programming is similar or same regardless of language (declarations, loops, arrays etc are same concepts, only syntax differs).

Basic such as VB.NET is easy to start thanks to friendly IDE. Good for PC programming where execution time is not primary concern. Same goes for any high level language like Java etc. Java syntax closely matches C.

If you are interested in hardware, learning C is what you want because you can use it to program just about anything. It will make you comfortable with any platform so you can switch brands (Atmel, Arduino, Zilog, Rabbit...) any time and still reuse large portions of code.

Assembler is way to go if you are using one platform most of the time or if you don't have much choice (restrictions like execution speed, memory use, etc.). Due higher learning curve, switching brands is not exactly convenient and code doesn't port well if at all. Power is in making that target chip do exactly what you want but you will not have much fun it if you plan to use certain things like floating point calculations etc.

#### ErnieM

Joined Apr 24, 2011
8,108

There are a few ways to get started for not a lot of money with these things. The cheapest is of course to just download MPLAB and some of their free compilers and try to simulate some things. MPLAB has a built in simulator so you can experiment with code for free.

That costs nothing and can lead to some good experiences.

But nothing is better then getting that first LED to light. The PICkit 2 Starter Kit ($49.99 list,$37.49 University Price) has both a PICKit2 for programming and debugging, plus a set of 12 lessons to get you to use this device, understand some simple programming and get you going. The lessons are all in both assembly and C. I actually don't recommend starting by learning assembly as there are just too many pitfalls for a beginner to get trapped.

The PICkit2 has been replaced by the PICkit3, and the DV164131 - PICkit 3 Debug Express for $69.99(scroll down 2nd item) (haven't seen University pricing) is another good place to start. Again you get 12 lessons (all in C) to start with. Both these kits have a small prototyping area so you can add some of your own parts when you run out of lessons to do. And my final recommendation is a BASIC Stamp kit sold thru Radio Shack: What's a Microcontroller BASIC Stamp Kit Catalog #: 276-625 for$99.99. The Stamp is one of a series of cool devices, its a PIC with a Basic Interpreter built in. You write programs on your PC and then upload to the Stamp.

#### magnet18

Joined Dec 22, 2010
1,227
And my final recommendation is a BASIC Stamp kit sold thru Radio Shack: What's a Microcontroller BASIC Stamp Kit Catalog #: 276-625 for \$99.99. The Stamp is one of a series of cool devices, its a PIC with a Basic Interpreter built in. You write programs on your PC and then upload to the Stamp.
Indeed, I forgot to mention that I used one of those too, and also highly recommend it. if you were to get the boe-bot kit from parallax you would also get one with a build in expansion board and a book full of lessons on everything from beginning to super advanced.