-Demosthenes- Posted July 17, 2006 Posted July 17, 2006 I've been on SFN a little, but I'm learning how to budget time, in highschool I had hours of free time every day, now with a job and homework I don't always have time to do things for fun I'll be slowly getting back onto SFN, just need to cut down on the re-runs of Seinfield Anyway, I got interested in linux when I installed it on my laptop a couple months ago (with SFN's help ), and I've messed around with basic on my calculater (only basic math equations). I'm interested in computers, but I know very little about them I was wondering if there was a good book to start on, that's very general, so I can see what branch of computer science I might be interested in. Thanks guys.
5614 Posted July 17, 2006 Posted July 17, 2006 So do you want an academic book about the physical structure of computers? Or something like an introduction to programming? Or about using Linux? I think your post is too vague for me to really know how to reply! You can get books which are a basic introduction to computers and how to use them. But after that they really get more specific (generally). So what is it you want? You may end up buying a few different books to give you a bigger overview. That is, buying a few books on specific topics, rather than getting one book about everything. That is because each topic normally fills up a book, the only time there's really room to fit two topics in one book is either a very big book or in very little detail.
Dak Posted July 17, 2006 Posted July 17, 2006 Cant you just use the inter-web? If there's one thing that's well documented on the internet, it's computers/computing.
Anjruu Posted July 17, 2006 Posted July 17, 2006 Hmm...although thats true, it would be hard to find anything better than "lawl i heart computers." I mean, its possible, but it takes a lot of time to shift through the crap to find the good stuff. At least, it does for me. Print materials work better, I think. Do you have any good sites? You can do the crap-shifting for us!
Cap'n Refsmmat Posted July 17, 2006 Posted July 17, 2006 I'd tell you to learn a simple programming language, but you already seem to be learning BASIC on your calculator. Go with that - you can make some rather nifty games in plain BASIC. You'll learn all about loops and control structures that way, and it'll make moving to the next language easier.
-Demosthenes- Posted July 17, 2006 Author Posted July 17, 2006 So do you want an academic book about the physical structure of computers? Or something like an introduction to programming? Or about using Linux? I think your post is too vague for me to really know how to reply! You can get books which are a basic introduction to computers and how to use them. But after that they really get more specific (generally). So what is it you want? You may end up buying a few different books to give you a bigger overview. That is' date=' buying a few books on specific topics, rather than getting one book about everything. That is because each topic normally fills up a book, the only time there's really room to fit two topics in one book is either a very big book or in very little detail.[/quote'] That's the problem, I don't know any specifics So I'm really not sure what I would like Cap, I'll go start playing with Basic again, thanks. How do you do it on a computer instead of a calculator though?
Cap'n Refsmmat Posted July 17, 2006 Posted July 17, 2006 Cap, I'll go start playing with Basic again, thanks. How do you do it on a computer instead of a calculator though? You don't really have to. There is, of course, QuickBasic and Visual Basic for computers, but you can just as easily learn on your calculator. Alternately, you can try learning a simple language like Python.
5614 Posted July 17, 2006 Posted July 17, 2006 I say Visual Basic is a good first programming language. But get a book to guide you through it. I learnt from Computing projects in Visual Basic - D Christopher. Got it off Amazon. This is the one: http://www.amazon.com/gp/product/1903112338/sr=8-1/qid=1153172151/ref=sr_1_1/102-0040840-5070557?ie=UTF8 Although Visual Basic (the software compiler) is probably quite expensive, unless you get it via other means .
Dak Posted July 17, 2006 Posted July 17, 2006 Hmm...although thats true, it would be hard to find anything better than "lawl i heart computers." I mean, its possible, but it takes a lot of time to shift through the crap to find the good stuff. At least, it does for me. Print materials work better, I think. Do you have any good sites? You can do the crap-shifting for us! Well, it depends what you want to learn. Ones that ive found useful: http://en.wikipedia.org/wiki/Main_Page <General http://www.w3schools.com/default.asp <XHTML, CSS< Javascript etc (and other stuff i haven't learnt yet) http://www.albinoblacksheep.com/livedesign/ <Website design http://webmonkey.com/webmonkey/programming/javascript/tutorials/jstutorial_index.html <Javascript http://www.freenetpages.co.uk/hp/alan.gauld/ <python/programming
mooeypoo Posted July 18, 2006 Posted July 18, 2006 Also, in programming, it is very useful to take existing open source snippets, see what they do, and tweak them to see how they work and learn their structure. I personally use www.planetsourcecode.com for that goal, it's very useful for all languages, and all skill levels. ~moo
-Demosthenes- Posted July 18, 2006 Author Posted July 18, 2006 If I have any background in science at all it's in elementary biology and science fiction If it wasn't for the Ubuntu community my linux project would have utterly failed, I'm not sure how it all works, From what I've read visual BASIC is a program for editing a programming language based on BASIC, called visual BASIC? And this is different from the BASIC on my calculater. Also can I write something in a text file and save it as a program somehow...? I've been studying history for the last year, I'm afraid I am lacking in computer expertise . I'll certainly be reading more, I just don't know what to look for yet, thanks.
Dak Posted July 18, 2006 Posted July 18, 2006 ^ it depends on what language you're talking about. For example, with python you can just type something like # this is a practice program x = raw_input("what is your name?") if x == "Gumby McGoo": print "what a parculiar name" else: print "hello", x and then save it as 'blah.py' and, as long as you have python installed, it'll work. (to acomplish the same on linux, i believe you put /path/to/python/interpreter at the top of the code and just save it). stuff like C*, java, etc, i believe you need to 'compile' them. It might be good to play about with HTML for a while, as you'll have all the resourses you need on your computer (HTML parser (ie, web-browser), text-editor, and internet for learning), plus you can start to play about with javascript that way. But then, i'm only just starting to learn about programing etc meself, so that's not exactly 'expert advise'.
-Demosthenes- Posted July 18, 2006 Author Posted July 18, 2006 I'm having fun with python and html now. I'll see what I can do with these, and I'll move on to others later. Thanks Dak!
olifhar Posted July 18, 2006 Posted July 18, 2006 I say Visual Basic is a good first programming language. @5614 I think it's a terrible first programming language, unless it's to make you appreciate better ones out there. I admit I learned with QBASIC before embracing C++ and other things. I think Ruby is great, but don't know if all beginners would quite appreciate it. My roommate, who is not a programmer, has picked it up after only doing some Action Script and likes it very much. Glad to hear that you're liking Python so much. What's his name... Bram Cohen suggested in his blog that if one wants to learn to program, one should pick up Python, and if one additionally wants to learn more about the computer, one should pick up C. Just have fun and keep finding out things you're interested in, I guess that's the main thing.
Aeternus Posted July 18, 2006 Posted July 18, 2006 @5614 I think it's a terrible first programming language' date=' unless it's to make you appreciate better ones out there. I admit I learned with QBASIC before embracing C++ and other things. I think Ruby is great, but don't know if all beginners would quite appreciate it. My roommate, who is not a programmer, has picked it up after only doing some Action Script and likes it very much. Glad to hear that you're liking Python so much. What's his name... Bram Cohen suggested in his blog that if one wants to learn to program, one should pick up Python, and if one additionally wants to learn more about the computer, one should pick up C. Just have fun and keep finding out things you're interested in, I guess that's the main thing.[/quote'] I have to agree on the Visual Basic front, as a language, it is great for RAD, especially if you use Visual Studio and the GUI designer but apart from that it is just horribly ugly and people can get into far too many bad habits. (to acomplish the same on linux' date=' i believe you put /path/to/python/interpreter at the top of the code and just save it).[/quote'] Yes, for a script on linux you can use - #!/path/to/interpreter somecodehere Where in the case of python will probably look something like - #!/usr/bin/python import sys def fib (num) : if (num < 2) : return (num,0) else : b = fib(num-1) return (b[0] + b[1],b[0]) def fibonacci(num) : result = fib(num) return result[0] print fibonacci( int(sys.argv[1]) ) You can also pass arguments to the interpreter by just adding them to the line like - #!/usr/bin/python -v - basically #! just tells the shell where to pass your script for execution (ie you could have it passed to an app you made yourself just as easily). If you ever need any help with any of this, the irc chatroom is usually reasonably full and there tend to be several coders in there that would be able to help out if you have any questions.
5614 Posted July 18, 2006 Posted July 18, 2006 Aeternus: As I am someone who learnt on VB and have not done too much on other programming languages can you please tell me some of these "bad habits" so I can try and avoid them, if they apply to me.
Aeternus Posted July 19, 2006 Posted July 19, 2006 Aeternus: As I am someone who learnt on VB and have not done too much on other programming languages can you please tell me some of these "bad habits" so I can try and avoid them, if they apply to me. Sorry if I came on a little strong without much explanation, it was a little silly. First of all, I'm only talking about VB not VB.Net, I've had no experience at all with VB .Net and so simply can't comment on it. While my experience with VB in general isn't huge, there are quite a few things that I dislike about it - 1) Case Insensitivity This is done in other languages as well, but in general if you are looking at a teaching language, I feel that one that forces you to code with case sensitivity in mind will help in the long run. A lot of languages are case sensitive and for a reason and there are alot of standards on how things should be correctly named and things can end up in a mess when you realise for the 10th time that you've forgotten that something was meant to be capitalised etc because you aren't used to having to deal with this. 2) Visual Studio badness (at least as a teaching tool) While this isn't VB's fault and VB doesn't have to be taught in Visual Studio, it very often is, and teaching people with point and click programming, in my opinion just leads to disaster, with them simply not understanding what is going on underneath. Some people view this as a good thing, as it might allow people who haven't programmed before to get stuck in more easily but I think there are alot of other, just as accessible languages and tools out there that don't coddle people. 3) The way OOP works in VB just isn't good and I don't think it's a good way to learn this You can see here - http://www.informit.com/articles/article.asp?p=18230&seqNum=3&rl=1 - some of the features of Object Oriented Programming that VB left out, some of which seem to me to be pretty much pillars of modern OOP and yet VB doesn't offer them and so to do the same thing a beginner would have to implement work arounds and write unnecessary code which can have a bad impact. That's all I could really think of straight away, it's been quite a while since I've really done anything with VB so if I think of anything else I'll mention it. I'm sure some other users who have voiced a mistrust/dislike of the language in the past could provide quite a few more. Alot of the other things that I dislike about it are mostly syntax issues (such as the fact you have to specify when you want things to go across multiple lines with &_ etc and the fact that alot of keywords don't seem to be very descriptive in terms of what they do) but these don't necessarily affect teaching. There are several more things listed here although not all of them affect it's use as a teaching language, some do though - http://visualbasic.about.com/od/imhoinmyhumbleopinion/a/aaVerityStob1.htm I obviously didn't write this so I can't really vouch for it. I suppose some things would depend on who the target audience were for teaching. For instance, if it was being used to teach people who would go onto program then there are lots of arguments out there online about whether comp sci/software eng students should be taught lower level languages or high and what fundamentals the language should expose. If a person is simply learning a language as a hobby for basic DIY programming, then some things might not matter so much. I could be wrong on some of these notes here, they could have changed or I could simply be misinformed. If so, fair enough, please correct me. I'm not trying to attack anyone who codes in VB or learnt VB as a starting language. I'm sure whatever language one starts in they can do well, I just don't think VB does a good job of helping in this respect. I'm sure alot of my dislike for VB comes from irrational feelings built up to the way in which I have seen it taught in school and college to pupils, as some form of easy way out without really learning the fundamentals. No language is perfect and I'm certainly not saying Visual Basic doesn't have it's place but I just don't think it is a very good choice for a teaching language. Sorry if any of this doesn't make sense or sounds like rambling or similar, it is rather late here and well meh I'm sure someone will add to this or correct me / beat me with a clue stick in the morning
-Demosthenes- Posted July 21, 2006 Author Posted July 21, 2006 Hey, I heard of a book called Nuth or Nooth, or something like that. It's suppose to be about programming, but I can't find it. I also heard of a book on Linux that you can read on the internet called "Root." No amount of googling, on my part, can find them Can anyone else?
mooeypoo Posted July 23, 2006 Posted July 23, 2006 I actually think VB (NOT .net!) is an excellent teaching tool, since you have your results visually on the fly. I started my programming knowledge from a simple line in VB: One form, inside it one picture and a button. in the button_click routine, this line: picture1.visible = false This led to testing other properties instead of .visible, and other experiments, and snippet-reading and manipulation, and today I can program a full scale IRC program, or a DB program, and I moved on to PHP and C. it's true that it has its downfalls, like not using ; at the end of lines, like case sensitivity, like not encapsulating (like { and }) loops and such, but after you have general knowledge on how loops and conditions and a languge works in theory and practics, getting used to different type of syntax later on - in my opinion - is not that hard, and actually helps out in moving to harder and better programming languages. but that's my own 2 cents, and I also started out when VB was in its peak which it is far from being today. ~moo
Aeternus Posted July 23, 2006 Posted July 23, 2006 Hey, I heard of a book called Nuth or Nooth, or something like that. It's suppose to be about programming, but I can't find it. I also heard of a book on Linux that you can read on the internet called "Root." No amount of googling, on my part, can find them Can anyone else? I'm guessing you are talking about - The Art of Computer Programming by Donald Knuth (a very famous Mathematician/Computer Scientist) You should be able to find it pretty much anywhere by just searching for "The Art of Computer Programming", there are several volumes to it I think, it's certainly a well known book.
-Demosthenes- Posted July 24, 2006 Author Posted July 24, 2006 I'm guessing you are talking about - The Art of Computer Programming by Donald Knuth (a very famous Mathematician/Computer Scientist) You should be able to find it pretty much anywhere by just searching for "The Art of Computer Programming"' date=' there are several volumes to it I think, it's certainly a well known book.[/quote'] I heard about it briefly on FLOSS weekly, a This Week in Tech spin off. They said it was the computer sicentist's Bible, or something like that. Sounded very useful This looks like the book (or books), thanks.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now