[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Learning CS
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 72
Thread images: 7
File: lambda1.jpg (32 KB, 622x387) Image search: [Google]
lambda1.jpg
32 KB, 622x387
What book do you recommend for learning CS (other than SICP)?
>>
File: squid girl.jpg (100 KB, 600x338) Image search: [Google]
squid girl.jpg
100 KB, 600x338
As a followup? Introduction to Algorithms
As a starting point? code.org
>>
>>54383961
>Introduction to Algorithms
Is it hard?
>>
>>54383961
As a starting point Simply Scheme is better.
>>
File: books to read.jpg (438 KB, 900x2134) Image search: [Google]
books to read.jpg
438 KB, 900x2134
Another good follow up would be to learn languages worth using.
Lisp is a good language, and it's worth learning, but if you try writing software as a group you're going to have a /really/ bad time.
C++, Java, and Python (or equivalents) would all be worth learning. Preferably in that order

>>54384024
It reads like a stuffy math textbook. Because it is.
But you won't find an easier algorithm book that's actually good.
>>
>>54384077
Concrete Mathematics is *very* hard. You can't expect somebody to learn on his own with it.
>>
>>54384077
And The Art of Computer Programming is INSANELY hard, expert level hard.
>>
>>54384148 >>54384183
That list is "good books" not "good beginner books".
Sorry for being unclear on that. The file name was a personal reminder.
>>
Programming methodology is something that you often don't see value to right away but give it a few years and you start to think in patterns being applied and not the actual syntax of the target language.

Things like Code Complete and Design Patterns are excellent reads for an intermediate programmer trying to get better. They're not for CS specifically, they're targeted at someone who builds large scale applications on a team.

I love Programming Pearls by Bentley. It's only tangentially related to modern enterprise programming, but it's interesting and will change the way you think about code.

Picking a language and learning absolutely everything about how it works is good too. How it's compiled, how it's run, the actual grammar.

You could always try your hand at TAOCP, if I had six months and another 20 IQ points I might give that a real go.
>>
>>54384077
none of this will be useful for actually programming
>>
>>54384612
But Rajesh! Even Pajeets need to read Introduction to Algorithms to answer interview questions!
>>
>>54384795
you just need to watch like a 2 hour youtube video
>>
>>54384077
>TAoCP
No one actually reads it. It's the Hegel of programming.

>Art of Unix Programming, C&B
Raymond is a hack who wrome some popular text files and a shitty email client. He told a good story that had a loose connection to reality but his books aren't worth reading beyond as a cultural history

>Code Complete
>Anything McConell
Blue collar as shit, anyone who like this shit should got get a job at microsoft and die in obscurity

>K&R
Famous, lovable, but not that great of a learning material. Increasingly showing its age.

>Dragon Book
The best book in the history of computer science. Understanding the content of that book is one of the most transcendent experiences of a person's life.

The little schemer and SICP are both pretty GOAT too. Land of lisp is OK.
>>
>>54384077

"Learn You a Haskell" shouldn't be on that list. I know there aren't that many haskell resources out there, but LYAH isn't a great way to learn
>>
>>54385827
Code complete 2 is based, it's about software development so it's important

read it after reading the pragmatic programmer
>>
>>54385843
>Dragon Book
>The best book in the history of computer science

Are you serious? What's the best way to work through it from the start? Just start reading it? Or is there anything else you need to do first?
>>
>>54386017

Don't listen to him anon
>>
>>54386035

I mean, it is a fantastic book and all, I just don't know that I'd call it the best in the history of the discipline.
>>
>>54386017
>Are you serious?
Yes, I really do believe there isn't any textbook that takes a more through slice through the interesting subjects in computer science than the dragon book. The amazing thing about it is that it ranges all the way from line-level implementation to some of the most far-out abstract ideas in the field. It's a profound realization that writing a parser (not even a compiler) requires, or at least is helped by, a concrete understanding of decidability, an idea created well before digital computers even existed.

>What's the best way to work through it from the start? Just start reading it? Or is there anything else you need to do first?
I took a 400 level course (although at a middling state university) called "theory of computing" but which commonly gets the "automata theory" name before reading it, I definitely feel like it helped but there was significant overlap too. Having some familiarity with automata theory would definitely be useful I think. The dragon book is pretty "down to earth" in terms of being implementation oriented so you might miss out on some of the theory if you didn't have a reasonable understanding of NDPDAs but I a bright student could probably work through it on their own
>>
>>54385843
>the Hegel of programming.
lel
>>
>>54387492
>NDPDAs
what is this?
>>
>>54384077
hell yeah, i've read 3/4 of the god tier books.

thank's /g/
>>
does fampai got the pdf of the dragon book?
>>
>>54384148
Concrete mathematics isn't hard, I finished (and understood) it in my second year of high school.
>>
>>54387492
Yo man just got an A in my automata theory course. I wouldn't say decidability is that important to writing a parser, just make sure you do a leftmost derivation haha.
>>
>>54389343
Nondeterministic Pushdown Automata
>>
The Bible
>>
>>54385887
Yes it is.
>>
Not OP, but i'm inspired once again to learn programming. I always tried learning from online tutorials and c++ for dummies lol and always stopped.

I have a BSc. in physics so i have a decent background in mathematics. I have a year and a half of free time. Is it enough time?
>>
>>54389784
Obviously dont mean a year and a half to become a master programmer. But year and a half to learn c/c++, python and maybe perl?

What are the three languages you think are essential to give a good foundation to be able to learn/understand other languages?
>>
>>54384077
I've never read any of these books except K&R yet I'm designing C++ books daily.
Just skimmed through Design Patterns and Algorithms and it just seems stuff I've learned/discovered on my own in my last few years of programming.
>>
>>54389477
How many exercises did you do?
>>
>>54389952
Design patterns fall ibto two categories:
>obvious
>over-engineering
Most of them just make up for how bad a language Java/C++ is though
>>
>>54385887
Haskell book for beginners is the best Haskell resource I've some across. Im in mobile so can't look it up. But it literally assumes no background and teaches from first principles.
>>
Op

Of strongly argue before even picking up a CS book learn Discrete math and the rest of your CS career will follow.

Google mathematics for computer scientist and watch the lectures w d read the textbook
>>
File: EX_Lagrange.gif (20 KB, 493x829) Image search: [Google]
EX_Lagrange.gif
20 KB, 493x829
>>54390480
I always found that textbook messy af. I'd much prefer a more traditional math book structure.
>>
>>54390420
Design patterns were created years before java existed. The defacto book for design patterns used smalltalk aND c++.
>>
>no one has mentioned discrete math for ducks
>>
Bookmark this.

http://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read
>>
>>54383861
Types and programming languages is pretty important. It's not hard in mathematical content, but it is very formal.
>>
>>54384077
>Learning c++ first.
That's such a turn off for new devs
>>
>>54391115
Which language/s should be learned first?
>>
>>54393220
Logo
>>
>>54391115
>>54393220

Python or C++. Mostly because Python is quick not too involved and is everywhere these days.

C++ because it has actual useful graphics libraries that can make something passable. So new peeps can do little projects.
>>
>>54389639
I disagree, it's a nice reference for beginners, but the lack of exercises makes it a horrible introduction.
>>
>>54390420
this. few of them are actually worth reading and in my opinion the gang of four book is outdated and shouldn't be on this >>54384077 list.

>>54393220
python or java. c++ is a clusterfuck where everything is added and nothing is removed.
with java or python you can get a job, they and are easy to learn.
>>
>>54393220
BASIC
>>
>>
>>54393698
Leave and never come back.

>>>54393678 outdated list
>v0.2 Dec 30, 2014
No shit.
>>
>>54393883
>v0.2 Dec 30, 2014
that book is from 1994, it was outdated even two years ago. uml wasn't even a thing in that years so that book use it's own syntax.
>>
>>54390540
Java didn't improve on shitty OOP desu
>>
SICP second edition
>>
are there big differences between lisp dialects or they are all pretty much the same thing?
>>
Thoughts on the "Starting out with X" series?
>>
>>54394943 There are big difference under the hood.
But they all have similar syntax, if you know Lisp you can read any dialect.
>>
>>54389308
that feel when philosophy major and fell for the hegel meme

all that wasted time I will never get back. At least I realized stirner was a meme a few pages in.
>>
>>54395051
thanks. can you give me some example of those big differences?
>>
What is the best lecture video/online resource to learn java?

Also, what is the best resource/lecture videos to learn algorithms
>>
>>54395147
assuming you don't have any knowledge about the subject, i would say algorithms by sedgeweek (java) and a random beginners java book.
if you're looking for something deep, then go with effective java (just to improve your programming skills) and introduction to algorithms.
>>
>>54395205
Thanks. Just got the pdfs for sedgeweek (java + his algos book + CLRS). Do you know of any good online courses for java to follow along with?
>>
>>54395232
don't waste your time with algorithms if you don't know any programming language. start with java, be comfortable with it and than go trough sedgewick book or clrs.
i don't have any online course to suggest you, but if you want learn a programming language be sure to exercise you a lot. it's like 95% practice + 5% theory
>>
>>54395293
ok thanks, will follow this advice
>>
Any good introductory to discrete mathematics book recommendations?
>>
Why do people use books? Google has all the answers and is more up to date.
>>
>>54395349
I;m reading mathematics for computer scientist from MIT OCW 2016 version. Don't yet know if it's the best.
>>
File: true facts about morgan freeman.png (128 KB, 518x345) Image search: [Google]
true facts about morgan freeman.png
128 KB, 518x345
Pic unrelated.

>>54395433
Books tell you what to learn next.
Google does not.

Books aren't disruptive when moving between topics.
Google is.
>>
>>54395433

Google would be fine if I had an outline of everything I need in order. Then ya.

Google only works when you know what you are looking for.
>>
File: 122.png (189 KB, 398x307) Image search: [Google]
122.png
189 KB, 398x307
>>54389477

I finished it in third grade.
>>
>>54395565
>>54395582
Can't you just Google a list of topics and the order?
>>
>>54396058

No. At least not a good one. Would be nice if that worked.
>>
>>54389814
C++, Java & Python.
>>
>>54383861

Actual Science? The Art of Computer Programming.

The way to succeed is to be programming alongside studying. You can apply what you learn as you learn it. I'd choose an easier language like Python to start.
Thread replies: 72
Thread images: 7

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.