Hacker Newsnew | past | comments | ask | show | jobs | submit | chronal's commentslogin

Harvard's CS50 is excellent. You can find it here: https://cs50.harvard.edu/x/2023/



Okay, so I'm guessing CLRS comes from the last names of the authors:

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein


I use arch and I don't have the rust package installed. In it's stead, I have the rustup package installed. As the rust project recommends the use rustup to manage multiple possible installed versions of rust, my guess is that most arch users only install rustup.

I'm not sure if the values for rust on this graph account for the rustup package.


You may be able to find what you are looking for here: https://archive.org/details/@mirtitles



Have you considered the Mozilla Public License?

It doesn't satisfy this requirement

> offer it as part of a service (AGPL-like)

but I believe it satisfies the rest


You grab a copy of "Convex Optimization" by Boyd & Vandenberghe over here: https://web.stanford.edu/~boyd/cvxbook/

This is more optimal control but I really enjoyed reading through these notes: https://math.berkeley.edu/~evans/control.course.pdf


What textbooks did you assign for prolog and smalltalk?


I used The Art of Prolog, Second Edition by Leon Sterling and Ehud Shapiro (https://mitpress.mit.edu/books/art-prolog-second-edition), which is available for free using the "Open Access" link, and also Smalltalk-80: The Language and Its Implementation by Adele Goldberg and David Robson (http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook....), which is also available legally for free with permission (see http://stephane.ducasse.free.fr/FreeBooks.html for other freely-available Smalltalk books that are out of print).


Thanks!


Georgia Tech took this course added the missing assignments 4 & 5. You can find it here: https://tc.gts3.org/cs3210/2020/spring/lab.html


What books have you tried to read?

I've read the regular languages section of Michael Sipser's "Introduction to the theory of Computation" and I really liked how it was written and how the material was presented. The first chapter is an introduction to the mathematical background you will need as well as quick primer on proofs. The following sections are "Automata and Languages" (regular/context free languages), Computability Theory (Turing machines, decidability & more) and Complexity Theory. The book flows like this: Sipser initially starts with an example or two to demonstrate an idea, and then formalises the idea with definitions or proofs. I'd recommend you have a look at it!

As for why Turing machines matter, from my understanding, this comes from the notion of Turing completeness. Essentially if it's possible to compute something, it can be done on a turning machine. Note that different computational models, such as the lambda calculus, can have the same level of power (Church-Turing thesis). An example of something that can't compute the things that a Turing machine can compute, is definite finite automata which are equivalent to regular languages/regexes. So, now we come to the most interesting bit, what are the limits of Turing machines? By understanding them, we understand what the limitations of our computational tools. This is where the halting problem comes in. It's not possible (on a Turing machine) to write a program that can figure out if a general program will terminate. This implies there are things that we can't really compute. There was a great answer of CS stack exchange regarding this: https://cs.stackexchange.com/a/32853

I hope that helps, let me know if you have any further questions.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: