This is one thing about GaTech that really annoys me. Every professor seems to remove thier notes at the end of every semester and only post them when the content becomes relevent to the course. You cant look ahead and cant reference them afterwards.
I'm sure this is the reasoning but it’s a stupid reason. I joined a frat because they have a service where they upload all the notes by class and professor and that caused my average GPA per semester to jump nearly a point.
It’s simply lazy, easy to game, makes crunches nearly unbearable, and interferes with the student’s ability to learn.
It’s also why GT while it has a reputation on par with MIT is actually a much worse school IMO. GT produces results because it lets a large amount of people in and them culls them out by being very difficult. Most GT students are very good at teaching themselves or finding groups such as the frat I’m with to get help.
CS Classes are often more of a hindrance than a place to learn and many of the 3+ students I know stopped attending most classes and are basically self taught my self included those who do go to class study while there and simply keep an ear out for hints about what may be on the test.
There are exceptions, especially after the sophomore year, but in general GT professors simply read aloud same notes for the last 5 years that have a very loose connection to what’s going to be on the test.
If one is being extremely charitable (to the poster, not Georgia Tech) one could say that GATech is an elite engineering school but not super elite, like MIT. There is legitimate controversy over what the best university is for CS in the world. For what the top four are there isn't. They are CMU, MIT, Berkeley and Stanford. Georgia Tech has a really great reputation and every professor there is a very impressive researcher but it is not comparable to MIT.
And I just discovered that I'm still a university computer science department system administrator: Every fiber of my being screamed, "Dear god, no! Use the Copy Center!"
I mean, kind of, but not really. Math textbooks from the 60's are still relevant today, so why would computer science be sufficiently different? I can see that there are new concepts and whatnot, but there hasn't been any kind of fundamental change in thinking. I wouldn't expect there to be.
> But fundamentally, computer science is a science of abstraction — creating the right model for thinking about a problem and devising the appropriate mechanizable techniques to solve it.
Too often in computer science education these days, this essential fact is lost.
Very interesting! I've often got into nasty arguments with people online when I dared to say that Computer science (Computing) was not a subset of math, but rather could be viewed more naturally as a superset. It is good to see serious academic work being done along these lines.
I did not get the impression, from the blog posts, that HOTT was putting forth that CS could or is a super set of math just that it can be used as a foundation for all mathematics, just like set theory or category theory can be.
Ok I'll bite. Why is "creating the right model for thinking about a problem and devising the appropriate mechanizable techniques to solve it" a subset of mathematics?
Because the mathematics is basically distilled, formalized art of precise thinking. It's the art of manipulating and morphing mental models. It's as much about numbers as astronomy is about telescopes ;).
Higher math requires a great deal of lateral thinking. Also, music an math are often closely related but I don't see the connection between music an say computer vision.
Computer vision practitioners do mostly math, are we calling them computer scientists also? Sheesh :). Whenever I get in the same room with one, we are talking completely different languages (and we do have a sizeable computer vision team in our lab).
"computer science is a science of abstraction — creating the right model for thinking about a problem and devising the appropriate mechanizable techniques to solve it"
well, you are just being facetious, and i guess you know it too. languages are part of 'devising the appropriate mechanizable techniques to solve it' as well as algorithms & data-structures which support the abstractions that you just came up with...
Language is a medium of expression of ideas (nothing in common with medium.com), so, less constrained it is the better. That is why Scheme in particular was chosen for SICP - it is small and expressive. It was a language for teaching, in good old times.))
After skimming through it a bit, and as a CS student, this looks like an excellent introduction to the theory of computer science, especially for someone with no background in it. It corresponds with what I would expect a first or second year university course on Computer Science would cover. After reading some of this, if you're still interested in this sort of thing, the rather infamous Introduction to Algorithms published by MIT press may be a good next step. PDFs can be found online with a bit of digging.
Students taking courses based on this book have ranged from first-year undergraduates to graduate students. We assume
only that students have had a solid course in programming. They should be familiar with the programming language ANSI C to use this edition. In particular, we expect students to be comfortable with C constructs such as recursive functions, structures, pointers, and operators involving pointers and structures such as dot, ->, and &.
ACM members once had a poll to resurrect a few classic CS books. That poll slowly became a "favourite CS books" list.
This is the list: http://t.co/LOli1BKFuL
Mathematics existed long before logic came to explain it, and most practicing mathematicians don't care that much about formal logic or think about it in their day-to-day work. The incompleteness theorems add a further disconnect.
I don't think it makes sense to say one can do mathematics without logic. Even if early math users didn't have a concept of formal logic, their mathematical reasoning was still dependent on it.
Sorry about that--I actually just created a new folder and moved into it before running the command, I probably should've mentioned that to prevent the issue you ran into.
This is a fairly interesting philosophical question. Personally I view (and use) Math as a set of abstractions to understand the world, and use Mathematical Logic to help make Math more rigorous and proofs more checkable. But if it turned out that Mathematical Logic had some flaws as it is formalized today, I wouldn't throw out Probability Theory or Algebra. Instead I would seek a formalization of Mathematical Logic that made those things useful.
I don't think that there's any formal system you can use as the basis of all Math, though. For example, ZFC can't talk about proper classes, but we'd like to be able to make statements about the class of all sets, and the collection of all classes, etc.
Many people have posted the combined PDF on this thread. However, there is no way to economically print this PDF for self use. Lulu puts the limit at 740 pages and this book weighs in at 790+ pages.
Does anyone know of a cheap online printer that can print at around 2cents/page?
With that budget you can get there with duplex b&w laser printing onto standard copier paper. I guess you'd have to buy a binder, but still cheaper than lulu I would think.
I was in the Stanford bookstore a few days ago and noticed their summer softback text for their summer Comp Sci 101 course was $132. It was about Java and basic computer principles together. It resembled a standard softback beginning Java reference book but with some exercises added to each chapter. Aho and Jeff have done a fine service offering their more meaty textook online gratis. (You dont even want to know what hardback texts cost- over $200.)
87 comments
[ 4.4 ms ] story [ 168 ms ] threadWell timed post as well: We're adding more on programming fundamentals to our course at http://www.thinkful.com/
Lecture notes have been taken down, but here are our homework solutions: http://users.ece.gatech.edu/~dblough/3020/solutions/hw_solut...
might this be possibly done because there is not too much variation in course content from one sem to next ?
It’s simply lazy, easy to game, makes crunches nearly unbearable, and interferes with the student’s ability to learn.
It’s also why GT while it has a reputation on par with MIT is actually a much worse school IMO. GT produces results because it lets a large amount of people in and them culls them out by being very difficult. Most GT students are very good at teaching themselves or finding groups such as the frat I’m with to get help.
CS Classes are often more of a hindrance than a place to learn and many of the 3+ students I know stopped attending most classes and are basically self taught my self included those who do go to class study while there and simply keep an ear out for hints about what may be on the test.
There are exceptions, especially after the sophomore year, but in general GT professors simply read aloud same notes for the last 5 years that have a very loose connection to what’s going to be on the test.
Unless you already know stuff or find a good group you're largely on your own.
This is not the case. Best not to repeat this claim.
pdftk preface.pdf toc.pdf ch*.pdf index.pdf cat output Aho_Ullman_1992_Foundations_of_Computer_Science.pdf
> But fundamentally, computer science is a science of abstraction — creating the right model for thinking about a problem and devising the appropriate mechanizable techniques to solve it.
Too often in computer science education these days, this essential fact is lost.
[1] http://homotopytypetheory.org/2013/06/20/the-hott-book/
See: http://golem.ph.utexas.edu/category/2013/06/the_hott_book.ht...
I heard that computer science was more of a subset of music than math.
Mathematics is the study of formal systems, eg proofs that can be derived from axioms using algorithms, i.e. a specific type of computable system.
Therefore, mathematics is a subset of computer science.
EX: computable numbers are a subset of all numbers. http://en.wikipedia.org/wiki/Computable_number
And, you know, the book about foundations is... SICP.) OK, this is C Edition.
well, you are just being facetious, and i guess you know it too. languages are part of 'devising the appropriate mechanizable techniques to solve it' as well as algorithms & data-structures which support the abstractions that you just came up with...
But if you want a full copy:
1. DownThemAll to pull down all of the .pdf links,
2. pdftk to merge them all into one file
curl -O http://i.stanford.edu/~ullman/focs/ch[01-14].pdf
Still less than ideal since they aren't one file. But it's easy enough to merge together.
https://news.ycombinator.com/item?id=1450633
Students taking courses based on this book have ranged from first-year undergraduates to graduate students. We assume only that students have had a solid course in programming. They should be familiar with the programming language ANSI C to use this edition. In particular, we expect students to be comfortable with C constructs such as recursive functions, structures, pointers, and operators involving pointers and structures such as dot, ->, and &.
Some splendid suggestions there.
https://dl.dropboxusercontent.com/u/6428759/merged.pdf
Edit: I did this using commands mentioned in some other comments and some Googling (this only works on OSX):
curl -O http://i.stanford.edu/~ullman/focs/ch[01-14].pdf && /System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py -o ./merged.pdf ./*.pdf
Might want to switch the last part of the command, though, as all other pdf files in that folder get merged in as well (learned the hard way) :-)
Something like this would probably be safer:
curl -O http://i.stanford.edu/~ullman/focs/ch[01-14].pdf && /System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py -o ./merged.pdf ./ch[0-1][0-9].pdf
wget http://i.stanford.edu/~ullman/focs/ch{01..14}.pdf && pdftk ch*.pdf cat output merged.pdf
I don't think that there's any formal system you can use as the basis of all Math, though. For example, ZFC can't talk about proper classes, but we'd like to be able to make statements about the class of all sets, and the collection of all classes, etc.
Does anyone know of a cheap online printer that can print at around 2cents/page?