Reddit Reddit reviews Python Programming: An Introduction to Computer Science

We found 16 Reddit comments about Python Programming: An Introduction to Computer Science. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Programming
Introductory & Beginning Programming
Python Programming: An Introduction to Computer Science
Used Book in Good Condition
Check price on Amazon

16 Reddit comments about Python Programming: An Introduction to Computer Science:

u/rustajb · 6 pointsr/gamedev

That's a ton of questions and concerns. I'll give my own anecdote.

I have adult ADHD. I have to self-learn as I find classrooms and groups study difficult to deal with. You, like me, have a lot of ambition, ideas and drive. It can seem overwhelming the amount of things you must learn to even start making the most basic of games. I only decided about a year ago that I wanted to dive into game design. I want to make games so badly it's become a laser focus in my life.

There's no correct path, no right way to go about it, but you have to start somewhere. For me that was with learning a programming language: Python. Now you won't see much Python used in gaming, it's rare, however I did learn basic CS skills from spending about 6 months doing nothing but that. I made a few simple text based games like Zork and then started working on a Roguelike. I quickly got in over my head and got frustrated. I'm very glad I spent this time learning Python though, it's made learning C# and JS much, much easier.

That frustration sent me looking for alternatives. I played with GameMaker: Studio. That's a really easy game engine to use, you could feasibly make an entire game without ever coding a single line. It may not be a great game though. That was fun for about a month. In that time I created several very basic game prototypes. I also got a taste of using someone else's game engine. Something I know I could code given enough time, but I want to start making games now.

Then a friend turned me onto Unity. I'm using the free version right now and learning even more. I made a basic Asteroid clone using a great tutorial I found online. That in turn caused me to buy the book Unity 3.x Game Development Essentials by Will Goldstone (Who works on Unity if I am not mistaken.) That book walks you through making a simple first person game and covers everything from start to finish.

While working on my Asteroid game I thought it would be fun to create my own game assets like the ship, the asteroids and the enemy UFOs. So I picked up Blender and started using tutorials. The book I bought for it sucked so badly, I found online tutorials were much more conducive to learning that particular application. It's nice to be able to see someone working on it live, and be able to pause and rewind as necessary. It takes me full days to finish an hour long tutorial that way, but I am learning so much.

My point is, pick one thing and learn it first. If you want to be a game programmer, learn a language like Python or JavaScript. Make some simple games in it. As you learn, you will begin to see, in your head, how you could make a game. Everything suddenly starts to come into focus. The more you code, the more you will see how to do the things you want to do in any game. Even if you don't stick with coding, it's a useful skill I would recommend anyone have. As you work on your first games, you'll see your own limitations and want to expand them on the next project. I really recommend this book for your first language: Python Programming: An Introduction to Computer Science as it will teach you a language as well as the basics of CS and it is well written, fun and easy to learn from. It only took me a month to finish it.

Iv'e been on this path for almost a year now and still don't have a game worthy of showing to anyone. I am building my confidence. Just dive in, start somewhere. Stop thinking about how much you have to learn and just start learning. I put off learning all of this for almost 20 years, I wish I had started sooner. But right now there is an explosion of learning materials, there really never has been a better time to start.

u/davidddavidson · 6 pointsr/learnprogramming

There is no "best" language for beginning learning but Python is definitely one of the "better" ones you can use in starting out. It has consistent syntax, nicely format, and low overhead needed. Ruby is has a similar style to Python and is also a good language for beginners to learn. Other people can argue that Smalltalk is a good language for beginners and then you have people all the way on the FP side of the spectrum arguing for Lisp/Scheme as a teaching language.

As for Python books I would recommend Python Programming: An Introduction to Computer Science

If you want to try Ruby I recommend The Well-Grounded Rubyist

u/cuntilingus · 3 pointsr/programming

Looks cool. Awesome that people go through the work of putting up free books.

I'm currently reading Python Programming: An Introduction to Computer Science. It's a bit slow / too intro, but I wanted to make sure I learned CS fundamentals, since it's been like 10 years since I took CS 161 at uni. :-)

u/emporsteigend · 3 pointsr/compsci

You may have to look up some of the terms in my reply and I apologize but, hey, you'll learn something.

I recommend Python, for the simple reason that Python manages to integrate several paradigms in one programming language (imperative, object-oriented, and functional) and a lot of what you learn with Python will carry over into other languages if you learn it deeply enough. E.g. Python has metaclasses which I believe were originally implemented in an older language called Smalltalk and so when I went over to experiment with Smalltalk (I like the Pharo implementation), it was no sweat understanding the idea of metaclasses.

Python also prepares you to read the kind of pseudocode you'll see on Wikipedia and in a lot of textbooks because Python reads a lot like pseudocode; it is an eminently readable language and actually enforces formatting conventions for clarity.

And should you decide to do a big advanced project, there are very frequently well-developed libraries available immediately available for your purposes, which is not an advantage you will get with some of the more obscure / less-used languages mentioned here.

For example, need to do machine learning? No problem! There's PyBrain.

Need to study complex graphs? No problem! There's NetworkX. (If you live in the United States, it's your taxpayer dollars at work, so enjoy.)

Need to do genetic algorithms? No problem! There's PyEvolve.

There's even a package for proving theorems in logic, FLiP.

Ruby comes recommended for similar reasons and has a purer object-oriented basis but (in my experience) fewer good libraries.

I have to disagree with several recommendations here: Lisp has been recommended in several posts and I have doubts about how much of a better or effective programmer it makes you; the evidence for such a claim is unclear and pretty much all anecdotal. And a lot of it is based on stereotypes about marginally competent enterprise Java programmer-types. Now that a number of programming languages have taken Lisp innovations like garbage collection and lexical closure to heart, there's not that much of an advantage anymore in Lisp. (IMO.) More to the point, I find that neither any implementation of Common Lisp nor Scheme enjoy quite the same support as Python.

For instance, even though Lisp has a reputation for being used widely in artificial intelligence, the AI libraries I can find for Common Lisp are relatively underdeveloped compared to those you can find for Python. For instance, in the case of soft computing methods in AI (which IMO are far more promising than logic-based approaches), between PyBrain and PyML you've got neural networks, SVM, reinforcement learning and more whereas I could only find fledgling projects like cl-machine-learning for Lisp, which apparently hasn't been worked on since 2009. (The Lisp community is notorious for not finishing projects once started.)

If you must use Scheme, I highly recommend Racket because it appears to be the most full-featured Scheme. (That's a major issue with Scheme: the standard specifies very very little and so the differing implementations tend to be kind of incompatible. One says that Scheme suffers from horrible "balkanization".)

Logo was mentioned, too. The NetLogo implementation is good for fast agent-based programming and a few other things (I found it highly useful for writing a Kohonen network implementation because of its inherently spatial character) but Logo as a language is not that great.

Prolog IMO is fucking terrible. Using it is like pulling your own teeth.

Pure functional programming languages like Haskell are kind of wanky as well. It's usually rather difficult to do anything useful with them because they disallow side effects completely but on the other hand, since you're interested in logic and computation, you'll get a lot of exposure to theoretical computer science ideas through these kinds of languages.

Bottom line is with Python you'll probably get more work done faster and have more fun that way too. And that's what counts.

One last note: I don't like SICP. Go on Amazon and look at some of the negative reviews to see what I mean. I can't exactly say what's a good intro to computer science because I'm well past that point now but this guy appears to come warmly recommended:

http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996

And when you're a little more advanced, and want to dive into data structure and algorithms, the Segdewick "Algorithms" book is excellent, even if it uses Java for all the code:

http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X

u/asdfqewr · 2 pointsr/programming

There is a lot going on here in this post. Clear your head, download Python, reference this text for the big picture or spiritual enlightenment, and this text as your road map into the unknown. If you get lost in the examples refer to the first text. Spend 2-3 bouncing back and forth between these two sources and you'll be well on your way.

u/Lesabotsy · 2 pointsr/learnprogramming

The best introductory to programming in Python (and CS in general) book I have ever read ...

u/ironykarl · 2 pointsr/Python

I'm working through this, right now. Its intent is more to teach general CS concepts. There's a good chance that once I'm done, I'll want to work through something that's more about thoroughly learning Python.

I guess you'll have to tell me whether this book fits that bill or not. If it does, I'm definitely game.

u/pyvlad · 2 pointsr/AskReddit

Quite simply, get a book on programming instead of on a specific language. They all focus on algorithm design, and teach the specifics of the language they're using only to the point that it helps the main lesson. I'd suggest a book that uses Python, because, as a higher-level language, you don't have to deal with a lot of the small details of C/C++/something else. It's pretty easy to learn them later on, if you want to, but that's a good starting point.

Note: I used this, so on the one hand, I may be biased, or on the other hand, this may genuinely be a good textbook.

Good luck!

u/gooycz · 1 pointr/McMaster

Computer Science is a science, you’re learning more about the why rather than the how. Programming is just a part of the picture but there’s more to Computer Science than that, I know this might sound contradictory to what I said before, but CS is sort of like applied math. I’d maybe pick up a textbook over the break and give the python course on code academy a go, this is the textbook we use at Mac http://www.amazon.ca/Python-Programming-Introduction-Computer-Science/dp/1887902996. In all honestly, I wouldn’t go into Computer Science if you’re not 100% about and have never programmed, I have and sort of regret it. I’d apply for engineering and if you’re still interested you could declare software in second year or switch to CS if you’re so inclined.

u/squire_louseII · 1 pointr/Career

I program in Python, and used http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996
to get going. CodeAcademy is also a good resource. I should say that I am not a software developer or anything similar, and my current position is not primarily about programming (though I'm trying to push it that way). I work as a 'Project Scientist' and use programming for data analysis, a little web-dev, and making various useful tools (programs). I would not have gotten the job though, despite it not being a 'Programmer' position, without programming. I guess I'm just trying to say that it is a super useful (and for some enjoyable) skill that can open doors for you.

u/TheLastKantian · 1 pointr/AskComputerScience

Forget websites. if you want to learn Computer Science and programming at the same time then read this book, https://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996 . Remember, READ CAREFULLY AND DO THE EXERCISES! I cannot stress that enough. Also, don't neglect building up mathematical maturity, most people end up screwing up in CS because their math skills are really weak.

u/sharkmet · 1 pointr/learnpython

I think this Python Programming book is awesome yet ive seen some less than stellar reviews around here on reddit.

http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996