9 Replies - 967 Views - Last Post: 17 June 2013 - 09:43 PM

#1 ChristianGamer  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 16
  • Joined: 25-January 13

Oh where to begin?

Posted 17 June 2013 - 05:01 PM

I've been attempting to get in to programming for the past 6 years and personally I love the feeling of breaking through and learning something new. Tapping in code for hours on end is relaxing and exciting to me... But I don't know a lot of the lingo, theories, concepts and all that jargon that helps make a good computer programmer better. So I've decided I'm adamant on taking up computer science on the side, I'll hopefully be going to college this fall for computer science and programming but I'd like to get a head start to be honest.

So my question is, what's the most recent and best books to read for a beginner to computer science. One that will teach the terms, how the hard ware and soft ware functions, what each part of the computer does to help run another part. Now I'm not asking for all of it in one book, I just need some kind of "To Read:" list so I don't have to pick through the many I find out there. (None the less I can't seem to find any that are up to date), if this is in the wrong place or has already been made I apologize but it'd be helpful if you could even just redirect me to the proper post or forum that would have this information. Please and thank you all for your help!

TL;DR

I need a computer science book that's up to date, will teach me the tech lingo and all the jazz about programming and how you and your computer can make shiny things appear on the screen.

Is This A Good Question/Topic? 0
  • +

Replies To: Oh where to begin?

#2 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7892
  • View blog
  • Posts: 13,421
  • Joined: 19-March 11

Re: Oh where to begin?

Posted 17 June 2013 - 05:16 PM

No such book exists, but that's okay, because no such book is needed. You don't need the jargon, you need the practice. Pick a language and start working. As you go along, you'll find out that there's stuff called "algorithms" and "protocols" and "modularity" and whatnot, and you'll get curious, and you'll figure out what they're about. For now, don't worry about it.

When you're starting, the most important thing is to be making mistakes. You learn more from your mistakes than you do from any book, so the more mistakes you make, the smarter you'll be. Go forth and screw up!
Was This Post Helpful? 1
  • +
  • -

#3 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10693
  • View blog
  • Posts: 39,773
  • Joined: 27-December 08

Re: Oh where to begin?

Posted 17 June 2013 - 05:17 PM

I'm going to move this to Software Development.

Computer Science is predominantly theory. Some topics covered may include Number Theory, Combinatorics, Graph Theory, Algorithm Analysis, Theory of Computation, Formal Languages, and Computer Architecture. What you are interested in is programming, it sounds like.

What language(s) are you working in or are looking to pursue with respect to buying books? Are you a college student looking to get his bearings in terms of course content? Are you looking for a more business computing viewpoint? While I understand that you're new, your question is still very broad and hard to properly address.

Edit: I missed the part where you said you're heading off to college and looking to get a head start. The best advice is to look and see what languages are taught in the intro to programming classes and pursue those.
Was This Post Helpful? 0
  • +
  • -

#4 ChristianGamer  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 16
  • Joined: 25-January 13

Re: Oh where to begin?

Posted 17 June 2013 - 05:24 PM

Fair enough, I'm an aspiring game programmer to be honest. Currently I'm delving in to C# as my first language and it's going particularly well. I want to do indie development or get in a team but in order to learn programming better I need to understand the vocabulary behind it and how it start from what I'm gathering.

To answer your questions in order:

C#, C++, Java and LUA so far are my options that I'm looking towards.

I would like to get on my feet by myself and learn the old fashion way of picking up a book and DOING it but so far it looks like I'm going to be getting my start in college. I'm doing Computer Science and Information Systems which will focus on programming.

No I am looking for interactive development, basically real time interactive programming so I can work in entertainment.

And last off, if you have any more questions feel free to ask, honestly despite the 6 years it feels as though I haven't made barely any progress so I'm not entirely sure WHAT questions to ask.
Was This Post Helpful? 0
  • +
  • -

#5 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10693
  • View blog
  • Posts: 39,773
  • Joined: 27-December 08

Re: Oh where to begin?

Posted 17 June 2013 - 05:27 PM

A good C# book should cover a fair amount of terminology. How comfortable are you with C#? How is your OOP? If you're fairly comfortable with concepts like inheritance, abstract classes, and polymorphism, then you might consider a book on design patterns. An introductory book on data structures (linked lists, stacks, queues, deques, bags, binary search trees, searching and sorting, etc.) wouldn't hurt either.
Was This Post Helpful? 0
  • +
  • -

#6 ChristianGamer  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 16
  • Joined: 25-January 13

Re: Oh where to begin?

Posted 17 June 2013 - 05:34 PM

I'm a complete novice, I just started OOP I think five months ago and I haven't sat down much to study and do it cause I keep getting discouraged. (Which I know you have to stick to it which is why I'm kind of buckling down right now.) Though I do know how to create methods, variables, types, run loops, statements and organize properly for the most part. I know a little bit about inheritance and nothing about abstract classes and polymorphism (Sounds kind of frightening!). Should I go for those books anyhow or should I just stick to studying what I have?
Was This Post Helpful? 0
  • +
  • -

#7 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10693
  • View blog
  • Posts: 39,773
  • Joined: 27-December 08

Re: Oh where to begin?

Posted 17 June 2013 - 05:38 PM

I'd stick with the books you have for now.
Was This Post Helpful? 0
  • +
  • -

#8 ChristianGamer  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 16
  • Joined: 25-January 13

Re: Oh where to begin?

Posted 17 June 2013 - 05:40 PM

Fair enough, so I should just stick to studying programming and practicing what I learn until it sticks, no fancy computer science mumbo jumbo?
Was This Post Helpful? 0
  • +
  • -

#9 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10693
  • View blog
  • Posts: 39,773
  • Joined: 27-December 08

Re: Oh where to begin?

Posted 17 June 2013 - 05:58 PM

You need a foundation in OOP. As you progress on the CS end, you'll get into data structures. Implementing them in C#, as well as a lot of other languages, requires a good understanding of OOP. A lot of upper level CS is math, but requires a good understanding of the data structures I'm question.
Was This Post Helpful? 0
  • +
  • -

#10 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7892
  • View blog
  • Posts: 13,421
  • Joined: 19-March 11

Re: Oh where to begin?

Posted 17 June 2013 - 09:43 PM

Here's a useful trick I've been doing this for a while, and it's quite helpful.

Get a notebook - something serious, not a spiral-bound thing, but something that'll hold together for a while. What you're going to do is make a note of any concept that you come across which you think you need to understand further. Just write down a word or a phrase that encompasses it, we're just talking about a label here. The concept can be as big as "computer science" or as small as "Tarjan's algorithm". Any time you come across this concept again, and you are moved to do so, make a tick by it to indicate that you're still ignorant about it - basically, you're keeping track of ignorance here. (you don't need to limit yourself to tech topics here - anything that seems worth knowing more about, make a note of it)

And then, and this is the fun part, you should at least once a week pull off one item from the list and try to remove it from the list, either by understanding it, or by breaking it down into smaller concepts (which you can add to the list).

You will find that your ignorance grows as time goes on: this is natural, it means you're learning stuff. It's just that the more you learn, the areas of interest you'll be exposed to. This means that once you start doing this you know that you can never be bored for the rest of your life, because you'll always have a list of things that you want to know about, right at your fingertips, and you can go to the library or the web or a bookstore and start learning about one of them any time you like.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1