Best programming for beginners books according to redditors

We found 1,532 Reddit comments discussing the best programming for beginners books. We ranked the 308 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top Reddit comments about Introductory & Beginning Programming:

u/samort7 · 257 pointsr/learnprogramming

Here's my list of the classics:

General Computing

u/SpiderFnJerusalem · 74 pointsr/Python

Never liked that book tbh. If it works for you that's fine. Buit for me its tone is way too strict, condescending and most of the time it never explains why some things have to be done the way they are. It's as if the author forces his coding style on you and doesn't bother to give context.

I enjoyed "Automate the Boring Stuff with Python" much, much more.

u/koeningyou666 · 73 pointsr/netsecstudents

In my opinion; every book in this bundle is a bag of shit.

Here's a list of reputable books, again in my opinion (All links are Non-Affiliate Links):

Web Hacking:

The Web Hackers Handbook (Link)

Infrastructure:

Network Security Assessment (Link)

Please Note: The examples in the book are dated (even though it's been updated to v3), but this book is the best for learning Infrastructure Testing Methodology.

General:

Hacking: The Art of Exploitation (Link)

Grey Hat Hacking (Link)

Linux:

Hacking Exposed: Linux (I don't have a link to a specific book as there are many editions / revisions for this book. Please read the reviews for the edition you want to purchase)

Metasploit:

I recommend the online course "Metaspliot Unleashed" (Link) as opposed to buying the book (Link).

Nmap:

The man pages. The book (Link) is a great reference and looks great on the bookshelf. The reality is, using Nmap is like baking a cake. There are too many variables involved in running the perfect portscan, every environment is different and as such will require tweaking to run efficiently.

Malware Analysis:

Practical Malware Analysis (Link)

The book is old, but the methodology is rock solid.

Programming / Scripting:

Python: Automate the Boring Stuff (Link)

Hope that helps.

u/victorioushermit · 24 pointsr/learnpython

I'm working my way through Python Crash Course right now and recommend it. It starts from basics but doesn't treat the reader like an idiot. And the exercises are good for helping you to think through how to format your code. From there I'm planning to go through Automate the Boring Stuff with Python, and after I get a bit better at it, Fluent Python

Python Crash Course

Automate the Boring Stuff with Python

Fluent Python

u/karlfreeman · 22 pointsr/ruby

Some great suggestions here around complimentary languages. Let me chime in on the tools. Depending on where you want your career to go deploying Ruby without Heroku wouldn't hurt at all.

  • When to use Varnish / Nginx and why
  • Why Capistrano is a popular way to deploy code
  • How to demonize and monitor ruby processes
  • Why people use Chef
  • Knowing the key difference between how Unicorn scales and Puma
  • Understanding Git, Git merging strategies and having an awarness of Git Flow style branching models
  • etc...

    I've made no assumption on what you already know so please don't feel like you need to know all of this but as Rubyist these are things I look for in candidate's that I hire :).

    PS: I've not included Databases in all of this which I think is obvious to say is important when fleshing out a CV.

    PPS: Two books I would recommend highly (can easily be read on holiday in the sun)

  • Seven Languages in Seven Weeks
  • Seven Databases in Seven Weeks

    Both of these books are fairly light hearted, give you a grounded understanding of the core differences in languages and databases, assume your a programmer already and IMO are very interesting reads for someone that is keen to look at languages from different angles. Prolog == mind blown

    Good Luck
u/winston_orwell_smith · 21 pointsr/embedded

If you want to start learning C from scratch then I suggest getting Greg Perry's "C Programming Absolute Beginner's Guide". Once you've mastered the basics of the C programming language, research "bitwise operations & bit manipulation in C". I have a free tutorial entry on that topic on my blog if you want to check it out. But you'll find many other similar resources on the web as well. Then have a look at Carmine Novello's Mastering STM32, and/or Mazidi's STM32 Arm Programming for Embedded Systems. Both books deal with STM32 microcontrollers and are very affordable.

Good luck!

u/[deleted] · 18 pointsr/darknetplan

What OS? Linux, of course. When TPB order everything locked down, you don't want to be caught using a Microsoft OS. -- What distribution? The easy path is Ubuntu, with the Cinnamon UI, or LinuxMint 13, when issued (May 2012).

What IDE? There's lots to choose from. My favorite is "geany".

https://en.wikipedia.org/wiki/Geany

For TCP/IP protocol tutorial. Recently updated by Wright:
Stevens, "TCP/IP Illustrated", 3-volume set.

http://www.amazon.com/TCP-IP-Illustrated-Volume-Set/dp/0201776316

On human interface guidelines relevant to programming:

https://en.wikipedia.org/wiki/Human_interface_guidelines

For GNOME 2, see:

http://library.gnome.org/devel/hig-book/stable/

To develop Linux applications:

You are right. You MUST know how to program in C. When others tell you that object oriented programming is the thing, know that you can do object oriented programming in C. Avoid interpreted languages (Python, Java, and others) as a first programming language. Interpreted languages teach bad habits and hid too much of what's going on from you such that debugging becomes difficult to impossible.

However, if all you intend is "casual programming", the Python will do, if you must. It's just not the best choice first a first language if your intent is to become a "professional programmer". I use Python myself; It works for what I need to do quick and dirty.

Definitive, but for experienced programmers:

http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?s=books&ie=UTF8&qid=1335197606&sr=1-1

As a tutorial for someone learning a first programming language and how to program from zero:

Perry, "Absolute Beginner's Guide to C", 2ed.
-- I have not read the book, but the ToC looks reasonable for a beginner.

http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100/ref=sr_1_6?s=books&ie=UTF8&qid=1335197606&sr=1-6

OK, you don't want a full CS curriculum, but some topics in discrete mathematics are mandatory. ... Ack! Having looked over the offerings at Amazon, I believe that Epp, "Discrete Mathematics with Applications" may be the best of the lot, but at $187, it is hard to recommend without knowing your intent and interest. The reason I suggest this title is that it looks focused on application to computer science topics. It covers a number of topics that are NOT covered in many of the other titles, enough so that should you use other texts you will have spent more than the $187 that this title includes. JMHO.

http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?s=books&ie=UTF8&qid=1335199316&sr=1-1

See also: Sedgwick, "Algorithms" -- You'll probably need it sooner than later.

http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewick/dp/032157351X/ref=sr_1_1?s=books&ie=UTF8&qid=1335200153&sr=1-1

Remember that Linux OS? You are going to need some programming tools, right? If you intend to write GUI applications based on the GTK+ toolkit, then install the package "glade" or "glade-gtk". Installing a glade package will suck in over 100 other packages essential to building a GTK based GUI application. Specifying glade to the package manager is just easier that finding and installing all the other necessary parts by hand.

If you are going to do command line based UI programs, then package "build-essentials" should be adequate.

There are some other things to read:

On how to organize, grow and maintain a Linux software development project: Fogel, "Producing Open Source Software"

http://producingoss.com/

You can read it online here, but buy the book too to help support Fogel. He's gotta eat too.

On the culture of writing Open Source Software:

Raymond, "The Cathedral and the Bazaar"

http://www.catb.org/~esr/writings/cathedral-bazaar/

Linux programming is not like Windows programming.
Read and study ESR's TAOP.

Raymond, "The Art of Unix Programming"

http://www.catb.org/~esr/writings/taoup/html/

You can read it online, free. However, buy a hardcopy too. Raymond has to eat too.

Now to get really technical. What interface do you write to?

Kerrick, "The Linux Programming Interface: A Linux and UNIX System Programming Handbook"

http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=sr_1_1?s=books&ie=UTF8&qid=1335201257&sr=1-1#reader_1593272200

Beginning to focus on GNU style programming:

GNU Coding Standards

https://www.gnu.org/prep/standards/

GNU Coding Standards is more than how to and how much to indent a line or how to set braces. You will get into the topic of Make and Autotools. Make is a program to build complex softare and Autotools is about how to build a package for distribution, the package that any Unix flavor can use; it is not focused on any specific distribution. See also: "configure and make"

Enough! There's more, but I have too much time in this already for today.

[edit: typos]

u/AlSweigart · 17 pointsr/Python

I'm actually writing a Python book for non-programmers on this exact topic. Automate the Boring Stuff with Python

It will be free to download under a Creative Commons license when published. You can read the description (and later the book) from here: http://automatetheboringstuff.com/

u/acid_wrappers · 16 pointsr/datascience

edit Supposedly this guy is OG in data science. http://www.datasciencecentral.com/profiles/blogs/hitchhiker-s-guide-to-data-science-machine-learning-r-python




My friend has a bio background and doing well as a data scientist consultant. I wouldn't shy away with a lack of math.

I'm still an amateur, so take this with a grain of salt.
I'd also like to share my strategy for learning data science so far.

I have a math background, which is useful but not required. Knowing linear algebra and differential equations, some analysis stuff is useful for developing a deeper intuition into how the machine is learning, but not necessary. IMO data science is a life long journey as it can be applied to many fields. It may be useful to learn more math later on as it get's deeper, but surface level knowledge should suffice.

For linear algebra, I've found the first lecture to be the most useful. http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ It basically describes how we can translate lines into vectors and find solutions. It may be useful for continue learning, but in the beginning I believe surface understanding should suffice. If you're looking to build new data analytic tools, understanding the maths at depth is a must. But if your goal is to apply the tools already in existence, you can get by with a brief understanding.

For example, I have a weak statistics background; for the things I don't know I look them up on wikipedia, various sites, etc. The goal is not necessarily to learn the material as you would for an exam, but to develop a broader understanding of what the material is and how it is relates to machine learning. When I read this material I probably retain only 5-15% of the information, but I read enough to let me move on. Never get stuck on one piece of information for too long. I've found if I get stuck, I can move on and the brain just kind of figures out how it fits into the puzzle.

With your background Andrew Ng's course on coursera https://www.coursera.org/learn/machine-learning should be suitable.

I watch these videos only once on 2x speed. My goal is not to retain the information but to index it. Much of what is useful will be learned by practice, by watching the videos on 2x it's like skimming a text. It allows you to index, that way you know where to look if you need greater depth in the future. For example, you don't have to memorize the cost function, but it's important to know why the cost function is constructed the way it is, and what it's use is.

I then supplement by reading this: http://neuralnetworksanddeeplearning.com/

and doing these problems http://www.cs.cmu.edu/~tom/10601_fall2012/hws.shtml

This is the most useful resource I've found tbh:
http://www.kdnuggets.com/

I have a weak programming background, so for learning python I've found this text useful for practice and learning the language: https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994?ie=UTF8&
Version=1&entries*=0

This text is very basic, useful in general if you don't have a compsci/compeng background, but doesn't have direct applications for data science. For a more data focus wrt python: https://www.coursera.org/specializations/python . You do not have to pay for any of these courses. Just search for the specific course and enroll, for example, https://www.coursera.org/learn/python-data

That's pretty much where I'm at.
I believe the most important thing is to train our brains to think as the machine would. It's important to utilize our intuition and natural parallel abilities of the brain, as ultimately these are the techniques we are attempting to replicate.

u/bridgesro · 13 pointsr/learnprogramming

The best non-language-specific programming book I've read by far is Think Like A Programmer. It uses C for examples, but I wrote them using Python as I went through it. It teaches you problem-solving, which is all programming really is.

For beginners picking a new language, I recommend Automate The Boring Stuff for Python. Python is a great language for beginners, and this book will teach you Python and how to use it for practical tasks. The author has also made the book available for free online - though I picked up a physical copy to help support the guy. It's worth it :)

u/Reptilian_Overlords · 12 pointsr/talesfromtechsupport

I'd go read books about the A+ cert (you don't need to certify but it's great material).

For other technical things I recommend a lot of books that are amazing:

u/biglambda · 12 pointsr/haskell

I highly recommend The Haskell School of Expression by the late great Paul Hudak. Also you should learn as much as you can about Lambda Calculus in general like for example this paper.
After that you should learn as much as you can about types, Types and Programming Languages is really important for that.
Finally don't skip the important fundamental texts, mainly Structure and Interpretation of Computer Programs and the original video lectures by the authors (about the nerdiest thing you will ever watch ;)

u/JeffB1517 · 11 pointsr/haskell

Haskell is a really complicated language that demands of a lot. It may not be possible.

Making it more popular though:

As others have mentioned the tooling is complicated. Haskell has the same problem Tex had. Stack and Haskell platform get part of the way there but the installers need to configure editors and project tools to work out of the box fully configured. In particular include a fully configured Leksah or Geanny or Kate.

Finally and this will be controversial. Strip options. There is one easy web framework with a note in the documentation of where to find the full featured but hard one. The database is preconfigured out of the box (SQLite or something), a script for say MySQL and Mongo (single node on desktop) and then a link to how to do it for a real setup. Because the options are simple there can be a simple management tool to make minor changes to the environment.

Then include targeted tutorials for that environment.

Paul Hudak's environment for https://www.amazon.com/Haskell-School-Expression-Functional-Programming/dp/0521644089/
was perfect. It got a Haskell, an editor and enough of an environment to do graphics and sound programming.

Basically Haskell platform got too focused on Haskell libraries and not focused enough on ecoystems. Make a Haskell the way Microsoft, Adobe or Apple would make a Haskell.

u/Voidsheep · 11 pointsr/javascript

Use ESLint with recommended settings, so your code editor will yell at you for a lot of mistakes you'd make. They provide plugins for most code editors and IDEs, configuration is a matter of having .eslintrc-file in the directory your code is in. Some rules that you might want to enable that aren't in the recommended set are "eqeqeq" and "no-unexpected-multiline", this allows you to avoid many problems related to features like Automatic Semicolon Insertion (ASI) and type coercion.

Later on when you've got some more advanced stuff like a build process with transpiler going (or you don't have to worry about how your code runs in older browsers), you'll want to enable ES6 rules like "no-var" and "prefer-const" to also get rid of some potential hoisting issues and accidental reassignments. But that's likely a story for another time that can be ignored for now.

The ESLint's constant nagging about everything can be annoying at first, but after you've seen and fixed the same red squiggly lines a hundred times, you no longer get them and avoid the problems by default even if you don't have linters somewhere.

Some people will tell you to read "JavaScript: The Good Parts" book, but that's outdated and you'll avoid many pitfalls by default with the recommended ESLint settings. If you want books, check out things like You Don't Know JS (free) and Eloquent JavaScript.

Also, the next time you are about to loop through an array, take another look through the array iteration methods at MDN.

You'll probably see a method that is made exactly for what you are doing and allows you to describe what you want, instead of doing bunch of step-by-step instructions that don't describe your intention and are just noise among the logic.

Edit: Oh and get familiar with chrome developer tools and debugging. Writing code is like 10% of the job at best, figuring out why problems happen is like 90%. Spending a few hours getting familiar with the debug tools beyond console.log is one of the best things you can do with your time and will save you so much trouble in the future you can't even imagine it.

If you aren't a new programmer, but just new to JavaScript itself, it's also definitely worth it to read Mostly Adequate Guide to Functional Programming (free) and learn how to really take advantage of JavaScript being a functional language.

Edit2: Tried to make the post a bit more straightforward.

u/Khohezion · 11 pointsr/learnpython

I've been using the following books after finishing Automate the Boring stuff.

https://www.amazon.com/gp/product/1593279280/ref=ox_sc_act_title_1?smid=ATVPDKIKX0DER&psc=1

https://runestone.academy/runestone/books/published/pythonds/index.html#

​

Python Crash course reinforces what you learned in Automate the Boring stuff and goes a bit further and the 2nd link is for Data Structures/Algorithms. You have to make an account to use the site but it is really good.

​

I am only on the first chapter for the 2nd site but my only critique so far is that sometimes the code doens't work when you use it in your own browser so I've been using Python Crash course to cross reference.

​

#EDIT: Also I would not use Learn Python the Hard way. I tried using that book and it just gave me bad habits. Its a nice reference but I would not base your studies off of it.

u/Corkatron · 10 pointsr/learnprogramming

I would seriously consider checking out Head First C# from O'Reilly:
http://www.amazon.com/Head-First-2E-Real-World-Programming/dp/1449380344/ref=sr_1_1?ie=UTF8&qid=1319552675&sr=8-1

Really good mix of explanation and code to work on. Not a chapter goes by where it doesn't have you practicing.

u/anonymous_geographer · 10 pointsr/learnpython

This:

Java: An Introduction to Problem Solving and Programming (7th Edition) https://www.amazon.com/dp/0133766268/ref=cm_sw_r_cp_api_i_Z-vkDbN70GX2T

and this:

Python Programming: An Introduction to Computer Science, 3rd Ed. https://www.amazon.com/dp/1590282752/ref=cm_sw_r_cp_api_i_dawkDbVC96J00

u/___GNUSlashLinux___ · 9 pointsr/digitalnomad

Automate the Boring Stuff with Python

There isn't a way to learn to code faster, the best thing you can do is code every day. And I mean EVERY day. IMO Python will open the most doors. you may need to pick up other things along the way but Python is a good base.


---


ABC

Always

Be

Coding

u/code_hotel · 8 pointsr/sysadmin

This isn't a book per-say about system administration with python, but it is a quite useful one if you want to get into it.
https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/ref=pd_lpo_sbs_14_t_2/146-3820539-3232947?_encoding=UTF8&psc=1&refRID=ZDZ3YRPFMWYVRR949Z70

u/chhhyeahtone · 7 pointsr/learnprogramming

If you want to know what programming is like, try Stanford's CS101 course. It's very basic but gives you a taste of what you can learn. You can breeze through it in a week or two. Don't worry about memorizing the code, just focus on the concepts.

If you finish that and enjoyed it, you can try M.I.T's 6.00 1 course. It teaches you Python, one of the easier programming languages to start with. This course is longer than the first one and is an actual programming course. It recommends the book Introduction to Computation and Programming Using Python if you need it.

After that, I would say give Harvard's CS50 online course a go. This course teaches you the C language and is easier to complete if you did the first two courses. This course recommends the books: The C programming language book or C programming: an absolute beginners guide for a more beginner friendly (and budget friendly) option.

Good luck and have fun

u/666f6f626172 · 7 pointsr/datascience

I doubt any courses you take would spend more than a day on the basics of a language. That's something you need to learn on your own. What's your background like? It sounds like you don't have much programming experience, so perhaps start with this. Then maybe this for learning numpy, pandas, and matplotlib.

EDIT: Didn't realize you were still in high school. I don't believe there's a specific data science undergrad program anywhere, but any STEM undergrad program will probably include an introductory programming course.

u/FireIre · 6 pointsr/java

My college uses Introduction to Java, Comprehensive Edition. We'll be using it for 4 full semesters, and I think there will still be a chapter or two we don't cover. It has 34 Chapters in the book then 16 online chapters that covers a lot of topics covering Java EE, JSP, etc. It starts at the beginner level and goes from there.

However, despite its size it still doesn't go too in depth in many topics. For example, I'll be taking Java concurrency class next semester. We'll be starting with the concurrency chapter in the Intro to Java book and then we'll be moving to Concurrency in Practice by Brian Goetz.

This os only the second of two Java books I have exposure to, so I can't really rate it against any others, but it seems pretty good overall, though slightly vague on a few topics.

u/ithika · 6 pointsr/programming

I'd like to make an official request that the book cover please not suck. With AIMA and HSoE, my bookshelf is looking decidedly ugly now...

u/thatslifeson · 6 pointsr/learnpython

That's because the explanations aren't very good. You aren't alone in that regard. As one other suggested, there is Think Python.

I would also suggest these:

u/megazver · 6 pointsr/learnpython

You try the Invent Games with Python / Making Games with Python books, if dipping your toes into gamedev sounds fun.

I am working through Python Programming For the Absolute Beginner and that also has a focus on game-style projects. The first one will probably be a bit too easy for you, but More PPFtAB might be something that interests you.

u/serzkawpoije1 · 6 pointsr/learnpython

This is something simple that could be accomplished with most languages, and it's very simple to do in Python.

I believe Automate the Boring Stuff covers everything you'd need to accomplish the task.

u/IcanCwhatUsay · 6 pointsr/learnpython

Have this book, love this book. I highly recommend Automate the boring stuff. This was a much better kickstarter into learning the program language for as it has real world applications you can do. I tend to drift back and forth between the two books all the time.

Also, good to note, the Author is a redditor ( /u/ehmatthes ) AND posted the book here for free but I bought two copies just because I loved it so much. (Kindle and paperback, I'm not crazy!) If these books came in hardcover, or pocket sized I'd probably own four copies then (NUDGE NUDGE WINK WINK HINT! HINT!)

Good post to read and print

https://www.reddit.com/r/learnpython/comments/4y06nq/beginners_python_cheat_sheets_updated/


u/tuckeriswilde · 6 pointsr/EngineeringStudents

If you like reading and referencing a book while coding I absolutely suggest "Automate the Boring Stuff with Python

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/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/sayubuntu · 5 pointsr/Python

Pick up the book “Automate the boring stuff”

Amazon

Free Online Version

And steal a project from there. The draw of python is you can make something useful fairly early on in the learning process.

Edit: I’de go with web scraping. Providing everyone with how to implement the shell functionality described in the book, and see what they come up with as far as a useful web scraper as your open ended requirement.

u/farfigneugan · 5 pointsr/learnpython
u/enteleform · 5 pointsr/Python

As mentioned, Automate The Boring Stuff With Python is a great resource.  (it's also available as a Book)

Additionally, I'd recommend Python Crash Course: A Hands-On, Project-Based Introduction to Programming.

u/il_doc · 5 pointsr/ItalyInformatica

cominciando prima da TUTTA la teoria secondo me subentra la noia in tempo zero e perdi sia l'interesse che la motivazione...

imho l'ideale è riuscire ad acchiappare i concetti base e poi cominciare a sporcarsi le mani asap, partendo da cose facili e poi andando a scalare.

i problemi di https://projecteuler.net/ sono un'ottima palestra per rompersi la testa e scoprire diversi "trucchetti" e approfondire argomenti.

altrimenti secondo me è più semplice imparare cercando di risolversi dei problemi reali da soli, scriversi dei programmini per provare ad automatizzarsi operazioni noiose (vedi Automate the Boring Stuff) o provare a tirarsi su un sitarello con flask o django, il tutto ovviamente consumando stackoverflow e la documentazione ufficiale ogni qual volta ti fermassi o ti volessi togliere una curiosità

anche se non sono strade mirate per arrivare a quello che ti serve, pian piano ti troverai con delle basi sufficientemente solide e "general purpose" con le quali sarai più o meno in grado di affrontare ogni tematica nella quale avrai bisogno di python


(p.s. questo nella mia esperienza funziona anche se in tutta la pappardella scritta qui sopra si sostituisce "python" con "linguaggio xyz")

u/DieJudenfrage · 5 pointsr/programming
  • I wouldn't call it K&R, the examples are toys, and I didn't learn Haskell through it, but The Haskell School of Expression: Learning Functional Programming through Multimedia is great.
  • I found Real World Haskell, which is probably the standard recommendation, too dirty (and in many cases outdated and relying on packages that wouldn't compile for my platform) to learn the language from in the first place.
  • I don't think it's out in dead tree yet, but Learn You A Haskell is absolutely the best tutorial out there.

    I personally stumbled (and continue stumbling) into Haskell by picking up bits and pieces in academic papers. I don't recommend this route at all.
u/darrint · 5 pointsr/programming

Also off the beaten path:

The Haskell School of Expression

What's really cool is it appies Haskell to multimedia. This helps because it's not hard to compare what the author presents with how you'd approach the same topics using tools you already use.

It stays away from language wars and just focuses on explaining Haskell.

u/Adhoc_hk · 5 pointsr/C_Programming

C is worth learning in my opinion. I'm a CS student so certainly not an authority on languages, but everything that's really cool I want to work on, and the problems that really interest me, tend to be in C. If you ever wanted to study operating systems then C is vital. You can go download the entire linux kernel and read it's internals, study how it works and try to wrap your head around why certain things were done in certain ways.

If you want to study algorithms and data structures, c is wonderful. Have you ever wondered how queues are actually structured in memory while you were using Java? Or lists, or strings, or objects in general?

Memory management, how the stack works when a function gets called, how the memory alignment of certain structures can decrease cache misses... There's so many cool topics that you can really dig into with C that you don't have the freedom to really mess with in higher level languages. The downside being you have plenty of rope to hang yourself with, but man the problems you run into can be so much fun.

Embedded systems are cool. Being able to take an Atmel or TI microcontroller and cobble together beautiful useful systems. This is what really invigorated me with regards to C when I was starting out. Snag yourself a cheap ATtiny AVR, a couple data sheets, a programmer and some tutorials and dive in.

As far as an IDE, I really wouldn't recommend one. Just use a text editor of some sort. For instance I do a lot of my coding right now in Sublime Text. All I really use it for is the highlighting. Everything else is done in the terminal. gcc is free and works fairly well, and in regards to referencing I generally just use the man pages or google when I want to get a quick idea on how to use something.

From what I've seen, and what I've heard from friends who are already working, if you can write good clean C it will help you in any other language you pick up. The language doesn't hold your hand.

K&R is one of those books you certainly want to have, but it isn't really what I'd start out with at first. I'm a little embarrased to admit it but I started with "Absolute Beginners Guide to C" by Perry. I didn't have any type of programming background though so you might be more inclined to something like "Programming in C" by Kochan.

u/ab57 · 5 pointsr/C_Programming

I had no real programming experience before I started C as part of a university course. Thankfully, my first course was on the language itself so the problems were all based around understanding the fundamentals of C itself (not on the theory of algorithms).

I know some people here are criticising it as a first language choice, and I'll admit that I am in two minds about recommending it. However, I'm struggling to think of a better choice.
So I'll assume that isn't up for debate or maybe even the class recommends it?

Unfortunately I have never taken a relevant MOOC in this area. I have looked at several books however:

I can't avoid mentioning The C Programming Language by Kernighan and Ritchie aka K&R - if only to say I dont recommend it. I own a copy and feel its not really appropriate for a complete beginner. Its not a book you can sit down and read through. Its basically a reference manual, to be used to help provide context for a particular problem. Unfortunately, at the start I would know what I wanted to achieve but didn't know the correct terminology to describe it, in which case the index becomes useless (even Google can't work these types of miracles).

Absolute Beginner's Guide to C by Greg Perry is however very readable. Its probably a little too verbose for someone who has prior programming experience - as the title suggests its written for the absolute beginner. It should be ideal for you however. If you are prepared to go for a book rather than a MOOC I highly recommend it.

u/itsthedraftstupid · 5 pointsr/cscareerquestions

make a game with XNA?

or maybe some books? So many more to choose from...

Head first C#

Learning-XNA-4.0

u/DrAmbulanceDriver · 5 pointsr/learnprogramming

I'm assuming you just want to learn the basic information about how computers work and the principles behind programming them, right?

In that case, I'd recommend Code by Charles Petzold

Are you looking to actually learn how to program and write code in a specific language? If so, then I'd recommend Automate the Boring Stuff with Python by Al Sweigart. It covers the basic principles of writing functions and how computer logic works, and you'll actually be able to apply it to some practical uses. And since its Python, it'll run on a lot of different platforms. If you like it, you may want to get into working with the Raspberry Pi. Javascript is another good language to start with, but as a book, I really like this one.

If you already know a bit about programming, and just want a general reference book, then Computer Science Illuminated by Dale and Lewis is pretty good.

u/DaysBeforeSpring · 5 pointsr/Python

Yes. subprocess is a standard library (i.e. "baked in" to Python). pexpect is a separate install, but not at all painful. For my own reasons, I'm installing it the hardest possible way and it's literally 3 commands.

If this is something you want to mess with, check out Automate the Boring Stuff.

u/Cpist · 4 pointsr/java

The best way I would suggest is buying a starters Java book online. I'm taking my AP Computer Science class as well and my teacher is also pretty difficult. He goes quick so I definitely recommend trying this. Also, try Khan Academy, PracticeIT, and CodingBat.

Ninja Edit: Grammar.

u/giltwist · 4 pointsr/fantasywriters

You would probably really enjoy reading Real Magic by Isaac Bonewits which basically did this exact thing on an anthropological level with respect to historic and contemporary (for the time of writing) views of magic. That book actually ended up inspiring the Lord Darcy series of fantasy stories.

u/kokkivos · 4 pointsr/gamedev

If you want to learn C# from scratch, read Head First C#! This is hands down the best programming book I've ever read. It leads you through interesting examples (sometimes games) and teaches you how to code in a very hands-on way.

If you don't know how to code yet, probably don't jump right into C++ and Unreal Engine. That's one of the most technically challenging paths for a programmer to take. If you want to be a professional AAA developer on a large team, I would say do it, but otherwise you will get much more done with Unity and C#.

u/Dynoman · 4 pointsr/learnprogramming

I bought a C# book a few months ago and the first project was to create a simple address book. It was incredibly easy to code. It wasn't robust, but the basic functionality was there.

Here is the book.

u/davidNerdly · 4 pointsr/web_design

Just some I like:

Dev


  • [You Don't Know Javascript (series)(]https://github.com/getify/You-Dont-Know-JS). Short and sweet mostly. Well written. Some are still pending publishing but there are a couple available now. I believe you can read them for free online, I just like paper books and wanted to show some support.

  • Elequent Javascript (second release coming in november). Current version here if you are impatient. I have not personally read it yet, waiting for the next revision. I recommend it due to the high regard it has in the web community.

  • Professional JavaScript for Web Developers. Sometimes called the bible of js. Big ole book. I have not read it through and through, but have enjoyed the parts I have perused.

    Design


    (I am weak in the design side, so take these recommendation with a grain of salt. I recommend them off of overall industry cred they receive and my own personal taste for them.)

  • The Elements of Typographic Style. Low level detail into the art and science behind typography.

  • Don't Make Me Think, Revisited. I read the original, not the new one that I linked. It is an easy read (morning commute on the train was perfect for it) and covers UX stuff in a very easy to understand way. My non-designer brain really appreciated it.

    below are books I have not read but our generally recommended to people asking this question

  • About Face.

  • The Design of Everyday Things.

  • The Inmates Are Running the Asylum.


    You can see a lot of these are theory based. My 0.02 is that books are good for theory, blogs are good for up to date ways of doing things and tutorial type stuff.

    Hope this helps!


    Battery is about to die so no formatting for you! I'll add note later if I remember.

    EDIT: another real quick.

    EDIT2: Eh, wound up on my computer. Added formatting and some context. Also added more links because I am procrastinating my actual work I have to do (picking icons for buttons is so hard, I never know what icon accurately represents whatever context I am trying to fill).
u/enelsk · 4 pointsr/learnprogramming

Hi there,

If your primary interest is in blogging, I would recommend an existing platform like Ghost to get you up and running quickly. However, it sounds like you're more interested in web programming, with blogs being an interesting application.

These days, a lot of web applications are written with scripting languages, primarily Python, Ruby, or Javascript[1]. Each of these have many web frameworks to help you write your server application, but the big ones are:

  • Ruby: Ruby on Rails
  • Python: Django
  • Javascript: Express.js

    If you're already familiar with one of those languages, obviously you should heavily consider exploring its frameworks. Alternatively, you should research the languages and their frameworks on a high level and get an understanding of their core differentiating features before choosing one.

    Personally, I'm a lover of JS and node since that allows you to write your entire stack in Javascript, but there are those in this subreddit who call me a fanboy :)

    Regarding your client, any behavioral logic is going to be done in Javascript, the markdown will be in HTML, and your layout and style will be in CSS [2] - no way around that, so you better get familiar.

    Excellent intro to modern HTML/CSS

    Excellent intro to Javascript

    [1] Javascript executes in a unique server environment via Node.js, utilizing Chrome's v8 JS engine.

    [2] Of course there are languages like Coffeescript and Compass that compile to JS and CSS, this is probably beyond the spirit of the question.
u/CptTritium · 4 pointsr/sysadmin

Thanks for linking this, I hadn't seen it yet. As a Windows admin looking to get into Linux, this seems interesting.

Also, for your automation, I'd recommend Automate the Boring Stuff with Python, if you haven't read it already. It can also be found for free here: Automate the Boring Stuff.

I'll add another plug for The Practice of System and Network Information, even if you have a good feel for the philosophical part of the job.

u/Grayson_the · 4 pointsr/DataHoarder

A lot of people like Python as it is close to english. I like this book. For this kind of task you could also use Bash and just wget the archive they post once a week.

u/gamesdf · 4 pointsr/webdev

That's the problem. TBH, Treehouse is fking awful. I dont get all the hype around it. Read YDKJS series. Oh, if you are completely a beginner, read https://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C. This is a very good book written in plain English, which even 10 year old kids can understand. You can find free pdf file on google. While reading, do freecodcamp.

u/Wild_Space · 3 pointsr/CFA

If you know R, then Python should be no problem. Learning Python helped me learn Java, and now R just seems like another step. I think my Python resources are out of date now, since I was learning Python 2. Learn Python the Hard Way used to be free, now he's charging for it. Coding Bat is cool for practicing. Here's some MIT readings I used too, but again, theyre for Python 2 so theyre going to be out of date. I actually just picked up Automate the Boring Stuff but havent used enough of it to recommend it yet, but it definitely looks interesting.

edit: Here this post of mine from a while back has a lot more Python resources that may or may not be useful anymore:

https://www.reddit.com/r/CFA/comments/6h5566/python_resources/

u/core_dumpd · 3 pointsr/datascience

Jose Portilla on Udemy has some good python based courses (and also frequents this subreddit). There's regularly sales or some sort of coupon code available to get any of the courses for $10-$15, so it's very reasonable.

For books:

https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1491957662/ref=asap_bc?ie=UTF8 ... it's not out yet, but due any day. You can also get preview access on sites like Safari Online (which would also have all the books below).

https://www.amazon.com/Data-Science-Scratch-Principles-Python/dp/149190142X/ref=sr_1_1

For general python:

https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036/ref=sr_1_1

https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/ref=sr_1_1

No Starch Press, OReilly, APress and Manning generally have pretty good quality publications. I'd usually skip anything from Packt, unless it's specifically received good reviews.

u/BBorNot · 3 pointsr/SeattleWA

This is the best advice here. A coding bootcamp may give you a credential that's worth the price, but the real capability is from your own work/studying/interest. And that stuff can be done for almost free. I really liked Automate the Boring Stuff -- a Python book that provides some powerful tools very quickly.

The bootcamp will be 100x more valuable if you attend already able to code.

u/NextEstimate · 3 pointsr/learnpython

Amazon doesn't like web scraping without permission. I would just use camelcamelcamel to get the same information minus the hassle:

from bs4 import BeautifulSoup
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
r = requests.get('https://camelcamelcamel.com/Automate-Boring-Stuff-Python-Programming/product/1593275994',headers=headers)
print(res.statuscode)
> 200

price = r.text
soup = BeautifulSoup(price,'html.parser')
soup.find('span', class
='green').string
> '$24.45'

u/dead_pirate_robertz · 3 pointsr/software

> Fortran

ALL CAPS! FORmula TRANslation. Yeah, me and Bill Gates started coding around the same time. He was more successful than me. ;)

I'd question C# as your next big thing to learn. Python! This book might be right up your alley.

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/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/Canthros · 3 pointsr/programming

I'm mainly looking for things they could do to shore up their resumé when comparing it to somebody coming out of a 4-year CS program someplace. They need to have projects to talk about, and github's a good place to put that. Making contributions to open source projects seems like a good way to build experience doing the sort of maintenance work that keeps business systems churning, and a good way to get some practical experience cutting code that they won't have from a 3-month bootcamp. It's also a way to get experience using source control, dealing with code reviews, etc. I totally agree that they should be building their own projects, but github also seems like a good way to present that part of their portfolio.

They should keep up to date, specifically, on developments in tools and technologies they're trying to get hired to use. There's no reason to expend effort tracking, say, Haskell, unless you really want to work with it, professionally, but, if your skillset is all webdev, it might behoove you to have a clue about, say, ES2017 and how much of it's actually supported and where.

There's no reason for a junior dev to be mastering languages or tools they're not actually going to be using, but a bootcamper is going to have pretty narrow exposure to programming paradigms outside their existing skillset. Rolling through something like Seven Languages in Seven Weeks as a project you spend an hour or two on each week would help broaden their foundation, and maybe expose them to some other ideas and programming paradigms. Likewise, a survey of, say, algorithms and data structures, if only to the point of being able to explain the difference between a queue and a stack, or an array and a linked list. This isn't because these are immediately useful skills, but because they're things I wouldn't expect a bootcamper to have picked up in bootcamp and they are things I'd expect a CS grad to know (if not necessarily know well), and the bootcamper is competing with the CS grad for the job.

For comparison, somebody in r/csharp asked what people actually expect from junior developers a while back. This was my answer to that question, which was bounded in terms of the language and technology stack.

u/michael0x2a · 3 pointsr/learnprogramming

You could try Learn Seven Languages in Seven Weeks. It attempts to teach 7 radically different languages/paradigms at the same time -- Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. It sounds like he already knows Scala, and probably won't find Ruby too interesting given he already knows Python, but the other languages should hopefully be new.

u/35andDying · 3 pointsr/Frontend

Do not worry about frameworks. You need to understand Vanilla JavaScript first. Once you have a good understanding how everything works THEN you can worry about which library is best for each project. Get the basics down at Code Academy then try out Practical JavaScript

A more in-depth approach would be learn javascript properly

A quick lookup/learn guide that I found helpful is A Smarter Way to Learn JavaScript

u/bifurcation_ · 3 pointsr/learnjavascript

I'm currently going through this Kindle book, A Smarter Way to Learn JavaScript, and its associated website, in parallel with Eloquent JavaScript.

I personally feel like I understand better if I read a book with coding exercises, than through sites like Codecademy. Both books have their own coding environments on their sites, to be used with the books. Eloquent JS is much more dense in terms of reading material, so she may or may not choose to read it at the same time or at all.

The "Smarter" book is short, divided into easily digestible chunks of brief chapters, and has quizzes online to test your understanding of the material and to drill the syntax. It doesn't just tell you about a bunch of syntax then say, "Ok, solve this coding challenge; it's easy!" And then, you're left wondering how to start. So far I like this approach because it is a very gentle introduction to the language and its syntax. I think it's a great primer for wrapping one's head around the language, before getting into other heavier materials. Many books that are labeled for beginners make a lot of assumptions about your knowledge going in. This one really is beginner friendly. Other amazon reviewers seem to agree. It's not free, but it's inexpensive.

About me, for reference: I'm a girl (in case that matters). :D I've dabbled a little bit in trying to learn Python and Ruby, but I can't say that I can program at all really, just enough to be familiar with basic concepts like variables, conditional statements, and loops. I'd say I'm intermediate with HTML/CSS.

u/takeMeTo88 · 3 pointsr/learnjava

Java: A Beginner's Guide by Herbert Schildt: https://www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252

I found this to be a great first Java book.

u/corneliuszaius · 3 pointsr/Hacking_Tutorials

Ok, first step; recognize you have no idea what you're doing.

Next, do something about that. ( https://www.amazon.com/gp/product/0071809252/ )

Then try again when you've acquired java grok.

profit.

u/bubblemaster30 · 3 pointsr/java

I used this book,
http://www.amazon.com/Introduction-Programming-Comprehensive-Version-Edition/dp/0132936526/ref=zg_bs_3608_53

There are probably other good books, but I really liked this one. It has a broad range of topics and examples.

Also, I didn't start programming until college. Starting at 14 is awesome! You're going to be amazing by the time you graduate!

u/terivia · 3 pointsr/Teachers

I have my degree in Computer Science, so my path is probably not ideal for you at this point. However, that does not mean that you can't do it!


My honest recommendation at this point is to just jump in and get started. I've been recommending this book as a start for friends and fellow teachers https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036.


Alternatively, if python isn't your thing, grab a textbook for c or java. These are the ones I used for my degree and still keep as desk references.

https://www.amazon.com/Starting-Out-Control-Structures-Objects/dp/0133769399

https://www.amazon.com/Introduction-Java-Programming-Comprehensive-Version/dp/0132936526


Once you have gotten started and are fairly comfortable doing the exercises in books, I suggest these websites for additional problems to explore:

https://codingbat.com/

https://www.hackerrank.com/

https://leetcode.com/

https://uva.onlinejudge.org/

https://open.kattis.com/

https://codeforces.com/


If you are going to go for it, make sure to join some communities. Familiarize yourself with stackoverflow.com (ask jeeves for programming, with some proper wizards to answer questions). /r/programming is pretty good too.


Finally, never stop to sit on somebody else's problems and projects. Pick something that you want to make but have no idea how to make it. Then do it. And don't stop. See the project all the way through even though your code will be HIDEOUS and unattainable by the end. There is a lot to be learned from finishing a project.


The formal logic stuff is the root of computation, but if you are using your cell phone without understanding it, then it follows that you should be able to write programs without understanding it. There is a depth of programming where it becomes important, but I would say that 90% or more of developers don't really need to understand the underlying processes by which processors process.


Good luck!

u/zecg · 3 pointsr/programming

I've been meaning to start with something fun - how would you people say I'd fare with this as an introduction into functional programming, assuming I've got no programming background?

u/F2a · 3 pointsr/learnprogramming

Start with C. People say not to but I don't understand why. You'll definitely learn the concepts. Go here for some learning: http://cslibrary.stanford.edu/ . If you need more of a fresh start buy a textbook on amazon and start working through it. This one has good reviews although I've never read it: http://www.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/0672305100/ref=sr_1_1?s=books&ie=UTF8&qid=1312264160&sr=1-1 . It should have exercises that you do along the way and that is how you learn. If you get stuck or want some more programs to make send me a message.

u/furas_freeman · 3 pointsr/learnpython

"Automate the Boring Stuff" and other books the same author are free online - http://inventwithpython.com/


There are other free books for beginners

u/SpotsOnTheCeiling · 3 pointsr/learnprogramming

Well, what language?

I actually JUST got back home about an hour ago from riding on my bike to the library (check out my reply to /u/zabzonk ) for one of if not THEE book that has helped me most when I was first interested in programming.

[Python Programming for the Absolute Beginner, 3rd Edition - by Michael Dawson] (http://www.amazon.com/Python-Programming-Absolute-Beginner-3rd/dp/1435455002/ref=sr_1_1?s=books&ie=UTF8&qid=1405791222&sr=1-1&keywords=python+programming+for+the+absolute+beginner)

The book itself has a "fun" writing style, at least enough to make me engaged in the reading, the examples are easy to understand, and it helped me grasp basic concepts very quickly. Also, Python 3 itself if a really solid pick for a first language IMO.

Really though, check out tons of books on one language, even if you don't read them all, you can sample a bit of each to see which one you want to read. And if you don't understand something, try reading it in one of the other books to see if you understand THAT example. It might also help you a little bit to pick up a book on a DIFFERENT language, in my case I REALLY started grasping concepts when reading [Beginning Programming with Java For Dummies - by Barry Burd] (http://www.amazon.com/Beginning-Programming-Java-Dummies-Burd/dp/0470371749/ref=sr_1_4?s=books&ie=UTF8&qid=1405791600&sr=1-4&keywords=Java+for+dummies) because his writing style was really entertaining and had me entirely focused and learning the whole time.

In the end, I still can't code much worth 2 cents, but I've touched on C++, Python, Java, and C# now and really understand the concepts of programming without having programmed much of anything. I'll tell you right now the reading is important, but PRACTICE. MAKES. PERFECT.

Read, and code every example in the book and try to put your own twist on it. Once you understand a little, try for a simple idea you have in mind, maybe a Dice Roller with X amount of dice and X amount of sides? Maybe tic-tac-toe? Whatever sounds like a fun little project, try to make it as you learn. And any GUI (graphical user interface) programming is best saved for last, learn how to code before you learn how to make pretty menus.

u/gold328 · 3 pointsr/learnpython

This set me up for my first term in uni where we learnt python: http://www.amazon.co.uk/Python-Programming-Absolute-Beginner-Dawson/dp/1435455002.
It begins right at the begining and makes learning fun as you work your way through the book making games and by the end you would have made a game with a fully functioning GUI.

u/Lord_Zero · 3 pointsr/csharp
u/enkafan · 3 pointsr/dotnet

I generally recommend Headfirst C# for those looking for a gentle introduction

u/albion28 · 3 pointsr/ItalyInformatica

Sicuro di volere escludere a priori i corsi/video online? Escluderesti delle ottime risorse imo. Poi dipende anche dal tuo rapporto con la lingua inglese. Se è buono, vai su /r/learnprogramming. Troverai molte risorse utili!

Ti posso inoltre consigliare un buon libro su Python suggerito da molti: https://www.amazon.it/dp/1593275994/

u/Feurbach_sock · 3 pointsr/badeconomics

Someone here is a pybro but I can't remember who. Anyway, you reminded me of Automate the Boring Stuff with Python.

That's a good one imo.

u/motts · 3 pointsr/civilengineering

Python is pretty powerful and has a shallow learning curve for being able to automate a lot of simple things and do some helpful data analysis and visualization. I recommend the book automate the boring stuff with python. Teaches you things like working with Excel, scraping data from different sources, working with regular expressions to pull data from text, etc.

I also feel like there is always demand for spreadsheet wizs. If you want to learn VBA in excel you can record macros while you manually work, view the code and learn from there.

u/D3pIyWExck8mAEkb · 2 pointsr/java

Hi, I am learning Java at the moment and found the following book quite useful.

http://www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252/ref=cm_cr_pr_product_top

u/Sharpkloq · 2 pointsr/learnprogramming

I read a beginners book on Java. Now working my way through a more detailed C# book.

Java Book

C# Book

u/The_New_34 · 2 pointsr/learnprogramming

Java: A Beginner's Guide

For someone who does not know much about computers at ALL, this may be a bit challenging at first, as it doesn't go into much detail about downloading the JDK (if you wish to use it and not an IDE) and some issues about javac and java not working (again, this is only an issue in cmd/powershell if you're not using an IDE).

I would also recommend this html, css, javascript, and jquery bundle

The two books can also be bought individually


EDIT: Specified the downsides of the Java book a little more

u/starryeyedsky · 2 pointsr/dogecoin

Someone already suggested codeacademy, another one to check out is https://www.udemy.com/java-tutorial/.

Note: If you are looking for a teaching tool for people who have never coded before, always check to see if one of the first programs (if not the first) it has you code is a "Hello World" program (or equivalent). It is a simple program that just prints "Hello World" on the screen that is the first program most people learn to code. If the guide is starting with something more complex than "Hello World" it may not be for absolute beginners. Just something to look out for.

If you are OK paying for a book, a good book in the beginners section would be Java: A beginner's Guide from Oracle. Start with the two free sources mentioned first as the book jumps into more advance topics more quickly.

u/leapy_ · 2 pointsr/learnjava

Well, it's one year since I started my Java programmer career and I think you should start with basic and then decide what you want to do in future (there is lots of path to take).This worked for me:

  1. Get fammiliar with concepts in this book Java: A Beginner's Guide, Sixth Edition. There are basic which u will need everywhere and for me a form was really easy to follow.
  2. Try to create some basic game in console. For example I did some basic "Fallout style" adventure. Important is to try coding yourself and not copy/paste and try to finnish a project.
  3. Choose a path you wanna take. Do you want desctop app, android app or you want to work in a enterprise. Find a technologie which suit your purpose and focus on it. Don't try to learn everything, because then u will know nothing properly.
  4. Try to do something like DVD rental or anything where you will have to implement CRUD operations, use REST API and get your hands dirty with some MVC concepts.
u/maredsous10 · 2 pointsr/java

Java: A Beginner's Guide by Herbert Schildt (Author)
www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252/

u/hutsboR · 2 pointsr/learnprogramming

I was going to recommend reading a book but it seems you've already got a couple. When I started programming in Java about a year ago, I used this book.


I'm obviously still learning myself and have a long way to go but if you're interested I'd be willing to do my best to answer any specific questions you have. Just send me a message with a question or a way to contact you! (IRC, Skype, whatever.)

u/swiftversion4 · 2 pointsr/java

This is the text I used to learn elementary Java programming:

https://www.amazon.com/Introduction-Java-Programming-Comprehensive-Version/dp/0132936526

at the end of each chapter is a set of exercises... we're talking about 20-30 or more exercises.

I'm actually re-studying basic java because I have an advanced java course this fall. I'm just going back to each chapter, read through it, and doing every.single.exercise.

It gets repetitive very quickly, but that's what I want: to know the basics so thoroughly that I don't have to think in order to type or use them in basic scenarios.

The main point for me is to do the basic exercises so much that when I start this advanced Java course this fall, i'm not re-learning any of the basics. if you're willing to spend $15 to get an old copy, it might be worth it.

Or find a pdf online if you don't care about paying for it. That works, too, I guess.

u/dgbaker93 · 2 pointsr/learnprogramming

I use this text book in college and I find it very informative (but slightly pricey).

Link

Edit: forgot the link and a period

u/PrinceRaziel9 · 2 pointsr/learnjava

Daniel Liang's book is quite extensive and covers and wide variety of subjects beyond just learning about variables, for loops, and OOP. He also covers advanced data structures, multithreaded programming, JDBC, servlets, sockets, etc.
https://www.amazon.com/Introduction-Programming-Structures-Comprehensive-Version/dp/0134670949/ref=sr_1_1?crid=MISLS3C1LLZC&keywords=introduction+to+java+programming+daniel+liang+11th+edition&qid=1557694359&s=books&sprefix=introduction+to+java+%2Cstripbooks%2C125&sr=1-1

u/ziptofaf · 2 pointsr/learnprogramming

Ah! You have few options available then:

Helsinki's university MOOC:

https://moocfi.github.io/courses/2013/programming-part-1/

And two popular and often recommended books, you should be able to find them at your local university bookstore easily (even if you live outside US, at least Horstmann book is available in multiple languages):

https://www.amazon.com/Introduction-Programming-Structures-Comprehensive-Version/dp/0134670949

https://www.amazon.com/dp/0134177304

u/papichulo916 · 2 pointsr/javahelp

Building Java Programs: A back to basics approach is the one I'm using right now for my class. It is expensive ( you can get it for around $55 on amazon) but I find it easy to read and therefore easy to learn the stuff.

u/James_Johnson · 2 pointsr/programming

The Haskell School of Expression

This book teaches Haskell through multimedia, some of which is programming music. I own it. It's good.

u/TheDarkIn1978 · 2 pointsr/javascript

If you're new to programming, I will suggest starting off with this prior to studying JavaScript specific books:

The Absolute Beginner's Guide to C


It's a perfect for people just starting out as it teaches the basics while being super easy to follow. Even though it's a book about C programming from 1994, most of today's common programming languages, including ECMAScript/JavaScript, are based on C, so the lessons in the book are still entirely valid.

u/obliord · 2 pointsr/C_Programming

Is this the "Absolute beginners guide to C" you were referring to?

https://www.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/0672305100/

u/MulticastX4 · 2 pointsr/C_Programming

Absolute Beginner's Guide to C: http://www.amazon.com/dp/0672305100/

It's old, but it will definitely get you started. Of course the other recommendations are good too, but this might be worth a look.

u/JustinitsuJ · 2 pointsr/cs50

I think CS50 gives you a good solid foundation for C. When I started the course, I used it in conjunction with a book mentioned in the syllabus (not sure if it's still mentioned in there or not, but it was when I started), "C Programming Absolute Beginners Guide" (linked below). It is easy enough to work through and it gives you a different angle to some of the similar concepts that you are learning in CS50.

You aren't going to be an expert in C when you finish either, but hopefully you will understand some important basic concepts.

Also, learning programming is hard, especially at the start, so don't beat yourself up if you don't understand stuff along the way. You aren't alone, there are plenty of resources out there to help (like this sub).

This is the book

u/satysin · 2 pointsr/C_Programming

If you are a total beginner then read C Programming Absolute Beginner's Guide, Third Edition by Greg Perry & Dean Miller
https://www.amazon.co.uk/Programming-Absolute-Beginners-Guide-Guides/dp/0789751984

If you have some basic experience in another language such as Python, Visual Basic, JavaScript, etc. then read Programming in C, Forth Edition by Stephen Kochan
https://www.amazon.co.uk/Programming-Developers-Library-Stephen-Kochan/dp/0321776410

If you are comfortable programming in another language such as Java, C#, Python, etc. then read The C Programming Language, Second Edition by Kernighan & Ritchie (also known as the K&R book)
https://www.amazon.co.uk/C-Programming-Language-2nd/dp/0131103628

u/Always_posts_serious · 2 pointsr/learnprogramming

I got this book which did a good job of explaining everything. To be honest, memory allocation in C is not very hard, but any form of data structures and pointers can get confusing fast, especially if coming from Python. The way C works is also a bit different from Java since it is not object oriented.

I also recommend watching CS50X lecture videos over data structures in C. David Malan does a good job of breaking it down, drawing it out on a board, and giving examples.

u/Railgun5 · 2 pointsr/ChilluminatiPod

Sort of on a tangent from the bit at the end, but you can actually get degrees in witchcraft/magic/other assorted supernatural stuff, depending on the college (since there are some ones that have a build-your-own-degree system). It's classified as more of an anthropological study, historical rituals and belief systems and all that. Pretty interesting stuff to actually read about and ponder. There was a book I read years ago that went into great detail on the subject matter called Real Magic: An Introductory Treatise on the Basic Principles of Yellow Magic by Isaac Bonewits, who has a B.A. in Magic from UC Berkeley.

u/eccehomo999 · 2 pointsr/Wicca

Maybe Real Magic by Isaac Bonewits? Amber K. has some questionable content out there.

u/09q830598193840598 · 2 pointsr/WTF

TL;DR: no, there's no drugs or shamanism. Think more modern Wiccan ceremony and less ancient Shamanistic trance-journey.

Long form: The aspects of Shamanism we're familiar with - the trance state, the "journey" to the "spirit world," the separation of spirit-body and physical body -- those are NOT written about as part of Temple practice. And all we have left of Old Babylon is:

  • What was written down by the privileged, educated scribal and religious elite, and only then what survived the millennia after leaving their hands, and

  • What remained of their everyday belief system as manifested centuries and millennia in Late Antiquity, from which period far more data, but also far more confusion and contradiction, survives.

    Some facts about Ancient Mesopotamian Magic, as we know it now:

  • What we know about was practiced BY rich people (Temple elite, who spent years in education preparing for the vocation - think PhD or MD doctors), FOR rich people (kings, nobles, wealthy folks who could afford Temple services)

  • The beliefs of the elite are all we have, and they are highly regimented, elaborate and official-seeming, and directly related to current real-world political structure. The Temple priests were part of the ruling class, and had an interest in creating an orthodox religious practice that reflected social order.

  • In Jacobsen's The Treasures of Darkness there's a clear explanation of the evolution of the religious pantheon imagined as first familial figures, then as political leaders, and later as kings and emperors as the centuries progressed. Always, the Gods in Heaven are a reflection of the leaders on Earth. The magic practiced reflects that, and often calls upon the Gods as authority figures to justify magical action. First the Gods are parents asked to help their suffering children. Later, they're judges, legal witnesses, and ethical arbiters. Not very Shamanistic, which is a lot more grassroots, and anarchic. Shamanism is about the practitioner and the community. Mesopotamian magic is about the King, the needful citizen, and the theory of a complex, cosmopolitan society.

  • We have no evidence of a popular or "grassroots" practice from the most ancient Mesopotamian cultures, except in so far as that ordinary people did seek out formal Temple services, and there were consumer-grade services for the lower classes. Long story short, the Temple definitely didn't do trances or drugs, and we've not got any indication that ordinary folks did it either.

  • Furthermore, when we get better records, and see survivels of Babylonian magic as part of contemporary Hellenic culture, all of those trappings are still of high Temple magic. They're often degraded forms of formerly precise scholarship, like fake Cuneiform amulets that don't say anything but gibberish, but are made by a local craftsman to resemble Temple-produced amulets (which would have been highly specific, like a doctor's prescription) from a bygone era.

  • Unlike in contemporary Shamanism, we have no evidence of any belief in Babylon of spirit worlds, spirit journeys, or altered states of consciousness. There's myth cycles like Inanna's descent into the underworld, but there's a clear, regimented divide between "Heaven," Earth, and "The Underworld." The Underworld is where the Underworld Gods live, BTW. It's not the land of dead humans, which is basically a shitty local existence, located literally under your house. There's no extra parallel spirit world.

  • Unlike in contemporary Shamanism, there's no mention in any of the surviving ritual texts of drug use, or anything that could even sound like a hallucination. Priests are technical practitioners, who are expected to be completely in control, and complete elaborate and highly-choreographed rituals with precision and everything in the right order. A ritual is more like a court case punctuated with symbolic magical performances and a lot of emotional potery.

  • And unlike in Shamanism, there's no separate "spirit world" where the spirits live their own lives separate from ours. There don't seem to be animist or nature spirits at all. There are Gods, who are rulers by virtue of having created humanity and the world. Some, like Lammashtu, are actually pretty dangerous and anti-humanity. Some, like Ea, are very pro-human. Some, like Shamash, just have a job to do - watch everything, and mete out justice. Demons are also of divine origin - they're the go-fers of the Gods. Demons can be sent by pro-human Gods to chase away anti-human Gods. OR they can be sent by justice-loving Gods to punish human evil or thoughtlessness.

  • And your ancestors are in the land of the dead, and need your attention and gifts of food and drink, or they'll starve and thirst. If you forget them, or if there's no one left to care for them, they go crazy with hunger, betrayal, and loneliness, and start to wander. They're the wild "spirits" of the desert, representative of the places outside the city walls where human law and civilization hasn't tamed. They wander around lost and attack anyone in reach. They can't remember who they are.

  • Unlike in Shamanism, where there's a separate place for the dead humans to go, the Land of the Dead is imagined as a sort of eternal waiting room. You just sit under the house, and it sucks, and you slowly forget everything. It's actually pretty depressing. In contrast to the vibrant, well-populated and multi-layered spirit worlds of nature-oriented Shamanisms worldwide, the afterlife of Ancient Babylon is a TV stuck on a dead channel.

  • All of the really good action in Mesopotamia is therefore right here in the city -- the important stuff happens in society and civilization, and in the living human world. Just like there's no civilization or safety outside of the city walls, there's no greater world to be a part of spiritually, either. There's literally no greener grass on the other side of the fence -- just wild animal attacks and chaotic-ghost metaphors. There's no chance of humans dwelling in a summertime paradise or going to live with the Gods (they are distant kings and queens, far above us -- they don't like us enough to invite us home!) in Heaven, or getting punished in the Underworld. (They don't wait to punish you - they'll send you a headache or an illness or kill your livestock right the hell now). While Shamanism tries to attain access to a spiritual plane, there's no point or benefit to that in Mesopotamian practice. It's all about the here and now.


    Basically, ANE magic is the remedy to solve every problem, because they didn't have a lot of other tools. This translation of Mesopotamian ritual texts, myths, and prayers provides a good layperson's overview of the way "magic" was used. Sometimes, it's ritual, sometimes prayer. Sometimes it's just a quick incantation to describe, and therefore get control over, a problem.

    "Apotropaic" is the popular term for Babylonian magic -- almost every instance we have is a prayer or ritual intended to ward off, or turn away, a negative consequence or negative events: everything from passing gas (yes, there's an incantation against breaking wind in the Foster book..) to being convicted in a harsh court system, to illness, death, and actual magical attacks by sorcerers.

    Its principles most strongly resemble those of modern western "Ceremonial Magic," minus the Christianity. There's ritual recitations, specific times of the day or night to do certain actions, there's many of Isaac Bonewits's Principles of Magick

    To remove a magic curse, you rub the patient with an onion, to get the bad juju in the human to sync up with the onion. Then, you slowly peel the onion, stating that as you peel the layers off the onion, the curse is also being peeled away from the patient. The onion can control the curse, is an effective "handle" by which to "grab" the curse, because it's been put into physical contact with the curse-ee. So as you peel the onion and burn the layers, you can say that you're also removing the curse from the human that the onion represents. When the onion's all burnt, so's the curse! That's the principle of Contagion from Bonewits, or just another day at Temple in Babylon.

    To destroy an unknown sorcerer's curse on you, attack the sorcerer, of course. But if you don't know who they are, make a statue (two statutes, a man and a woman, just to cover all the possible cases!), and announce that these statues are your witch or warlock, and that burning them "burns" the real person who cursed you. Bonewits' Sympathetic Principle, or top of the line Mesopotamian evil-fighting technology.

    So that was a lot of words to say, basically, NO, there's no drug use, no shamanism, no trance states, and no real dietary restrictions before rituals (though Maqlu requires a ritual bath, I think?).

    Your shaman buddies who say "no pork before ritual" are actually pulling that out of their asses, probably basing it on generic cultural prejudices against pork absorbed from religious culture.

    Many traditional shamanisms use starvation to create a ritual trance, but taboo foods are 100% arbitrary in all of those systems. Taboo drugs may well be for practical reasons. But many traditional shamans will actually tell you that drug use is overhyped and hardly ever called-for amongst real practitioners. If your shamanism training uses drugs, I'd be extremely skeptical of its authenticity... Not to say it's definitely wrong, but it's highly suspect, as so many modern folks use "shamanism" as a flimsy excuse to feel spiritual about their drug use.
u/MerryMage · 2 pointsr/emulation

Getting much off-topic here, but:

Programming is kinda like art. It doesn't matter if you're using oils or watercolours or crayons or charcoal or pencil or a Biro, just do it. You can pick up other art-forms later, and it'll be much easier to once you're learnt one. What's more important is that you start, have an interest, and are willing to practice and learn.

That said, it'll likely be easier to pick a language that has a good beginner community around it as a first language. Python is an example with a huge beginner community. Perhaps you might prefer to start with an interactive tutorial like the free interactive version of How to Think Like a Computer Scientist, or you'd prefer to read a book like Python Programming for the Absolute Beginner, or perhaps both! Doesn't matter.

Once you're reasonably comfortable with a language, you can pick up more. A language you might want to familiarize yourself with eventually would be C, since it's practically the lingua franca for systems-level programming. If you're interested in emulation, you will eventually want to become familiar with the assembly language for the types of CPU(s) you're interested in emulating.

Good luck.

u/Myhorta · 2 pointsr/portugal

Eu prefiro um bom livro. Prefiro ter uma boa introdução de conceitos, complementada por exercícios. Se estivesse agora a começar a aprender começava por pyhton ou Ruby.

Para Ruby recomendo Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide (The Facets of Ruby).

Para Python nunca li nenhum, pelo que não sou o melhor para recomendar, mas uma pesquisa rápida revelou este: Python Programming for the Absolute Beginner, 3rd Edition que parece ser bem fixe.

Outra opção que acho bastante boa, é fazer um curso no Coursera, ou parecidos. Podes pegar num curso já concluído e avançar à velocidade que quiseres.

u/E13ven · 2 pointsr/learnprogramming

Sure, it's this one

u/IrishLadd · 2 pointsr/SaltLakeCity

If you want to go windows / .Net dev: http://msdn.microsoft.com/en-us/beginner/default.aspx

For Linux: http://www.amazon.com/Python-Programming-Absolute-Beginner-3rd/dp/1435455002

Both are good options for web or client based development.

u/Luc_R · 2 pointsr/Python

Python is a good language to learn and you can do most things (as a beginner) on an iPod I imagine. However, I would recommend getting an actual computer to go further and do more learning proper tools for development and exploring new libraries will probably be difficult to do on an iPod (not to mention trying to write large programs). Also I would recommend this book http://www.amazon.com/Python-Programming-Absolute-Beginner-Edition/dp/1435455002%3FSubscriptionId%3DAKIAILSHYYTFIVPWUY6Q%26tag%3Dduckduckgo-d-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1435455002 I get it for everyone I know when they want to learn python.

u/professorlamp · 2 pointsr/learnprogramming
u/cheifing · 2 pointsr/learnpython

As someone who is also learning python, I would recommend: http://www.learnpythonthehardway.org/

Since you already know a bit about python, you'll go through the beginning chapters very fast, but the later ones get interesting. The author also checks the comments very often, answering any questions you may have.

If that seems to advanced for you, or if it gets too hard, I would recommend this book. This book is great if python is your first language, and goes through everything in detail. It also teaches you some of the general programming lingo.

u/Deslan · 2 pointsr/learnpython

I have two books which I think are excellent, and both do what you describe.

One is Rapid GUI programming with Python and Qt which teaches you GUI programming through examples. It's a really good book, the only thing it lacks is that it's not Python3.

The other one is Python programming for the absolute beginner which lets you create games, one at a time, to teach you Python programming by example. This book also has a continuation called More Python programming for the absolute beginner which continues where the first one left off. I don't have the second book, but they both seem to be rather good and well liked by their readers. Like the Qt book I mentioned, these two are also Python2, which is a bit boring but they will at least get you started.

u/Crath · 2 pointsr/learnpython

I recommend this book to everyone who asks about programming or learning python

Python for the Absolute Beginner

u/Stem3576 · 2 pointsr/learnprogramming

I have found that the head first books to be the easiest to read while not having access to a computer. It has challenges where you write the code by hand inside the book and a couple other cool features.

u/TheInfamousMaze · 2 pointsr/learnprogramming

I learned on this book: https://www.amazon.com/Head-First-Learners-Real-World-Programming/dp/1449343503/ref=sr_1_1?ie=UTF8&qid=1523941220&sr=8-1&keywords=Headfirst+c%23

Later on I found this website for virtually any language:

Http://www.hackerrank.com/‎

However if you're just going to use C sharp for Unity then just start doing the Unity tutorials. The head first book really deals with how to create user interfaces and full programs whereas Unity programming requires a lot more knowledge about the engine rather than how to program in C sharp.

u/combovercool · 2 pointsr/csharp

This is how I learned C#. I had taken a semester of C++ in college when I read this. It doesn't talk down to you, and it isn't dry. You could probably skip the first few chapters since you have a lot of C++ experience.

Enjoy C#. It's great, unless you are putting down the cash for Visual Studio, but I would highly recommend using it.


u/z4rdoz · 2 pointsr/gamedev

Maybe go straight to c#? Worked for me. Get a good book and just work through it. I like this one a lot. If that's way too difficult, then take the CS101 thing, but I wouldn't do that straight away. Get familiar with making code that does stuff, do some stuff in Unity, and then, if you find yourself being held back by a lack of understanding of the basic principles, take the course.

u/darthirule · 2 pointsr/learnprogramming

What are you currently using to learn?

I recommend the headfirst series.

http://www.amazon.com/Head-First-C-Jennifer-Greene/dp/1449343503

And here is a blog post with a good outline for learning C# that was posted here on reddit before. I don't remember who the original OP was though.
http://www.nicoschuele.com/posts/teach-yourself-web-development-from-scratch-with-ruby-python-or-c

u/Lerke · 2 pointsr/learnprogramming

I began with C# with a book called Head First C#. I've found that it's a fantastic book for beginners. Good luck!

u/nikofeyn · 2 pointsr/csharp

take a look at head first java and head first c#. i learned object-oriented programming from head first java, but was implementing object-oriented code in another language, which is one example of how good the book explains the general concepts. it is far better than head first c# in terms of explaining object-oriented concepts and is likely better than most books, but head first c# gets you a lot of hands on experience with visual studio and c#.

reading head first java first and then moving to head first c# wouldn't be a bad approach, in my opinion.

u/wpnx · 2 pointsr/learnprogramming

You're right that the way to solve this is to read a reference book. You should probably only focus on one language (there are idiosyncrasies between java & C#)

The head first guides are a good start.
C#: here
Java: here

u/PatrickMorris · 2 pointsr/dotnet

The Head First series is really good, I learned C# using this book. It is focused on GUI programming though, if you are looking for web stuff then you would probably be better with something else.

Head First C#

u/create_a_new-account · 2 pointsr/learnpython

Classic Computer Science Problems in Python
https://www.amazon.com/gp/product/1617295981

Introduction to Computation and Programming Using Python: With Application to Understanding Data (The MIT Press) second edition Edition
https://www.amazon.com/gp/product/0262529629

Python for Programmers: with Big Data and Artificial Intelligence Case Studies
https://www.amazon.com/gp/product/0135224330

Problem Solving with Algorithms and Data Structures Using Python
https://www.amazon.com/gp/product/1590282574

Python Programming: An Introduction to Computer Science, 3rd Ed.
https://www.amazon.com/gp/product/1590282752

u/mstoiber · 2 pointsr/web_design

Sorry, ran out of time. Here's the rest of my answer:

If you are more of an engineer and not that interested in design, but in Front-End Development, start with Bulletproof Web Design, following up with Transcending CSS.

For JavaScript, read You Don't Know JS and Eloquent Javascript. (The second edition of Eloquent is going to be released on 17th of november, if you can't wait until then, there's a first edition aswell)

A very important design book I forgot aswell: The Design of Everyday Things.

Good luck on your way to mastering Web Design!

u/N-Dufva · 2 pointsr/learnprogramming

Automate the Boring Stuff with Python Is also something you might want to look into. It is a little bit easier than "Python the Hard Way" in my opinion but reading both at the same time is completely doable.

Edit (added this after a bit of thinking):

For CS in general there are a couple of answers, the first is sadly to give up on reading coding literature on the kindle. Most books will make the code unreadable. But that doesn't mean that there aren't things to read related to programming. My first suggestion would be The clean Coder.

But if you are willing to remove yourself from the kindle I have two more suggestions.

First "The Art of Computer Programming" is the extreme answer. It consists of several books and I have tried going trough it multiple times without success. But each time I open the any of the books in the series I learn something new. But the books should come with big warning, these are not easy to read.

Second I would go trough the CS50 course on edX.com, simply put it's the best introduction to CS available, and it is can be accessed for free.

u/Fight_till_the_end · 2 pointsr/learnpython

Hi,

I'm not an expert but this worked for me.

+++++++++++++

import bs4, requests

headers = {"User-Agent": 'Chrome'}

res = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-Programming-dp-1593275994/dp/1593275994/ref=mt_paperback?_encoding=UTF8&me=&qid=%27',headers=headers)

​

soup = bs4.BeautifulSoup(res.text, 'lxml')

​

buy_box=soup.find(id='buyNewSection')

price = buy_box.find('span', class_='a-color-price')

​

print(price.text)

​

+++++++++++++++

u/ruffyen · 2 pointsr/sysadmin

Automate the Boring stuff with Python is a pretty good book that covers some basics of things and gets the creative juices flowing. They also have one for Powershell.

​

The other book that I found really interesting was Practical Packet Analysis. It really opened my eyes to the power of wireshark.

​

And enough can't be said for Phoenix Project. Really interesting read that explains it in a real world like scenario instead of just a White Paper of how to do stuff. Above all else...avoid being a Brent.

u/TheNumberOneDuder · 2 pointsr/inventwithpython

Does your code look exactly like this?

request = requests.get("https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994")
request.raise_for_status

u/BRAF-V600E · 2 pointsr/bioinformatics

For Linux: The Linux Command Line: A Complete Introduction

For Python: Automate the Boring Stuff with Python: Practical Programming for Total Beginners

For R: The Book of R: A First Course in Programming and Statistics

These are all from No Starch Press, and I really like how they all function as complete introductions to their subjects. I've tried a number of programming books, but these have remained my go-to books for recommendations due to how well they build up basic principals for each concept or language. That said, I feel as though The Book of R is the weakest of the three, and maybe look into other recommendations for R if you get more replies.

EDIT:

Just realized that you asked for courses, not sources, my bad. Either way, I do encourage you to consider the above as alternatives to learning these concepts from online courses, as I've found them to be just as good if not better than some online courses I've seen.

u/Blaq0nyxx · 2 pointsr/learnpython

No.

To open up the command prompt, look to the lower left hand corner and hit the windows icon.

In that search bar, type in "cmd" and hit enter.


BTW, id suggest you try, "Automate the Boring Stuff With Python".

Extremely easy read, and here:

https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994?crid=2GDSMX268GQHL&keywords=automate+the+boring+stuff+with+python&qid=1536777036&sprefix=automate+the+boring+%2Caps%2C216&sr=8-1&ref=sr_1_1



https://automatetheboringstuff.com/
(the FULL book)


https://www.youtube.com/watch?v=aFfDDdAPCbA (random review of the book)

https://www.youtube.com/watch?v=1F_OgqRuSdI (free course sample)


https://www.udemy.com/automate/
The book CLOSELY follows the course

u/illums · 2 pointsr/learnpython

Similar situation here. I have been studying for 4 months now on most free time (avg: 15 hr/wk). 3 days ago I started codecombat.com and have made it half way though that game. It is all starting to come full circle and beginning to really grasp the concepts. It is previous study, and code combat that has brought me to my current level of understanding of python.

Books I have read:

Code: The hidden language of computer hardware and software:

https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/073560505X/

​

Automate the Boring Stuff with Python: Practical Programming for Total Beginners:

https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994

​

Android App::

SoloLearn:Python:

https://play.google.com/store/apps/details?id=com.sololearn.python&hl=en_US

​

Youtube:

Python programming in one video:

https://www.youtube.com/watch?v=N4mEzFDjqtA

I have probably watch this 25 times in the last 4 months. Can about recite the whole thing now. haha

​

Game:

CodeCombat

codecombat.com

​

Online Class:

https://www.edx.org/learn/python

​

I have used all of these to different degrees of completion. I think if I had it all over to do again I would go in this order.

  • Code: the hidden language of computer hardware and software
  • Code Combat
  • Solo learn android app
  • Automate the Boring Stuff
  • EDX learn python class
  • and the special sauce of mixing in the the 45 minute video from youtube when possible.

    ​

    I am going to try check.io out after I finish Code Combat.

    ​

    I am not an expert by any means and still have so much to learn. I can feel myself improving, I have no intentions of becoming a full time software developer in the future. I want to learn how to program because I consider it a useful skill. After seeing the amount of time I have put into Rocket League over the past 4 years, I decided to do something more useful with my free time which is limited anyhow, because of work and family. And who knows what the future holds, maybe one day I will be able to make a dollar with my programming skill.
u/_Mega_Zord_ · 2 pointsr/learnpython

I think this two It's very good for beginners: Automate the Boring Stuff with Python and Python Crash Course. And this guy, his YouTube channel is amazing sentdex

u/zkilling · 2 pointsr/blackhat

I really enjoyed Python Crash Coarse and Black hat Python for learning scripting

Also any ting from No Starch Press. They have some great books.

u/_the-dark-knight_ · 2 pointsr/learnprogramming

Read Python Crash Course by Eric Matthes. It's a great intro to programming. Or check out The Odin Project.

You could even do both! They are both great resources and very beginner friendly. If I could do it all over again, I wish I had started learning how to code at 16. You are in a great spot in your life, and the more you learn now, the better off you'll be for landing a great job that makes you happy. Good luck to you!

u/Cerkoryn · 2 pointsr/cscareerquestions

Your most important starting step is to make sure that you have the foundational knowledge, at least at a conceptual level. I'm a big fan of books, so I would recommend a few to you.

Pick ONE of these. Exam is not necessary, but recommended:
Mike Meyers CompTIA Network+ All-in-One Exam Guide
Todd Lammle's CCENT Study Guide - ICND1

Pick ONE of these. Pay attention to business terminology as well. Again, exam is not necessary, but recommended:
Mike Meyers CompTIA Security+ Certification - SY0-501
CompTIA Security+ All-in-One Exam Guide
Darril Gibson SSCP All-in-One Exam Guide

100% read this. It's the Bible of Python scripting. Second edition is brand spanking new too:
Automate the Boring Stuff with Python

This is a good all-around Penetration Testing book that teaches Linux too. You don't *have* to use Kali, Ubuntu is probably less intimidating to those new to Linux, but you will have to install your own software/packages. This is the only book on this list I haven't read, but I often see it recommended:
Penetration Testing: A Hands-on Introduction to Hacking

While you read these books, you should install some kind of Linux distro on a home computer and use it for practice. I would also recommend doing HackTheBox(first challenge is to hack the login page) and starting with the easy boxes. Do as much as you can on your own first, but if you get stuck, watch IppSec's YouTube walk-through for the box you are on. Might be a bit overwhelming until you get through most of the books on that list though.

You should also start looking towards either the eJPT/eCPPT, the OSCP, or GPEN at this point, as those are the best value certifications in this field and will hold a lot of weight at an interview. There's some stigma with certifications in IT/CS, but the ones I listed are all baseline knowledge and/or high value for those in this field. At the very least the knowledge will go far. But definitely avoid anything from EC-Council like the plague.

u/rubee64 · 2 pointsr/duolingo

This book was very helpful in learning some of the stranger parts of German grammar and conjugation: https://www.amazon.com/Everything-Learning-German-Book-understand/dp/159869989X/

I think watching dubbed/subbed videos in German would be extremely helpful! I have heard of Yabla (https://www.yabla.com/) but I was trying to put off the subscription-based things until I really wanted to push myself to the next level. I will look into the Clozemaster site though.

u/cliffffs · 2 pointsr/languagelearning

I used this book a while ago and really liked it.

This one also looks like it would be good.

u/TheRubyRedPirate · 2 pointsr/Random_Acts_Of_Amazon

I've always said that if I had a superpower, it would be to understand any spoken or written language. I took 3 years of Spanish in high school, but like most high school kids, I didn't pay a lot of attention and I barely remember anything. I have so many languages I want to learn. I know some American Sign Language that I learned as a kid. Mostly seasons, numbers, letters,months. But i never learned to make sentences. I'd love to learn German and Russian. I think they are both beautiful languages. My husband took etemology and some German in college so he teaches me what he remembers here and there.

A book series I love has frequent German that I'm always translating. I also love the show Grimm and it has a lot of German I'd love to learn, I'm going to add this book of easy learning for German

Hey Philipp, wie war denn der Urlaub?" "Gräßlich! Im Hotel hatte ich Zimmernummer hundert. Und vom Türschild ist die Eins abgefallen!"

I love that this video has the English and German lyrics!


What languages have you studied? What made you choose Russian?

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/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/Lesabotsy · 2 pointsr/learnprogramming

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

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/minond · 2 pointsr/webdev

Not really related to mobile development, but he should still really enjoy these if he hasn't read them already:

u/dig-up-stupid · 2 pointsr/learnprogramming

Neat interview question, I'd either love it or hate it depending on what they expected to get out of it. I do think it's a bit problematic because how programming languages are different usually has (among other things) straightforward technical answers, but asking why one is more popular or successful than another is usually better answered from a historical/political perspective than a technical one (often, anyway). Part of your job will be to narrow down what the interviewer is actually asking.

To learn more about different programming languages themselves, I've seen this book recommended highly before (on this sub) and have it on my reading list, though I haven't got to it myself yet. If you're into MOOC's then I can say that I surveyed this course and enjoyed it for the price (free).

For the "why thing x is popular" side I would recommend just googling around (or waiting on reddit) to familiarize yourself with the popular flame wars. Most everything you will read is straight up wrong (just wait around for people to talk about the performance of Java for the best example). It may sound terrible, but you don't need real answers, for an interview you just need something to talk about. The history of CS is still a tiny field, and I'd eat my shorts if an interviewer was actually well informed on the subject. Here is a classic essay on why C beat out Lisp historically, it's arguments tend to get recycled a lot for other topics as well (Java, OOP, etc) despite it basically being an opinion piece.

u/XMR1 · 2 pointsr/IWantToLearn

If you know a language that you want to learn, go ahead and look for tutorials online (there really isn't the perfect beginners guide).

If you don't know/care for any specific language, I'd recommend the book 7 languages in 7 weeks to get started.

That way you can learn a few different language paradigms and find what suits you best.

I highly recommand that you not only go over the book and do all the examples, but ask yourself after each language: "What cool (small) thing could I build myself with it?".

And then browse the web for some more tutorials on that language.

You won't know any of these languages very well at the end, but you'll have a general overview and can then dive into any that you like.

If you are interested, you can also PM me and I'd offer some help (mostly chat-based explaining and pointing to resources, etc.).
I currently have a lot of spare time and know C#/Java/Php, generall HTML development and am always happy to support someone willing to code (most people only care for the result, but I believe coding to be an art itself worth more than that ;) ).

tl;dr find a language you like, look for online tutorials or books and just start learning

edit: also check our subreddits like /r/coding and /r/programming.

u/madmaxx · 2 pointsr/AskComputerScience

While you only need to learn the languages you're going to use, it can help to be familiar with how to read (and solve problems) languages of various lineages, structures, and dialects (e.g., C-like functional, imperative, etc.).

There are books (like this one) on the topic, and many CompSci programs include a 3rd or 4th year language survey course. I found that this course (and much later that book) helped me think about solutions more clearly, especially after having solved one problem across several languages.

Also, if you're at all interested in language design (or processing), having more mental models of programming languages can help immensely.

On the other hand, when I'm hiring I don't really care what language(s) you know, as long as it's clear you've done well with the ones you use (and how you talk about your opinions around them). If it's clear you actually know a number of languages, you'll get some bonus points.

u/linuxjava · 2 pointsr/programming

Or just buy 7 languages in 7 :)

u/cakerunner · 2 pointsr/learnjavascript

Just a head's up: EloquentJS will go over your head really fast really soon if you've no introduction to programming to begin with. I struggled with it and am still not nearly halfway through. Instead I've focused on other tutorials like ASmarterWayToLearnJS to help me understand the fundamentals better before diving into EloquentJS. As others have suggested, try some of the online tutorials first so you don't get overwhelmed.

u/babbagack · 2 pointsr/learnprogramming

try Mark Myer's book A Smarter Way to Learn JavaScript

https://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C

loved it, not painful at all. done 2 of his books, great for getting feet wet, not an expert or autonomous but lots of exposure.

u/just_mr_c · 1 pointr/AskNetsec

I know you said classes so this may not fit what you're looking for, but I'd recommend the book Automate the Boring Stuff with Python. There's a site with the content free here. I used this book to help me first learn Python and come up with some little sub 20 line scripts to help me automate work tasks.

Also check out /r/learnpython, they're a cool community.

u/lazyAgnostic · 1 pointr/santashelpers

For programming, what kind of programming is he into? Here are some cool programming books and things:

  • Automate the Boring Stuff with Python This book has a lot of beginner projects that are actually useful.

  • Arduino A little microprocessor that he can use to make cool projects. I'm a software engineer and I had fun playing aroung with this. Plus, you can use it for actual useful things (I'm planning on making an automatic plant waterer, but you can look online for all the awesome stuff people have made).

  • Raspberry Pi Similar to the arduino but it's a full computer. For more software-heavy projects than the arduino. I'd probably recommend starting with the arduino.

  • Great book about how code and computers actually work that's geared towards the "intelligent layperson" link.

  • If he's already programming and wants to create games I can recommend this one.. Not good for beginners though.

  • If you want to give him a well written tome about game programming here it is. Again, not really for beginners but really good for someone wanting to learn about game programming
u/TheStudyOf_Wumbo · 1 pointr/UofT

It sadly has been like 12 years since I started programming so my knowledge of where to start is rusty. The best thing I'd recommend is to go on Amazon and look for a python beginner book with high ratings.

I'm guessing if you want to start generically you can try:
http://www.amazon.com/Python-Programming-Absolute-Beginner-Edition/dp/1435455002

If you find any of the following areas interesting:

Pattern matching with regular expressions
Reading and writing files
Organizing files
Debugging
Web scraping
Working with Excel spreadsheets
Working with PDF and word documents
Working with CSV files and JSON data
Keeping time, scheduling, tasks, and launching programs
Sending email and text messages
Manipulating images
Controlling the keyboard and mouse with GUI automation

Then this may be interesting for you:
http://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/ref=pd_cp_14_1?ie=UTF8&refRID=0PKBV1D3FY5M1JEMZM3P

There are many introductory books out there, and I have not read the above personally but to date I have not been let down by books with a high rating and > 100 reviews.

ALSO it probably is worth checking out CSC108 lectures.

u/jscythe · 1 pointr/linuxmasterrace

I'm going to +1 the Automate The Boring Stuff With Python recommendation. You'll get way more use out of this book than you'd ever believe. After reading this book, I started looking for things to automate. I still find repetitive tasks to write scripts for on a regular basis.

Everyone wants to make games, but you'll get way more mileage out of this book than you expect.

u/auchi · 1 pointr/bestof

That describes the problem I'm having very well.


I've been thinking of switching over to the How to Think Like a Computer Scientist, it's good to get some confirmation that it's a better place to start.


I didn't know about Al Sweigart. Is this one of the books you recommend? "Automate the Boring Stuff with Python: Practical Programming for Total Beginners"


Also, one of the reasons why I started codeacademy was because I wasn't sure where to start with the downloading python, launcher, terminal... that whole mumble jumble onto my computer (MacBook Air). Will the two recommended sources you mentioned go over how to do that?


Sorry for all the questions. Thanks for your help.

u/lanzaio · 1 pointr/swift

I'd learn python. There's much more material to learn from and much higher quality material. Reading any material that teaches Swift will only attempt to teach you iOS relevant material. You won't learn algorithms, you won't learn programming concepts, you won't learn computer science. So you'll be restricted by your lack of foundational understanding. I'd read this book first.

I had been programming iOS relevant stuff for a year before I even learned what an algorithm actually was since iOS relevant content was so app centric. Guess who bombed an interview with Google because of this.

The other book I suggest, to make it more fun, is this. A combination of Guttag and Swiegart will provide a much better foundation than any book written on Swift would.

Also, Python is MUCH easier than Swift. Swift has a feature called type safety is a blessing when it comes to writing quality code, but it makes writing code harder as you always have to conform to a very strict set of rules. Python completely ignores type safety and will just fail and explain why you failed when you do something illegal.

u/commandlineluser · 1 pointr/learnpython

So there are several things going on here.

First up is amazon checks the User-Agent header sent by your http client.

››› r = requests.get('https://www.amazon.com/gp/product/1593275994/')
››› r.status_code
503

If you look at the actual html response it contains stuff like:

<p class="a-last">Sorry, we just need to make sure you\'re not a robot.

It's some sort of "captcha" because they know you're using requests.

To avoid this issue - you can change the default User-Agent to "look like a real web browser"

››› r = requests.get('https://www.amazon.com/gp/product/1593275994/', headers={'User-Agent': 'Mozilla/5.0'})
››› r.status_code
200

We can do some basic checks to see if offer-price and buyNewSection are contained in the response.

››› 'offer-price' in r.text
True
››› 'id="buyNewSection"' in r.text
True

So let's try beautifulsoup

››› soup = BeautifulSoup(r.text, 'html.parser')
››› soup.select('#buyNewSection')
[]

?!?!!?!?

The default html.parser that comes with Python doesn't always work "correctly" - it doesn't always handle "broken" HTML

If you put the amazon link through the W3C validator https://validator.w3.org/ you'll see it has tons of "violations" - i'm not sure which one is responsible for breaking html.parser - but it does.

The 2 other common parsers to use are html5lib or lxml - you'll have to install those if you don't already have them.

››› soup = BeautifulSoup(r.text, 'html5lib')
››› soup.select('.offer-price')
[<span class="a-size-medium a-color-price offer-price a-text-normal">$21.00</span>]
››› soup.select_one('.offer-price')
<span class="a-size-medium a-color-price offer-price a-text-normal">$21.00</span>
››› soup.select_one('.offer-price').get_text()
'$21.00'

.select_one() can be used if you only want the first match.

u/ToTheHopeless · 1 pointr/learnprogramming

I decided I wanted to learn how to code waaaaaay back in 2010. I started and quit over and over for the same reason you mentioned: every time I tried to learn, it all seemed to fast-paced and I couldn't keep up, and I ended up feeling stupid and frustrated every time. Why not just do things I'm already good at?!

So I went on to do other things, but the desire to learn how to code so I could create my own apps and storytelling worlds never went away.

About a month ago I realized, "If I would have stuck with it the first time and pushed through the "not getting it" part, I'd be an almost 10 year programming vet right now." I decided that I didn't want to have that same thought in another 10 years ("If I stuck with it 10 years ago, I'd be 10 years ahead!), so I really dug my feet in and decided I was going to lean into it and spend as much time as it takes this time, and go as slow as I need to.

I bought Python Crash Course off Amazon, signed up for Codecademy, and watched some Youtube videos. But nothing so far has made it as easy-to-get as the Python Crash Course book. I'm not sure if it's because I've spent the past almost-ten-years dipping my toes in the water, so I kinda get certain programming concepts, but going through this book is like an entirely different world than all the course, tutorials, "cademies," "bootcamps," etc. that I've gone through. I just seem to "get it."

Of course, there have been spots where I've had to go back and read an entire chapter again, because I get to the exercises and can't remember how to do a certain thing. But that's nothing to be afraid of. The more you do that the more it will make sense and the more you'll know how to do it without referring to a book.

But the book itself is laid out at a really good pace (and really, any pace you want because it's a book). Best of all, the author doesn't just say, "Here, type what I type, that's a class, that's a function, let's move on to the next thing, we'll deal with this again later..." like so many tutorials and bootcamps do online. He lays out the code for you to write, then goes step-by-step through each line and explains WHY it's there, WHAT it does, and HOW it works. Then you gradually add on to it as he presents new concepts and functionality relating to the topic.

That might sound long and boring on paper, but it's actually not bad at all., Every few pages he'll stop and say, "okay, now take what you've just learned, and make your own program out of it." They're little exercises, like, "Use a loop to add 10 numbers to a list." That scared me at first because it sounded complicated, but since the previous lessons were laid out so good, once I did it and saw that it worked without any errors, I went, "Oh my gosh! That was easy! I think I can actually get this stuff!"

Honestly though, you have to ask yourself why you want to learn to code. For me it's another avenue to be creative and tell stories. That's kind of my "thing," (if you can't tell). I'm a writer, and I love to help people xD. So all I see when I look at programming is "How can I use that to tell stories and help people?"

There's nothing wrong with wanting to make money. But if your sole desire is making money when you're trying to self-learn, it can overwhelm you and make you feel rushed and strapped for time, and that's why nothing really sticks. If you can look at it more like, "I want to learn programming so it can be an extension of (let's say "art" in this case, since that's where you have a degree), then it will be a lot easier to pace yourself. You'll WANT to use your free time to learn so you can have somewhere else to do your "art," and since you're not feeling rushed to hurry up and learn so you can make money, you can actually take the time to learn and let things sink in.

Contrary to all the clickbait and empty promises of "Learn Programming in 20 MINUTES!!" It WILL take time. But a little everyday and before you know it you'll have it down and you'll be making your own apps/creating a portfolio to go make money.

In the meantime, check out that book!

u/ehmatthes · 1 pointr/Python

If you buy it direct from No Starch Press, you get a DRM-free ebook along with the physical book, and it's always nice to support independent publishers. But if it's more convenient for you, it's perfectly reasonable to order it through Amazon.

u/Java_Junior · 1 pointr/learnjava

I have an alternate suggestion.


I started off learning Python and then switched into Java because the place I got hired at wanted Java.


I recommend you get this book and start with Python. Everything you learn will transfer over to Java anyway. But this book is like the #1 bestselling programming book on earth, and that's because it teaches you all of the fundamentals of programming as if you were a child.


It's like, "Here is a magician. He has a box. Let's put a flower in the box and pull out a rabbit."


Your issue sounds like the medium you're using to learn programming doesn't match your learning style. So maybe a book will help instead of YouTube videos and online guides.

u/Drago0909 · 1 pointr/learnpython
u/scottocs · 1 pointr/learnpython
u/DarthSinistris · 1 pointr/learnpython

1.) 3.7.3

2.) Followed the instructions here: https://www.youtube.com/watch?v=_uQrJ0TkZlc

3.) Python Crash Course by Eric Matthes https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280/ref=pd_lpo_sbs_14_t_1?_encoding=UTF8&psc=1&refRID=48J6KJW0DDN4GGRT38EV

4.) I'm not familiar with the term "errata".

u/witchlich · 1 pointr/UoPeople

I am in Univ 1001 and CS 1101 during my first semester. I am not going to lie as basic as the concepts are, the programming course has been a challenge. Mainly because the free book we are using is trash. It talks about concepts it hasn't taught yet, gives horrible definitions and teaches very poorly. I am only making it because before I started I bought myself a book on python and it touches on everything in the class. It has better examples and more clear explanations.

My suggestion would be don't rely on the book. Find your own resources.

Personally I am terrified for term two and the harder classes. anyone in CS1102?

u/aphrodite-walking · 1 pointr/Random_Acts_Of_Amazon

I want to learn German! For one, because my little cousins live in Germany and I would love to be able to speak to them in German rather than French or English. I will also be studying in either Switzerland or Austria (I haven't been assigned yet) for two weeks on a clinical assignment to attend some medical conferences. This will be in the next few years so It's important to me to at least have some grasp on the language.


Item :D


I like Schubert


Lehrer zum Schüler: ''Für diese Frechheit schreibst Du hundert Mal, 'Ich bin ein fauler Kerl' und lässt es anschließend von Deinem Vater unterschreiben!''

I use Duolingo which is pretty helpful but they don't really explain grammar. You kind of just have to pick it up as you go. LiveMocha is pretty cool too because you can have people rate how well you speak.

Have you been to /r/languagelearning ? TONS of awesome links to subbredits and resources.

u/kctong529 · 1 pointr/languagelearning

If what you want to achieve is A1 and nothing beyond, you best bet would be getting one of the many course books:

u/kaeldis · 1 pointr/IWantToLearn

To best dead honest, I do not know. I only know middle eastern languages and they are very different from Latin based languages. I would try to do all types of sentences at the same time; five of one type, four of another, three... While I was learning however, I took what I wanted to say and put it in a basic translation, to the best of my ability. Then, I had my friends tell me how to fix it and what i did wrong. I learned almost entirely through trial and error. When you try to learn these things with baby steps, and you fully understand a step before you move on, your speaking, writing, etc. will be natural and automatic the more you use it.

Once you have found a native speaker, who is willing to help you on a daily basis, I would ask him what he would think would be best to start with in each step. Or, you could buy a book such as this. It may seems stupid, but a book designed for children would also be helpful.

All I can say is good luck on learning. I promise you if you go slow and steady you will learn.

u/medusa4 · 1 pointr/duolingo

Yes! As for books these one's have really helped me:

  • Everything Learning German This one is super great for grammar. It has exercises at the end of each lesson so you can practice too :)
  • Collins Complete German This one is probbbbably my favorite. I love it, it has a guide for pretty much everything you need to know in the grammar, it explains everything well, and it has verb tables so you can study the conjugation. It has some vocabulary in the back too.
  • Graded German Reader This one is also really awesome. You can find a used one for 10 bucks on amazon, just the new ones are really expensive because I don't think they are made anymore. This starts with simple reading passages and gradually gets more difficult while adding new words- but it's at a perfect pace so you don't get overwhelmed, and you will probably be able to completely understand.
  • Cafe in Berlin Another german short story book. This one is great too.
  • German Pre-Intermediate Reader Another reader- this one incorporates the top 1000 words in German.

    I know I have more but these are my favorites! As for movies/shows.. when I watch like youtube videos (try 'easy german') or kids shows I tend to watch them without subtitles. If I'm watching an adult movie/show I pretty much have to use subtitles otherwise I can't pick up anything. I usually put the subtitles in German though, because I read better than I listen!

    Let me know if I can help you with anything else :)
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

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/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/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/lw9k · 1 pointr/learnprogramming

If you want to be a really stellar programmer, learning a lot of languages is a must. This book talks about it.

u/keithtalent · 1 pointr/atheism

My argument is the change is beneficial. And it is.

Atheism the word would be meaningless, but the belief system that atheism represents would still exist I chose to interpret what people mean when they say atheist to be representative of that belief system rather than not the other belief systems, which is natural, common and resonable.

I am a strong atheist, I believe that no god exists and I have a very sound argument for that. I do however believe that people (like you just have) commonly blend politics and religion to match and reinforce their own beliefs. Religion is not always organised, and it's organisation is not always bad. The dedication in this book gave me a feeling of remorse for taking such a hard line against religious people when it is such a personal matter.

What you think is religious hatred is the political organisation of vulnerable people who are religious. Not combining church and state is meant to protect religion from politics as well.

What the fuck is the pope doing to you? You fucking idiot. What is a puss bag deist and what kind of thing is that to bring up. Noone is reasonable other than you? You heinous arrogant cunt.

My argument doesn't prevent anyone from meeting, nor does it prevent people arguing against reproductive right activism or bullshit in schools. But you fail to see that that is not religion that is politics or the politicisation of religious people. Tell me how many vulnerable people can be incited to vote by politicising creationism, a fuck of a lot. Is it representative of religion as a whole? Is it fuck.

u/Schnevets · 1 pointr/learnprogramming

Required reading for everyone

However, if you're looking for an actual physical book, I'm currently finding Seven Languages in Seven Weeks a very fun read. It may sound daunting, but it more focuses on the differences in languages and how it can help/hinder you, rather than cramming as much in as possible. Also, it's a nice guide that shows a lot without wasting valuable paper re-re-re-re-explaining what an int/char/string is.

u/solidh2o · 1 pointr/singularity

I'm at work right now ( library is at home), but there's a few books I can recommend. there's no one great path though, it'll be "find a hole in knowledge, fill it, move forward until you find another hole in your knowledge".

First, learn a programming language, and master it. Then learn to abstract that. Use this book as a good way to abstract. You'll come to recognize two basic abstraction: first, every language does all the same things, in just a little different way. The book acts sort of as a Rosetta stone for comp sci. Second, some languages are better than others for some things, and for AI, none of that matters, just pure processing power. I started the project in c# ( very simple for prototyping and testing, not super efficient) , and then swapped to C++ when I started working the outcomes into a game world to see evolutionary behavior better ( using the unreal engine) .

Next,Hofstadter has two books worth reading, "I am a strange loop" and "Gödel, Escher, Bach: An Eternal Golden Braid" - this ( combined with Kurzweil's "How to Create a Mind") will give you some of the more theoretical on neurology/computer cross over. read them both, even though it's 60% the same book. there's enough differences to make both worth while.

On the biology side, This book has some info on what it means to be "alive" which is a prerequisite for what it means to have "artificial intelligent life" this will likely lead you into genetic research and how DNA works - it's important, but not until you get there.

On the sociology / economic side, I can't think of one book that would be a great starting point. I will say that specifically understanding risk/reward principals and game theory are critical to development of any AI that goes beyond a linear regression model. Also look into OODA loops, it's a military term for "Observe, orient, decide, act"

For machine learning, there's no one better to teach it than Andrew Ng, the chief scientist at Baidu. His course at Stanford is recorded and free to take on Coursera. You can find it here

Saw your PM, but figured I'd post it here since you weren't the only person who pinged me on it :). Happy to answer any more questions, but i'm not online all that much so please be patient!

Take care and good luck!

u/zelf0gale · 1 pointr/programming

If I don't learn something new every four hours at my job, I'm probably posting to Reddit. It doesn't have to be a new language (but it could be).

u/victotronics · 1 pointr/learnprogramming

That's not really a list of paradigms. If you're interested in seeing the breadth of programming paradigm options these days, by all means pick up this book:

https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X/ref=sr_1_1?ie=UTF8&qid=1537894778&sr=8-1&keywords=seven+languages+in+seven+weeks

It's nowhere near a course in all of the seven languages, but it gives you the flavour.

u/tech_tuna · 1 pointr/learnprogramming

I'm going to agree with others and recommend that you not go with C++. The first programming class I ever took was in C++ and it very nearly made me give up on programming forever.

If you want to learn how to code "closer to the machine", go with C. If you want to learn something useful and fun, go with Python or Ruby. If you want to learn useful Windows-specific skills, go with C#. C is much simpler than C++ but still challenging compared to VB. Also, it's still widely used and probably will be used forever. Python and Ruby are just plain fun and make many tasks easy to do. They're also excellent general purpose languages to have in your tool belt. C# is great if you're coding on Windows and significantly easier than C++ (Java is an option too, it's very similar to C# but since you already know some VB, C# will probably be easier to pick up).

There are plenty of other languages you could try as well, at some point you'll want to dabble in a functional language just to see how wildly different that is from object oriented and procedural languages.

Actually, I just finished this book and it's a very cool way to get a quick idea of just how many options there are:

http://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X

Oh jeez, almost forgot, you'll definitely want to tinker around with some Javascript and do some client side web stuff (and node.js on the backend if that interests you).

u/clintwn · 1 pointr/arduino

Happy to help!

>Did you stabilize it somehow with a gyro and arduino or was is literally just the receiver, transmitter and ESC?

Flight controller with built in gyros handled all the stabilization. FCs are really cool and you can have as many features as you like or virtually none at all. I used a CC3D, but like I said that was years ago and you'll probably find much better. Apparently some even have built-in RC receivers.

Every programmer hates their own code, unless they don't want to get any better at it. Finding one language and getting good at it comfortable with it is a good start, and it doesn't have to be c/c++. I started with perl, quickly switched to python, probably suck at both to this day.

There's a lot to be said about learning libraries and their implementations rather than trying to learn a particular language.

I've also written java code that ended up in production and is still used. The only C++ code I've ever written was for arduino and other microcontrollers, which is loaded with tons of convenience features that have a tendency to hide the hard parts, like memory management and stuff, but you can still get at them.

There's a surfeit of free information out there, but if you want a short booklist I recommend these:

u/PlainEminem · 1 pointr/cscareerquestions

7 languages in 7 weeks

Really good book to learn about the different programming paradigms.

u/LiftCodeSleep · 1 pointr/cscareerquestions

I'd read Seven Languages in Seven Weeks. It'll give you some insight into different languages. It'll make it easier for you to pick up new languages. Use the sites others have practiced to reinforce the book.

http://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X

u/ashmoran · 1 pointr/Bitcoin

I read this like you assume it will take longer to learn two or three languages than one, but this isn't necessarily true. It will take you longer to learn two languages to a professional level than one, but if you're starting from fresh then trying multiple languages has a lot of advantages. Every programming language has a different philosophy and emphasises different features, making some things harder or easier. If you only ever program in Java, there are things that are easy in say Ruby or Clojure it would never occur to you to try, because the language makes it so much harder. But if you only program in these two and not say C, you won't appreciate how the languages manage memory for you. The list is almost endless, but the more languages you're exposed to the more you deepen your understanding (and learn new tricks) by triangulation.

Realistically it takes a few years to get to a professional standard in programming, don't be afraid of spending a few months to get a good start. The book Seven Languages in Seven Weeks may interest you: http://www.amazon.com/gp/aw/d/193435659X – also there are Bitcoin implementations in most main languages, so once you can read a language you can use these to compare how they and how they're used in practice.

u/bloodnuts · 1 pointr/learnjavascript
u/V381 · 1 pointr/learnjavascript

Hey, I had problems to with that book, it was very dry and hard to understand.
Easiest book I found on learning Javascript is:
http://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C/ref=sr_1_7?ie=UTF8&qid=1395283560&sr=8-7&keywords=javascript

Very little text, and plenty of exercises that you do online at book site. Try that book and goodluck.

u/EclecticRenaissance · 1 pointr/javaScriptStudyGroup

A Smarter Way To Learn helped a bit: https://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1509759677&sr=1-1

It's paired with exercises on the web. It helped me identify all the pieces of JS, but when I got to functions in my Bloc.io course, I began having trouble even though I could pass the functions chapters from the book. It's a good supplement.

I'd also suggest http://javascriptbook.com/ as it's very visual. I think I'm having trouble since I sucked at algebra in HS & variables are getting to me, so I've even signed up for https://learncodethehardway.org/javascript/ which comes out in April of 2018. I'll learn JS if it kills me.

u/asdflol4321 · 1 pointr/learnjavascript

I found this book, does anyone have any thoughts on this book please share :D

u/Wartz · 1 pointr/learnprogramming

If you're new to programming, this one is pretty good.

http://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C

u/lostinthewhirlwind · 1 pointr/javascript

Just to add onto the awesome list already given, A smarter way to learn JavaScript is also great 👍🏾

u/anon848 · 1 pointr/learnprogramming

It's not uncommon to have exercises at the end of a chapter. This particular book even has online exercises.

u/Rogue_Philosophy · 1 pointr/learnprogramming

There are some good suggestions here, especially DonnyTheWalrus's reply.

However, regarding books I'd personally suggest the book "Head-First Javascript Programming"(make sure you get the latest the one that says "programming" in the title, as that is the more modern one.) or "A Smarter Way". In my opinion, these books are really good at taking a newbie into the intermediate level of Javascript by taking advantage of some of the best things we've learned about learning in general.

u/scripteaze · 1 pointr/learnjavascript

Great book, I'm sure many will agree is "A Smarter Way To Learn JS"

  • Possibly unrelated but Udumy is on sale 9.99 for everything until i believe the 29th, in case anyone is interested. Just a heads up. Yes they are always having a sale, but just in case you were waiting for the 9.99 one.
u/LyndonArmitage · 1 pointr/java
  1. I use IntelliJ at work and home, not just for Java but for a lot of other things, it has the fastest and best intelligent auto complete I have seen in an IDE and supports a whole tonne of frameworks and programming languages, it's also got some kickass keyboard shortcuts and a nice dark skin.
    However all the main IDEs are good, those are Eclipse, Netbeans and IntelliJ (as far as I am aware). At university you will probably be learning with Eclipse, BlueJ (which I have never used, but is supposed to be educational) or maybe even notepad. If they give you a choice I'd use Eclipse to learn with since it is used by a lot of companies and open source projects.

  2. One thing to watch out for is String comparison using the == operator. The == operator in Java compares memory address and not content of the strings, a quick google search turns up this blog post with some details on Strings in Java. Basically you should use string1.equals(string2) when comparing strings in Java.

  3. Nab a book from your university library or buy one on Amazon/The Book Depository.
    I taught myself it following various tutorials online but the books teach you better practices than those most of the time and are more in depth. Java a Beginners Guide seems highly rated on Amazon and has been kept up to date. When I was at university I saw a few copies of Thinking in Java around but it's a tad out of date now, Head First Java might also be worth a look.
    The videos I used to learn Java were a combination of thenewboston videos (these don't encourage good practices but show a basic way of getting started) and some Java games programming related videos by thecodinguniverse.
    Once you have the basics of Java down, might I also suggest completing the challenges on /r/dailyprogrammer to help get you more comfortable with it.
u/drummondaw · 1 pointr/java

I'm in the same boat as you. I'm currently working through a book called Java: A Beginner's Guide Sixth Edition. I chose this book because it uses the latest version of Java, which I think is important in some respects. Older books may have the same information initially (loops, datatypes, etc. rarely change), but as you delve deeper there are certain aspects of the language that improves over time and makes your life easier as a developer.

Choosing the right author is essential because they're basically your professor throughout the learning process. Someone suggested www.thenewboston.com and the vast majority of developers on this site laugh at even the mention of this resource. In other words, do your homework and ensure you're learning from a respected individual.

After having a basic understanding of a programming language your next step should be to choose a personal project slightly beyond the skill level you currently have. Doing research, solving problems/bugs and finishing something enhances your learning like you wouldn't believe. I've been reading programming books for many years and the times when I'd simply read a book in its entirety and then try to build something always showed me that my retention wasn't very strong. When I took the time to pause and use what I had learned throughout segments of the book I learned a lot more and my retention was extremely high.

Using what I've said above, you can pick pretty much any programming language and apply this learning style. I have tried both online classes and books and have found books to be the best method for myself. With online classes I've found myself spending time watching way too many videos than actually writing code.

u/vegantealover · 1 pointr/learnprogramming

I recommend Java Beginners Guide by Herbert Schildt rather than head first java, for those that don't like lame jokes and just want to get to the point.

u/dmazzoni · 1 pointr/learnprogramming

OK, you could start with a book like this:

http://www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252/

I'd highly encourage you to actually do the exercises, though. Programming is all about doing, not reading. You should spend roughly 10 hours programming for every 1 hour of reading.

Even if you only make it through one chapter, it will get you in the right mindset.

Alternatively, if you haven't already learned HTML and you want to learn something different, but super useful, try learning HTML (and CSS) to make a simple website. Note that HTML is not programming, but it does get you used to the idea of writing syntax for a computer to parse, and trying to figure out what went wrong when it doesn't do what you intended. Plus, HTML is used all over the place so it's incredibly useful to know. If you know a little bit, learn more - try some more advanced CSS.

u/Zajecarsko · 1 pointr/serbia

Iskreno, poceo sam da je citam i po meni je previse neozbiljna. Moze li ova? Cini mi se da je dobra.

Hvala.

u/wisam · 1 pointr/learnprogramming

Java, A Beginner's Guide. is a well-paced book that's not huge (about 700 pages).

Java, The Complete Reference. by the same author of the above book is, as the name suggests, a huge comprehensive reference (about 1500 pages). I wouldn't use it to learn the basics, but would use it later as a reference.

Introduction to Java Programming, Comprehensive Version. is a slow-paced huge book (more than 1500 pages) that will benefit a beginner a lot.

Now if you are in a hurry and you need to go through the basic s quickly and possibly miss some details, I would recommend Think Java. It's a small (about 300 pages) free fast-paced book that will get you hooked quickly.

u/Zveir · 1 pointr/UMD

Since you're starting a Java programming course in two weeks, I'd recommend this one.

https://www.amazon.com/gp/product/0071809252/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1

It's one of the books I own. Admittedly this is not the book I would normally give to a complete novice in programming, but I think it's the best for the situation. It's a pretty fat book and full of knowledge, but it assumes the reader has some sort of technical background. It doesn't do much to help you visualize it in other ways. However it gets straight to the point, is fairly clear, and is ordered well. If you can understand the material in the first 3 chapters before the start of your class I think you will be very well off.

u/stupidedgyname · 1 pointr/learnprogramming

http://www.amazon.com/Introduction-Programming-Comprehensive-Version-Edition/dp/0132936526
for java, if you finish this book you'll be REALLY well off. Java is easier to start learning, but if you understand either you'll just need to learn the syntax of the other one.They're pretty similliar (both are based on c).

u/cubedspace3 · 1 pointr/learnprogramming

Honestly, my personal opinion is to start out with Java or C++. One of my favorite books in programming is http://www.amazon.com/Introduction-Programming-Comprehensive-Version-Edition/dp/0132936526. You might find this elsewhere for cheaper. Read the book carefully, and work through the problems. When you have a problem come back here and ask questions. That's what I'd do. Don't even pay for a course! Not unless you've mastered at least one programming language first, and you want the credit.

u/rawrrang · 1 pointr/learnprogramming

I wouldn't say polymorphism is a higher comp sci concept, in fact it's more of just a programming concept. This textbook Introduction to Java Programming which you may or may not find in some kind of book torrent site, has great examples with source code you can download.

In the preface of the book, it tells you the chapters combine to form a few different parts.

Part 1 are fundamentals like loops method and arrays... you probably know all these.

Part 2 of the book goes over all the OOP concepts like Polymorphism/Inheritance/Abstractions/Interfaces which seems like is what you are asking for.

Part 3 goes over GUI so you can skip all those chapters if you don't care for GUIs.

Part 4 is about data structures and algorithm, which is not really a substitute for a pure data structure or algorithm book, but gives a nice reference with understandable examples.

Part 5 is "advance java programming" which gives you a chapter on something specific like mutlithreading and parallel programming/ networking / working with database / etc.

I from time to time go back to the examples of this book for reference on stuff. The examples a written in relatively good style and are simple. They often have a simple example then gets build on to be a more elaborate one. Downloadable code samples is also great so you can play with it yourself.

If you want to learn more comp sci concepts like data struct and algorithms, I'd say pick up a different book dedicated to that... but at least this book I mentioned covers it a little bit.

u/berniesanders45 · 1 pointr/Libertarian
u/AmberxAltF4 · 1 pointr/WakeTech

Introduction to Java Programming and Data Structures by Y. Daniel Liang should be the same content. When I was in 151 we had to do some of the exercises through the online book submission thing though, so I'm not sure you'll be able to completely switch over to a hardcopy.

u/wcbdfy · 1 pointr/learnprogramming

I am bias to Building Java Programs by Stuart Reges and Marty Stepp

Also their corresponding CS1 and CS2 classes.

u/L_Caret_Two · 1 pointr/javahelp

I'll definitely give that book a look. The reason I'm using this book is because it's the book for the class I'm taking. This is the book.

Thanks again for the extensive replies to this post. I really appreciate your help.

u/kaijura · 1 pointr/learnprogramming

I find Building Java Programs, A Back to Basics Approach 2nd Ed. to be the most coherent while learning. I have several books but this one makes the most sense, but it is a bit expensive.

http://www.amazon.com/Building-Java-Programs-Approach-Edition/dp/0136091814/ref=sr_1_1?ie=UTF8&qid=1341698314&sr=8-1&keywords=building+java+programs+a+back+to+basics+approach

u/clouds31 · 1 pointr/learnprogramming

I was in your position a year ago, all I have to say is keep practicing and it'll eventually click. I ended up reading this book over the summer and it helped out so much on the stuff I wasn't getting (MAKE SURE YOU READ IT FRONT TO BACK!).

u/Melanus · 1 pointr/Android

I don't have much experience with MatLab but have you had any experience with object orientation? Java programs tend to be strongly object oriented so you might want to learn about that. As for getting into Android in particular, I'm on the learning stages as well. I would look at some java resources http://www.youtube.com/user/mybringback has a good series on learning Java I believe and they are coming out with new videos constantly. As for other materials http://www.amazon.com/Building-Java-Programs-Basics-Approach/dp/0136091814 is a beautiful resource for learning the basics of Java, however if you feel comfortable with MatLab this might be too simple for you. Either way. Find something and dive in!

u/thegenieass · 1 pointr/LSD

In case anyone wants to learn Haskell (highly recommended!!) or just get a better look at the image: https://www.amazon.com/Haskell-School-Expression-Functional-Programming/dp/0521644089

u/ITdoug · 1 pointr/cs50

Reddit. Although most of the posts here don't garner much attention, and sometimes things are posted which violate the Honor Code, so you have to be careful what you post/ask.

I'm not sure if this is the right book or not, but there's no shortage of C++ books out there. They do help, as I find this course is more "provide a couple small examples of a few things, and here is a very difficult question based on that info" than anything.

This book should bridge the gap and provide background info on code and practise stuff.

Also, codecademy.com is an amazing site to help you learn coding.

u/Little_I · 1 pointr/learnprogramming

Seems like both C and C++ are really worth to learn!
Thanks all for the feedback. Although I would like to get some book and website recommendations, if possible? I already got http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100

and C++ Primer, as zabzonk recommended in first reply.

u/apullin · 1 pointr/technology

http://www.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/0672305100

I was able to understand this as an 11 year old, and I'm no whiz kid. Get it for him.

u/parrotbear · 1 pointr/IWantToLearn

Its very old now, but I remember trying to read a few programming books, and didn't start to understand the basic fundamentals until I read this book which seemed a lot easier than the rest: http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100

Also, I've heard these Head First books are really good and easy to follow. I think they have a Head First C.

u/user9848385732 · 1 pointr/learnprogramming

For a complete beginner I'd recommend C Programming Absolute Beginner's Guide

If you wanna learn C and do cool projects, plus learn a lot of other cool stuff too you can't go wrong with CS50

u/dnew · 1 pointr/funny

You should check out stuff by Isaac Bonewitz. He studied magic as actually practiced in the real world, described how it works, all that sort of stuff. If it were to actually work, it would work the way he described it.

http://www.amazon.com/Real-Magic-Introductory-Treatise-Principles/dp/0877286884

Fun stuff. He also did a text good for RPG gaming. Some RPG games have all kinds of rules about how you can swing a sword and how much damage it does? He gives you the actual rules of how magic works (as best as can be determined in the real world) in a way that can be applied to fantasy gaming. Neat stuff.

u/chris-goodwin · 1 pointr/magicbuilding

I'd recommend picking up a copy of Isaac Bonewits' Real Magic. He goes into some detail about applying science to the study of magic, including psychokinesis. You might also, if you're incredibly curious, pick up his gaming supplement Authentic Thaumaturgy, but I've always gotten more gaming and magic system design use out of the former than the latter.

u/tahuti · 1 pointr/rpg

If you like to examine "real" magic

Real Magic by Isaac Bonewits this book was basis for Gurps Authentic Thaumaturgy, relationship between different "laws"

Magician Companion by Bill Whitcomb review of modern symbols

Magician's Reflections by Bill Whitcomb how to make your own magical system.

u/ProfessorKaos64 · 1 pointr/LinuxActionShow

Too bad I didn't start my github project out in python, most of it is in bash. For some reason github tells me on the code scale I have 80% in python O.o. Maybe I do some things in similar fashion with .shinc modules for the main script. If you're interested in retro gaming, you could always help me and JC with RetroRig. Most folks like to make games with python to start out, and once I find time myself, I play on going through the book Python Programming for the Absolute Beginner. I've leafed through it, and heard reviews from folks I know, and they love the book. It's a great way to sharpen up the skills. As far as projects, there are probably some sites that could help parse OSS/FOSS projects based on yoru interests.

GitHub only seems to sort/search by trending projects. The suggestions for OpenHatch is nice, and seems promising. They reason I started my project, was not because I like programming or anything (I am not a programmer by any stretch, but very technically minded), but because I loved the idea of making what I am doing. I started out small, and loved every little accomplishment I achieved. I now have a contributor, who also visits this subreddit, /u/beaumanvienna, and it's the most fun thing in the world to bounce ideas of people. Just think of programs you use, and how you can make them cool. The best work you could do and work on, is work you love and are interested in. Then you will be extremely proud of your accomplishments at the very minimum.

Edit: spelling.

u/Yamogi · 1 pointr/AskReddit

Well I've applied for a sysadmin job and they've mentioned that they use Python a lot, so at the moment I'm just trying to get a general overview of all the basics of the language :) I've got this book and I'm just going through the exercises at the end of each chapter. I've done basic programming and scripting before so it's been pretty easy to pick up so far.

u/JayJay-101 · 1 pointr/learnpython

Hey everyone, I'm looking into learning python as my first programming language. I have had very little experience with programming and I was wandering if this book is worth getting even though it is 6 years old now? Cheers! https://www.amazon.co.uk/Python-Programming-Absolute-Beginner-Dawson/dp/1435455002/ref=sr_1_1?ie=UTF8&qid=1468587952&sr=8-1&keywords=python+programming+for+the+absolute+beginner

u/f0nd004u · 1 pointr/Python

Check the side bar for the online books; LPTHW is a good place to start learning the basics. CodeAcademy is cool because it's interactive, but I didn't really like the Python course and I didn't feel like I learned more than some basic syntax. The ruby one is better, but not by much.

I've been using this textbook to teach myself: http://www.amazon.com/Python-Programming-Absolute-Beginner-Edition/dp/1435455002

It was recommended to me by a friend who took CSCI 101 at PSU with it. He does it project-based; every chapter you complete a working game program, and he steps you through all of it with example programs. Very easy to follow, and the programs are fun to write. I've tried learning coding from textbooks in the past without much success, and I really feel like I'm getting somewhere with this one. Plus, it's python3, which is probably what we beginners should be working with.

u/myRobotArms · 1 pointr/learnpython

Also, I can't recommend this book enough. http://www.amazon.com/Python-Programming-Absolute-Beginner-Edition/dp/1435455002 It's fun and challenging. At the end of some pretty lengthy chapters that explain certain concepts really well, he presents challenges that you can attempt, just give you more practice and get you thinking like a programmer. The book takes you from great explanations on the basics to developing GUIs and even simple video games. It's a great place to get started. Also there is Udemy.com, who is wrapping up their 65% off promotion. There are a good number of free tutorials and paid tutorials as well. Good luck with Python!

u/delirial · 1 pointr/learnprogramming

Based on my previous experience with Head First books, I'd recommend Head First Python. Out of the three reviews on the main page on Amazon, the bad review is complaining about it not being "deep enough" for an experienced programmer. I have to say, the Head first series is kind of fun. (Geeky jokes, cool exercises, etc).

Python Programming for the Absolute Beginner, 3rd Edition seems to have decent reviews too.

Dive Into Python if I remember correctly assumes a little bit of experience from the reader. But it's a very good book.

I know that you are looking for something structured to pass on... but don't forget that the best thing you can "teach" is how to look things up.

Also, OCW (MIT) has a class on iTunes/YouTube on programming concepts with python. Definitely worth the time investment.

u/xGeovanni · 1 pointr/gamedev

Alright, before I begin this I want to say that my opinions are probably wrong. I'm just some guy on the internet, and for all you know I could be literally insane.

That said, I'd say you should learn to code by getting the book Python Programming for the Absolute Beginner and learning basic programming in Python. The book also goes on to teach basic game development techniques using pygame.

In my opinion, pygame is great for learning about graphical programming but pretty useless beyond that. When its poor performance becomes too much of a restriction move on to C++ and SDL. SDL feels similar to Pygame when you use it, but it's a hell of a lot more performant.

You should also be learning how to make art and music while you're doing this, but I know even less about those than I do about coding, so I'll give no opinions on that.

u/elcravo · 1 pointr/hacking

For ruby maybe:

r/ruby_infosec/

/r/ruby/


Python:

/r/Python/

/r/python_netsec/

You could also try the codecademy courses

I can also recommend the following books:

Ruby:

The Well-Grounded Rubyist, Second Edition

Learn Ruby The Hard Way

Python:

Python Programming for the Absolute Beginner, 3rd Edition

Learn Python The Hard Way

I hope this helps with learning either of the languages.

u/Economy_Peanut · 1 pointr/learnpython

By the way..If you'd want to try out Object orientation...You could try the book Python for Absolute Beginners Third edition by Michael Dawson. It got an awesome Chapter on OOP ,taking thing step by step.

u/stefca · 1 pointr/learnpython

I have been using Python Programming for the Absolute Beginner and the exercises on DataCamp to learn Python for data science.

u/boloney048 · 1 pointr/learnpython

Thank you for your help. One more question: Did you learn from some books or your Python training is basen only on UofM course? I got this book because it is published in Poland and seems to be pretty good for beginners.

u/cheeseboythrowaway · 1 pointr/learnprogramming

I tried to learn Python like 3 or 4 times when I was in IT and it didn't ever click in my head until I read this book. For some reason, the way the author explains things just made sense to me.

https://www.amazon.com/Python-Programming-Absolute-Beginner-3rd/dp/1435455002/ref=sr_1_1?ie=UTF8&qid=1522440046&sr=8-1&keywords=python+for+the+absolute+beginner

Each chapter is a project, and it's focused on simple games. I like it especially for that reason; I think that working on projects is the best way to learn programming.

Once you get the basics, the hard part is coming up with projects to work on, but there's a lot of resources on Reddit and other places to get you started and working on open source projects is a great way to go as well. Doesn't really matter what the project is, just that you're interested in it.

Don't forget to look into Linux stuff too; my Linux skills reaaaaallly helped me when I was first trying to get programming jobs.

u/OrsenPike · 1 pointr/learnprogramming

You mentioned in another post that you liked the whole learning while making games process. I suggest you check out Python Programming for the Absolute Beginner (2nd edition covers Python 2.x, 3rd edition covers Python 3.x). It teaches you by building games and covers quite a lot of areas in pretty good detail from what I have heard.

If I was to suggest one thing to you it would be try not to focus too much on the material you are learning from but more on what you are learning. What I mean is don't ditch a book because you read online that it wasn't very good. The majority of people who give feedback about books don't even finish them in my experience. Obviously don't buy a book that is totally hated by almost everyone but don't be put off because a very (very vocal!) people on reddit say it is crap.

Also second bit of advice, once you are comfortable with Python check out PyCharm :)

Amazon.com link to book

u/joeverdrive · 1 pointr/learnprogramming

Python Programming for the Absolute Beginner by Michael Dawson

So easy to read, and he makes every step into a game. Worth much more than $20. Khan Academy has Python lessons, too, I think?

u/idoescompooters · 1 pointr/learnpython

Agreed. If you must go with a book, there's always http://www.amazon.com/Python-Programming-Absolute-Beginner-3rd/dp/1435455002 .

You could also try http://inventwithpython.com/pygame/ and/or http://inventwithpython.com/index.html , which you can always download a PDF of(That's what I did).

u/CopperHook · 1 pointr/gamedev

Be prepared for a long road then. I recommend getting a solid footing on coding before attempting larger projects like your dream game.

I started years back with this book. Python taught me general programming.

When you do the examples in that book, expand on them. Add things to them that they didn't mention. At this point, it should be something you enjoy. If it isn't, coding may be a hard journey, and another aspect of game development may be a better fit (art, etc.).

If all is well after that, try picking up Java. This language will help you when you begin working on Android (and will open up tons of job opportunities). Alternatively, start picking up some game engine development, like using C# in Unity.

This is all just my opinion, and is the general direction I took when starting out. Good luck!

u/ryankrage77 · 1 pointr/computers

I wouldn't recommend starting with Python - it is a 'weakly typed' language (i.e; it's not fussy about how you do things, so you can be lazy). This will make it harder to learn other languages later.

However, it is probably the easiest language to learn for a beginner, so for an easy-to-understand start, I'd use Code Academy, or if you prefer a book, get this one.

u/AngularBeginner · 1 pointr/csharp

> Any good suggestions on where to learn LINQ?

http://www.amazon.com/Head-First-C-Jennifer-Greene/dp/1449343503

u/darchangel · 1 pointr/csharp

I recommend this book: https://www.amazon.com/Head-First-C-Jennifer-Greene/dp/1449343503

Although it's cutesy to a fault, the info is solid and understandable. Do not skip the exercises: actually do each one.

u/pyscript · 1 pointr/learnprogramming

Dude, check out Head First C#.

u/The_Binding_Of_Data · 1 pointr/csharp

I found The C# Player's Guide (3rd Ed.) to be pretty solid at teaching the basics of the C# language. I particularly liked how they diagrammed the various data types.

Head First C# (3rd Ed.) was also good, but it's pretty out of date at this point. If you can use Visual Studio 2015 or earlier, you should still be able to follow along without too much trouble. After that, the templates they use for doing UI are no longer available, so you'd have to do some extra work there.

That said, Head First C# includes a lot more general Computer Science information the Player's Guide, and includes UI design and implementation.

I think one issue with hard copy books is that C# and .NET are evolving really really fast currently, which makes it hard to keep up to date.

As far as projects go, I totally know how difficult it can be to think of something when you're specifically trying to.

Several projects I've made ended up being due to some need. For example, I have a project idea I really need to get started at some point for a recipe book for Breath of the Wild. I want something light weight that I can use to record the recipes I find in game, as well as being able to store additional useful information (such as places where ingredients drop or can be purchased, purchase prices, etc).

Another project idea that I've played with a bit here and there is a basic character stat generator for an RPG. This is something that can be super simple, but can also be expanded a great deal into a complex program.

u/cronsy66 · 1 pointr/indonesia

I suppose it's easy to get into programming, just buy some books like this, try to code some, and go to stackoverflow when you stuck.

Why would you after Indonesian gaming company? I heard that gameloft paycheck is good and they have an office in Indonesia.

u/CaptainIncredible · 1 pointr/ADHD_Programmers

There are so many books out there and I've hated most of them. A lot of them read like a 2000 page tome about corporate tax law - all the text is the same, its just paragraph after paragraph of babbling. Sure its accurate, but who wants to read that?

Not me.

BUT there are some books that don't suck - the Head First books. I swear they were built for ADHD minds.

https://www.amazon.com/Head-First-Learners-Real-World-Programming/dp/1449343503/

BUT... Books still kind of suck. I wouldn't recommend them unless you want to learn general concepts.

And my particular example uses XAML which is an XML layout language that only Microsoft uses... Which is good if you are writing Windows desktop apps, but who does that anymore? Most of it has moved to web or mobile.

But I do recommend:

  1. Figuring out a project of something you DO want to do. Let's use an example of "I want to build a web based To Do list application. I want to use C#."

  2. Find a tutorial online that is relevant. Like this: https://mva.microsoft.com/en-us/training-courses/asp-net-core-beginner-18153

  3. Work through the exercises to get a basic foundation for ASP.NET Core, C#, web applications, etc.

  4. THEN think about the ToDo app you want to build. Find a tutorial that works well for it like... Oh... I dunno... Maybe this one: https://medium.com/@ThisisZone/to-do-write-to-do-app-with-asp-net-core-c02bc3ca9fa1

    Its helpful if the tutorial has all the source code on GitHub like this: https://medium.com/@ThisisZone/to-do-write-to-do-app-with-asp-net-core-c02bc3ca9fa1
u/BestMomo · 1 pointr/gamedev

This is the book that helped me a lot when I was studying C# years ago:

Amazon link

It's fun and easy, and there's a few simplistic games that it teaches you to code here and there.

As others mentioned, good programming concepts are independent of language. Given your post wording, I think what you need to learn now is good object-oriented programming, so you need to learn the concepts of polymorphism, inheritance, overload, abstraction, etc. It's those concepts that make code expandable, independent and easily manageable. This book might just help you grasp those concepts and improve your overall C# coding.

u/thisdudehenry · 1 pointr/csharp

I have Head First C#: A Learner's Guide to Real-World Programming with C#, XAML, and .NET https://www.amazon.com/dp/1449343503/ref=cm_sw_r_cp_apa_mYj-ybB13MG8A and also orderd The C# Player's Guide (3rd Edition) https://www.amazon.com/dp/0985580135/ref=cm_sw_r_cp_apa_MTj-ybN7NTF1H second edition has nothing but great reviews. Also you can skim through a few chapters and I like how it's structured with chapters that are only projects for you to do that they taught you basics in the previous chapter.

I plan on doing that book first since it's more up to date and modern . Then tackle head first c#, because it's a little older so I'll know my way around and it also starts you off with the GUI too and a few little things the other book doesn't go over .

u/Tetravus · 1 pointr/learnprogramming

I'm a big fan of the headfirst books.

http://www.amazon.com/Head-First-C-Jennifer-Greene/dp/1449343503/ref=sr_1_1?ie=UTF8&qid=1422302647&sr=8-1&keywords=headfirst+C%23

It will help you get a good understanding on C#, and then you can try and make unity scripts.

u/srblan · 1 pointr/csharp

I'm 35, no degree, 2 young kids, little time to study. I had an interest in coding but have done nothing more than an intro to HTML/CSS and Javascript while in community college.

I got a job as a tester/DBA support. I expressed interest in learning to develop as we were short staffed (still are).

I started with Udemy.com, C# Beginner with Mosh. I liked this course but felt it was a bit disjointed. His lectures did not always cover the material used in his challenges, but I will go back into his other two courses eventually.
Next I watched the Bob Tabor videos others have mentioned. I liked these, they were a little more direct and showed more actual coding than the Mosh vids.
Third - I read the first 20 chapters of this book: https://www.amazon.com/C-Players-Guide-3rd/dp/0985580135/ref=sr_1_1?ie=UTF8&qid=1521128465&sr=8-1&keywords=C%23+Players+Guide (most of this would be a review, but I like seeing how other people teach the same material)
Now, I'm working through this book:
https://www.amazon.com/Head-First-Learners-Real-World-Programming/dp/1449343503/ref=sr_1_2?s=books&ie=UTF8&qid=1521128540&sr=1-2&keywords=Head+First+C%23.

After this book, i will move onto Pluralsight.

I am very much still a beginner, probably still a year or more away from supporting our devs at work. But the best advice I got was to code every day. You won't learn it if you don't do it. I don't know if any of this will help you get "job ready" super fast, but its the advice I was given and I just wanted to pass it along.

u/cajun_super_coder · 1 pointr/learnprogramming

Very good writeup on events.

Edit: OP, as far as resources, I've always been a fan of the Step by Step books. The Head First books are also good as well as Murach's books.

u/FrontpageWatch · 1 pointr/longtail

>Why is it so hard to figure out where to start?
>
>It's no secret that software development has exploded in the past 20 years. New software startups pop up like dandelions in the spring. It then follows that a lot of people think software development is a good career choice and are afraid of missing out on a lot of great opportunities.
>
>Software developers are, in general, pretty opinionated. I doubt this is unique to developers, but it gets tiresome when you've dealt with it for years. If we're not fighting over what operating system is better, then it's what language is better. If it's not that, then it's code editors, or databases, or frameworks, or bug trackers, or development processes, or...or...or. It's like we enjoy fighting.
>
>In a time where more and more people are becoming developers, it's not enough to be just "a developer" anymore. No, to feel superior now, developers need to somehow differentiate themselves from both the non-developer “rabble” and their fellow developers.
>
>This mentality has lead to more coding languages being developed that purport to "fix" issues with other languages. New frameworks are built to "fix" issues with previous frameworks. And on and on.
>
>All this leads to a huge amount of choices, opinions, and resources. Naturally, that makes starting to learn, daunting.
>
>Since I'm a developer too, I'm susceptible to the same opinions and biases that I just railed against. The difference is, I'm right. I'm kidding, seriously, calm down everybody. Here are my suggestions.
>
>Choose your weapon language
>
>As someone once said: “the weapon doesn’t make the man.” It’s probably a quote from some B martial arts movie or Dragonball Z, but the philosophy holds true for programming languages. A good developer is a good developer regardless of language. However, you need to start someplace, and if you pick your first language wisely, you’ll drastically shorten the time to hit your goal.
>
>Picking a language boils down to what you want to do. This is a quick list of general development goals and what language(s) are your best options to get there:
>
>1. Front-end web development (user interface and interaction): Javascript, HTML & CSS
>1. Back-end web development (services that front-end web apps and mobile apps call out to): Ruby, Python or Javascript
>1. Mobile development: Swift (iOS) or Java (Android)
>1. Windows development: C#
>1. MacOS development: Swift or Objective-C
>1. Operating systems, file systems, embedded systems, etc: C/C++
>
>Naturally, there are other options for each of these. Javascript is useful for items 1-5, for instance. But the list is a good starting place as-is.
>
>How to find good resources to start learning
>
>There are a ton of resources to learn to code out on the web. How do you sift through the chaff and find the real gems?
>
>Most resources fall into the following categories:
>
> Books
>
Videos
> Blogs/tutorials
>
Courses
>
>Books are the traditional go-to resource. Search Amazon.com for your topic and read reviews. Make sure that any books you're considering are new. Languages change and older books could slow your progress.
>
>A lot of people have gravitated to videos to learn coding and other topics. YouTube is the first place most people look. Fair warning, this is going to turn up a bunch of crap. Look at how many subscribers a given instructor has, and watch some videos to see if their style and method works for you. Another possible issue is that because video is more difficult to update for new versions of a language (or corresponding tools), some videos might be outdated.
>
>For blogs and tutorials, a simple google search like "best python tutorial" or "best swift tutorial for beginners" is a great place to start. As with videos, you'll have to try a few to see how they work with your learning style.
>
>Online courses are the newest resource on the scene. Codecademy is one that a lot of people find immediately. However, after I talked to a lot of people who tried it, none really thought it did a good job. Free Code Camp or The Odin Project are both highly regarded for web development. Udacity, Coursera, Udemy all have courses in different genres. Each has reviews so you can compare and only look at ones that helped others. My specific examples follow in the next section.
>
>Where you should start, specifically
>
>Each development goal in the above list is different enough to require different starting points. I’ll list the place that I’d recommend you start for each one. I have not personally tried all of them, but have come across them when doing research. There also might be better ones, and so if you know of any, let me know and I’ll update this list.
>
>1. Front-end web development: Free Code Camp
>1. Back-end web development: Ruby (for Rails), Python (for Django), Javascript (for Node)
>1. Mobile development: Swift Lynda’s Swift Essentials (check your local library to see if you get a free Lynda account with a library card) or Flatiron school’s free Swift course, Swift Programming book or Java Head First Java, University of Helsinki’s MOOC
>1. Windows development: Head First C#, Pluralsight’s C# course
>1. MacOS development: Cocoa programming for OS X, or the same courses for mobile Swift
>1. Operating systems, filesystems, embedded systems: C++ How to Program book, C++ Tutorial for Complete Beginners
>
>Once you pick your language and starting point and you start learning, some things will be obvious, but others will be difficult to understand. You’re going to run into trouble and with concepts and code errors. That’s normal. We’ve all been there. Getting unstuck takes practice too.
>
>How to get unstuck once you’ve started
>
>Once you start learning to code, you're going to run into problems that you don't know how to solve. This is normal and part of the process. You don't really learn unless you struggle through it. That said, you won't always be able to move forward without some help. So how do you find that help?
>
>First off, forget books. They aren't a great place to start here, because the number and types of errors they can cover is so small.
>
>Online is the easiest place to find help. Most devs look for solutions on StackOverflow or just google the error message (if they have one). Other solutions are to find newsgroups or forums dedicated to the language you're using.
>
>How to use Google to get unstuck
>
>When you first try to google an answer to your problem, you're going to run into the issue of what to search for. Experienced developers are really good at this part, but unfortunately, it's hard for beginners, who need it the most. So here I'll give you some expert hints on how to improve your search results.
>
>1. Always include the name of the language you're using. If you're using a specific tool, database, or framework, include that as well. Don't include all of them, just the ones that you believe are relevant. This will take practice.
>1. If you're getting an error message, include that in quotes. Edit the message to contain only the core of the message so it doesn't reference any files, classes, path or filenames that are specific to your program or computer. The trick here is to make the error message as specific as possible while still being general enough to apply to others who are using the same language/tool/etc. but in a different context.
>1. If you're working through a publicly-published problem from a book or course, add that information to the search.
>1. Explain what you're trying to do, with the fewest words. This is tough for developers of all levels. For a beginner, you may have trouble coming up with the right terminology. This is where the books, tutorials, and course materials come in handy. They should use the right language if you're doing something similar to what's covered in them. If not, you're going to need to try some different wording. Remember, other beginners are going to be having problems too and might explain the problem the same way.
>
>Here are a few examples I’ve used (minus the quotes):
>

u/Beakerbite · 1 pointr/learnprogramming

What's your level? If your just getting your toes wet then you could try Head First C#. It's very easy to follow along and it works on VS2010.

u/volandkit · 1 pointr/cscareerquestions

Read some easy beginner's book like Head First C# to get initial grasp of a language and after you finished with it read C# in Depth. If you really want to understand what is happening pick up CLR via C#.
Also always follow Code complete religiously and you will be better than most.

u/jIceTea · 1 pointr/learnprogramming

>Is it possible to use MonoGame with SFML?

I don't know.

I'd recommend getting a book. Head First C# maybe, i have read Head First Java and it was really good.

And also msdn

u/lardlung · 1 pointr/Python

It's good to be versatile. :)

What kind of projects have you tried in the past? Or to put it another way, what's failed to capture your attention?

Although I recommend actually writing code more than I recommend hitting yet another book, John Zelle's textbook Python Programming: An Introduction to Computer Science is a pretty good book that may help you. That's an amazon link, but you can find it online elsewhere, as well. It might be worth your time to find a copy, although

The book steps through building some projects with a lot of good discussions about why certain code choices are made, but more importantly, it has exercises and questions at the end of each chapter. Some are easy to answer, and some take a little more thought.

There's also a pretty good chapter that talks just about the process of designing a project, which helped me learn to organize my thoughts when I'm tackling a new project.

I'd love to hear what you end up picking to get going again.

u/gbliquid · 1 pointr/learnprogramming

When I was learning python in school they had us use this book.

Python Programming: An Introduction to Computer Science, 3rd Ed. https://www.amazon.com/dp/1590282752/ref=cm_sw_r_cp_api_i_6JnyDb7DPST9V

I found it to be easy to learn from. The language was easy to understand, it covered a lot of the core topics to get you started in python, and I’m pretty sure each chapter had a bunch of programming exercises at the end to practice what you learned. Would definitely recommend this book if you’re looking to get started in python.

u/cjsimp02 · 1 pointr/learnprogramming

I recommend starting with some free resources, which I did at first. However, this book gave me a ton of knowledge on the fundamentals. The author uses Python to teach how programming works and the thinking/problem solving that you need when programming. It’s very interactive and he builds on the same problems throughout the book. He also does a great job at explaining loops and how they work, which can be confusing to someone new at programming. He will have you writing programs (very simple ones) right off the bat.

u/goto-reddit · 1 pointr/node

Calculating the time to read a book


As far as I can tell, howlongtoreadthis.com makes the assumption that every book has 255 words per page (wpm) and the average reader is reading at 300 words per minute (wpm), therefore the formula is

pageswpp/wpm/60

I wrote a simple example for this formula:

const readingTimeInHours = (pages, wpp = 255, wpm = 300) => pages
wpp/wpm/60;

const howLongToReadThis = (pages, wpp = 255, wpm = 300) => {
const readingTime = readingTimeInHours(pages, wpp, wpm),
hours = Math.floor(readingTime),
minutes = Math.floor(readingTime % 1 * 60);
return Reading at a speed of ${wpm} WPM, +
would take approximately ${hours} hours and ${minutes} minutes to read this.;
}

// http://www.amazon.com/Eloquent-JavaScript-Modern-Introduction-Programming/dp/1593275846%3FSubscriptionId%3DAKIAJJEOYOHBMPEE3DEA%26tag%3Dmechakeyboadv-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1593275846
const eloquentJavascriptPages = 472;
console.log(howLongToReadThis(eloquentJavascriptPages));

Connecting to amazon


I think amazon-product-api is the API you are looking for.
As far as i can tell you must have - or create - and Amazon Web Services (AWS) account for this. Examples on how to use this written on the page (the README.md).

u/acconrad · 1 pointr/webdev

Between JavaScript Allonge, JavaScript Spessore, and Eloquent JavaScript, that should get you into the Advanced zone you seek.

u/Apathetic_Answer_ · 1 pointr/investing

Check this out. Helped me learn python and apply it. Helps with the sometimes tedious tasks at work.

u/slayerming2 · 1 pointr/learnpython

Okay yeah sorry, I'll try to do more research on the reddit next time. A less knowledagable friend suggested I try my hands on with VBA and, I asked my more knowledgable friends about that and php. He said that VBA is kind of outdated and PHP, although easier, is really specific for what you want, and Python encompass both VBA and PHP better. Do you agree with that?

Also is this the book you were talking about? https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914

My friend said he said he heard good things about this book https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994?ref_=nav_signin&

What do you recommend?

u/throwawayIWGWPC · 1 pointr/rational

> then at least answer this. how does the marker know its host soul is the Controller? it has to identify the soul somehow and said soul is also changing and growing.

The marker wouldn't need to know the host soul is the controller. For example, say I have a shirt and I attach a tag to it that has "Controller" written on it, I can do a lot of things, drastic things, to change that shirt---paint it, sew new things on it, cut it down to be a rag---and the tag will still be attached as long as I didn't alter the part of the cloth where the tag is attached.

That's a physical metaphor, but in programming, there are a few different ways to create data structures that work in the same way. To avoid going into too much detail, here are some terms you can Google if you want to know more: "Python" and then one of the following---lists, dictionaries, objects. The first two are pretty straightforward to understand, whereas objects are a complex topic.

If you're interested in programming by the way, Automate the Boring Stuff with Python: Practical Programming for Total Beginners is freaking great. Python is a powerful language that's easy and fun to learn.

u/_that_clown_ · 1 pointr/india

Python is easy to learn and you can do actually do it in 3-4 weeks if you give some time. If you can spend some money I would suggest searching "Python Bootcamp" on Udemy(It's the best video resource I have found, and Also go to inventwithpython.com and read Automate the boring stuff with python) . You can find it in 700rs If it says otherwise wait a day or two.

If you want something to read I would suggest Think python or Automate the boring stuff with python. , (You don't have to pay for the book, If you want you can read it for free on inventwithpython.com)

For youtube I would recommend sentdex's Channel He has fundamental videos and videos on many type of libraries. I completed his Machine Learning Videos and they are amazing.

Good luck and god speed.

u/whattodo-whattodo · 1 pointr/learnprogramming

If it has to be a book, my only advice is do the opposite of what I did. I got Learning Python, 5th Edition, which is a huge, dry book. It's great, but it was daunting & more than was even good for me to know about at the time. I would suggest any guide meant for beginners.

I should mention that Learn Python the Hard Way & Automate the Boring Stuff with Python are the standard suggestions. I still suggest a beginner's book, but this is what the community likes.

That being said, I usually insist that people follow this order.

1) CodeAcademy's course on Python

a) It only teaches you things that are essential.

b) It provides you with an editor & a runtime environment. These two steps may become a little confusing later, but it's good to not have to tackle them all at once.

c) It provides training that is still hands on

Note: I specifically suggest doing the course more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

2) Lynda's Learn Python 3 Standard Library. It is free through the Public Library. It is a series of videos so it is not hands on, but it helps you see what is possible before you're able to write it. Knowing what is possible is a big part of the process. Once you know what is possible, the how is often mostly irrelevant & figured out with Google.

Note: I specifically suggest watching the videos more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

3) Only here do I usually suggest a book. Any book will do, but once you're swimming in ideas & have been prepped & re-prepped. You should be ready to go.

There is a very good chance that installing Python, picking en editor & running the code will give you a hard time. Python is a pain to set up in Windows the first time you do it. Though, if you're running Linux, it's seamless. Once you get here reach out to me (or /r/learnpython). There are some tricky steps, but once you're up and running, you won't look back.

Good luck. If you have any trouble with any part, shoot me a message.


Edit: I like this guy's setup too. https://www.reddit.com/r/learnpython/comments/6f7ybq/_/dig45b0?context=1000

u/kzbigboss07 · 1 pointr/careeradvice

CPA turned data engineer/scientist checking in. Used to work in FP&A for a bank handling all their technical needs. Spent my entire career so far between business departments and IT departments.

As for #1, if you like where you're at then try to beef up the technical skills to the maximum you can in that environment. Take the time to master SQL by learning the advance uses (windowing functions, recursive queries) and tune some of your queries that take a while to run. As for Excel VBA, I really suggest you start learning a proper language like Python and use that instead. VBA was my first professional coding experience, but it kept breaking (new office versions, Mac users, windows updates, etc..). I now write Python and R regularly and I wish I started sooner. Start small with scripting then start dabbling in more object oriented programming. A good book to start with is Automate the Boring Stuff with Python: Practical Programming for Total Beginners https://www.amazon.com/dp/1593275994/ref=cm_sw_r_cp_api_0BTSybPKF1S0S

Mastering SQL and having scripting skills gets you closer to a technical role than a business role. At a minimum, it makes you worthy of an interview for more Business Analyst and Business Intelligence roles.

As for #2, I need to give you a little bit of a hard time. Just head to Indeed.com and search for 'finance SQL'. TONS of opportunity live at the intersection of finance and IT all over the world. Moving straight to a pure development role will be a challenge, but start scanning the jobs you find most attractive and figure out what your gaps are. Even if you don't plan to leave, use those job descriptions to talk to your leadership about your technical goals.

As for the CPA, IT'S A HUGE ASSET. Sure you may never sign off on an audit statement or be a tax preparer, but your CPA is proof you understand business. I'm now a Senior Technical Manager focused on financial intelligence in the cloud industry and regularly consult with Finance how to solve weird accounting problems. Once you slide over to the technical side, your CPA and your business experience give you a perspective you'll have never had if you started off as pure technical.

I'm actually headed to San Mateo tomorrow and spending the week there. PM me if you want to grab a coffee.

u/MuhBack · 1 pointr/learnprogramming

I took a free online Python class. Then my wife went to a Web Development boot camp and is learning Jave Script. I decided to switch to JS because she's a great resource. But now there is a free online class in Python I want to take and I bought this book because I think I can use it at work.

Anyway I feel like all this jumping back and forth isn't efficient. Do you think its a bad idea to learn both languages at the same time? Or should I focus one?

u/PlatinumGlasses · 0 pointsr/learnprogramming

This is wonderful, thank you. There are some lines that I haven't learned yet and so I'll make sure to research on them. I'm currently using this book as a teaching guide, do you have any other suggestions for books I can use?

u/71aaf6bfe05f94b6c449 · 0 pointsr/Amd

to put this machine to good use i suggest adding a python book as a birthday present, "Automate the Boring Stuff with Python".

www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994

u/acecool · -1 pointsr/programming

The book that a person should read which has most of the languages mentioned in this article is Seven Languages in Seven Weeks which teaches the basics in Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell

I also want to mention the book Ocaml for Scientists which is unfortanely mis-named in that it does not teach scientific programming but rather general purpose programming aimed at scientists who have trouble implementing good programming practices in whichever programming language they use. Strangely this book is not available on Amazon but only the author's website.

u/itsgreater9000 · -2 pointsr/learnprogramming

This thread is fucking stupid. Everyone is giving their opinion on language learning. Just learn Java OP, spend no time on anything else. If you want to make an Android game, that is. Here's a link to the best Java book I have found: http://www.amazon.com/Building-Java-Programs-Approach-Edition/dp/0136091814/ref=sr_1_1?ie=UTF8&qid=1354886722&sr=8-1&keywords=building+java

Ready through the first 8 or so chapters (they have practice problems too), and then learn about how to code specifically in Android (Google has some fantastic guides on it). It will be a project longer than 3 months if you aren't ready to devote 2-3 hours a day for 3 months. (minimum).

u/BICHO_CHICKEN_ · -3 pointsr/learnprogramming

Unless you're gifted with coding and algorithms, don't expect to be able to land an interview and then land a job. Interviews will test you on algorithms, and coding.


If I were you, I'd just focus on learning Java syntax very well, then move on to OOP principles, and then move on to MVC principles.


Assuming you already have the required math background, you need to open this book, and starting going through the important parts in each chapter, and committing it to memory. You will be tested on things from this book during job interviews. You are expected to code them as well. Amazon specifically ask about Linear Programming whereas Google might ask about other stuff.


Not many make it without a CS degree. I have made a few bucks selling game apps, but there is always better things to do out there.

Algorithms book, considered to the holy bible in CS

https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844




Start using Java, and commit things to memory.


You will need at least 9 months of prep time.


Use this book to learn java https://www.amazon.com/Introduction-Programming-Structures-Comprehensive-Version/dp/0134670949/ref=sr_1_3?keywords=liang+java&qid=1564003011&s=books&sr=1-3






Use this other book as well:


http://www.deitel.com/Books/Java/JavaHowtoProgram11e/tabid/3683/Default.aspx




I assume you already know how to study and memorize and take good notes.





To get started on making game apps, visit this, and download it, it may help to fund you https://www.scirra.com/

u/nolsen01 · -3 pointsr/learnprogramming

If you already know how to program, then K&R is great. If not, I would recommend (not starting with C) Absolute Beginners Guide to C.

u/shibacorp · -3 pointsr/learnprogramming

For JS, (personally) I've found http://www.amazon.com/Smarter-Way-Learn-JavaScript-technology-ebook/dp/B00H1W9I6C to be the best. You get right into it and does similar things to anki where it reinforces things you've learned previously. It's strict coding and you can't continue until you've gotten everything right.