I want to learn more! but dont know where to start

      Ok so I have a vary basic understanding of Technologies, more than the average person. I would say I know just enough to really mess myself up. I'm not really sure where to start. I have lots of places I want my knowledge to take me but there really is no end destination. I guess ill start with listing the things I do know and have done.
My venture into the computer world started with building my first computer. don't worry I wont go into detail about what it was. I have since built 3 computers all running Windows 7. I have done some experimenting with Linux but really was just blindly following Instructions on how to do it and never really grasping what is actually happening, for example: I recently installed Debian on my net-book in hopes it would run faster. It did but I had no WiFi. A quick Google search found the right drivers for Linux. However the build I was using was not as simple as windows. Back to Google. I found instructions that had me typing commands into the CMD. While I was completing the task, I had no idea what exactly I was doing. In the end it got me to my goal. But what did I do?


     I just started going to Collage for Software development, and would really like to get a head start on what im going to be learning. Are there any simple programming projects for begginers that I could complete with little to no experience? Something that would actually teach me? Is there a Linux Distro out there with the sole goal of teaching a complete noob how to develop his own version of Linux? What are the texts I should read and use as reference to aid me in expanding my knowledge? How did you guys learn? Did you teach yourself? what were the mistakes/misconceptions that held you back, and how can I avoid this?

grab all the free ebooks you can there are tons of them available. do a project your passionate about thats the best way to accelerate your knowledge.

You should learn how to install Arch Linux or Gentoo from the command line.



If you can install these Linux distros then you can install most other ones too.

You should also learn a programming language like C or Python.



This will increase your understanding of the operation of a computer.

Or, if you're interested in the mathematics and science behind computer systems, you should learn some calculus, complex numbers, electromagnetism or circuit theory.





If you know the fundamentals of the mathematics, physical sciences and electrical engineering, you will increase your appreciation of computer science well beyond that of a normal user.

I appreciate your guys input so far. I think I'm going to set a goal for myself.... Make a program to run a usb LCD display. More specifically the LCD on my Logitech G510s keyboard. From what I understand Python is mostly English based (as apposed to symbols) and is pretty universal, so I should (in time) be able to reach this goal with Python alone right?

Another question: Will learning C make learning C++ less difficult?

While not entirely computer related, it was something that sparked (again) my interest in "technologies". Get an Arduino starter kit. It teaches you basics about electronics and coding. The book included in the kit lets you build cool projects in no time. You will be able to drive a 2*16 LCD screen in a little over an hour and adore your creation as long as you want =). While on expensive side (~$120) it is a cool kit to explore your passion with technology.

Forgive my Ignorance, But is this similar to a Raspberry Pi?  I know of a few kits that are similar that use a Pi and are slightly cheaper. The problem is that I don't think there really geared tord people of limited knowledge. Can the Arduino be used the same way as a PI?


I have not used Raspberry Pi myself but from my knowledge they are different in some ways. Arduino is a very basic board that lets you drive things like LEDs, motors, some screens, piezos and etc. You can program it to read data from all sorts of sensors and build your own logic between sensors and actuators (motors, etc). It will NOT give you usb ports, video output or linux environment to mess around. 

Overall, Arduino starter kit is designed for people without previous knowledge and concentrates on basic electronics and programming. You can see here what is included in the kit and what kind of projects are in the book.

If you come across a kit for Raspberry Pi, make sure it is beginners friendly

OK, it looks like you are about where I was a month ago, except a few small differences.  From what I have learned, the more knowledgable can correct me if I'm wrong, there are a few planes of programming  There are several programming languages, and not all do the same thing.  Some languages like C/C++ get compiled, or essentially translated into binary or machine language and are base processor level commands.  Python code, from the ebook I picked up, seems to be english with a seudo mathmatical syntax and undergoes changes through the Python program from code to OS calls, and because of this, it is the base Python program and not your coding that changes, so you can write the code on a Windows machine and have the code file work on a Linux/GNU machine and vice versa. Then there are HTML programming languages like Java that work through browsers.  My guess is that your school will touch on C++ and Java seeing that employers are hiring Java script writers and C++ is the "updated" basic binary compiling language.

I am obviously no expert but just on what I read about python today is that the 3.0 to newer ones are not compatible with operating systems made before it. but the features have been back ported to Python 2.7 witch is pretty universal. Or I just sound like a babbling idiot that has no idea what hes talking about. lol

Stick with Debian and read through this (or do either of these online tutorials) to get you familiar with working in the terminal. If you ever get stuck, it's perfectly fine to Google a solution just as long as you take the time to try and understand what's going on when you're doing it (which requires you to have some sort of base knowledge, like what I linked you to).

Read SICP and/or watch the MIT 6.001 lecture series. Provides a good foundation for programming and gets you thinking the right way from the get-go.

The last few days I've been working on Visual studio and learning the fundamentals of C#. But I think its time for a brake and I'm moving on to your suggestions. I skimmed though the "Learn UNIX in 10 min" And it looks vary useful and I think I'm going to mess around with it some. Thank you!

Well following my last post i ran full speed into a brick wall. I decided to set my computer up for duel booting Debain. Long story short grub refuses to see Windows 7. Heres who its set up. i have 3 drives first is for windows, second for media, and the third i had laying around so i stuck it in my computer and installed Debain. Now Debain Launches just fine but Windows has stopped booting. I can see the files are still there and obviously Grub did something with the bootmgr for windows. Anyone know how to make windows work for grub and be able to put it in terms that a baboon can comprehend?  I think i found my possible resolution here: http://ubuntuforums.org/showthread.php?t=1921420 but it just does not compute.

sorry for having so many posts but it just hit me that they are using windows to enter these commands. now I feel dumb and I got my windows 7 back.