Foundations of Computer Science
infolab.stanford.edu
infolab.stanford.edu
-- start with binary and work your way through hardware and logic gates
-- start off with theory like turing machines, first order predicate logic and work your way up
-- start off with a hello world, and slowly iterate over programming (in a post internet world, this is especially popular) with loops, if/then statements and so on
But, perhaps aging myself, this book is close to my idea of the traditional introduction.
Or start off with the lambda calculus-based alternative to Turing machines, as in seen in SICP.
> -- start with binary and work your way through hardware and logic gates
I'd consider this foundations of computer engineering.
> -- start off with theory like turing machines, first order predicate logic and work your way up
I'd think of this as more like foundations of computability theory, but, yeah, this seems like another viable angle for me.
> -- start off with a hello world, and slowly iterate over programming (in a post internet world, this is especially popular) with loops, if/then statements and so on
I'd call this foundations of software engineering.
Nah I would call this foundation of computer science.
"What does his lucid explanation amount to but this, that in theory there is no difference between theory and practice, while in practice there is?" –Benjamin Brewster, 1882
These are 4 different corners of a pretty large, but related field, and while not a single individual can fill out the whole spectrum, it does make sense to expand into each direction. Software Engineering is a discpipline of Computer Science at my university, and my degree also taught systems architecture and computability theory.
Each of these can but doesn't have to be important for your work as a software developer, and very few people working in CS in any capacity can completely ignore and of the other facilities.
Predicate logic, data structures and algorithms (much of what you see in the submitted link), binary and logic gates, a programming language from scratch ('what is an if') in our case Java - yes I skipped those lectures of course and just took the exams ;)) and math (some repeat of calculus from school, then more advanced and also probabilities).
I.e. we learned all of these things 'first' in parallel.
In the case of foundations, the aim is to establish a solid and complete base on which to build all subsequent knowledge; and that need not be easy at all.
https://news.ycombinator.com/item?id=30084470
https://cacm.acm.org/magazines/2022/2/258231-abstractions-th...
Aho and Ullman received the Turing Award last year and their Turing lecture and this book have some overlap.
Us societal rejects would greatly appreciate it.
Don’t do this. Even if you’re in a bad place socially this is the internet. No one knows you’re a dog. Offline it’s a bad idea too because you’re at least as likely to provoke “kick that whining puppy” as pity and both of those are bad.
If things are shit that sucks but they can get better.
$ wget -r -p --tries=3 -nc --no-parent http://infolab.stanford.edu/~ullman/focs.html
Fetches the focs.html file (and all other under ~ullman too!). My wget-fu isn't that great. :)
I was lucky enough to have gone to a university system (UC) which gave me an opportunity to learn the fundamentals of computer science, but when I see major universities (like Stanford) operate public HTTP sites without TLS, I can't be anything other than disappointed.
It's 2022, there's really no excuse to operate public HTTP sites without TLS (with minor exceptions). Even self-signed certificate HTTPS would be far better than HTTP without TLS.
Just as no one would want government agents following them around as they go about their day attending university lectures, and just as we wouldn't be happy with that agent asking us "Why, what do you have to hide?", we also shouldn't be comfortable with having our visit to resources on stanford.edu be open to surveillance by every node on the network. In a world where even example.com uses TLS, we can surely expect the same from all Stanford subdomains.
Take just a moment to think about what the site could look like from China without HTTPS, if the CCP was interested:
Chapter 12 Propositional Logic
Chapter 13 Responsible State Guidance
Chapter 14 Using Logic to Design Computer Components
Chapter 15 Predicate Logic
Now it appears that a notable US institution supporting CCP-sponsored oversight, because someone was too lazy to use a self signed cert.
Funnily enough I used to know a blind woman who would use the iOS screen reader at like 4x speed when doing email.
> your snail mail doesn't come in completely transparent envelopes
You mean like post cards?
> and your doors have locks on them.
Fair =)
You are right that virtually all public websites should be HTTPS only. Serving static, non-sensitive data is the use case that "virtually" is there for.
Please list the good reasons that are relevant for a fully publically accessible page of information that contains nothing that asks for usernames/passwords or whatever.
You surely must be aware that content like headers and even URL paths (and other parts of the URL) are confidential over HTTPS.
Why should I allow an employer, an abusive spouse, an abusive parent, a parole officer, a detective looking to charge me with a crime, a gang looking to intimidate me, know which content I'm accessing from a website? All it takes is something like a wireshark application somewhere between (inclusive) my network and the server's network, and they will full have access to everything I've requested from the server and everything it has responded with, including all metadata. No warrants needed.
Like I said in another comment: "Why should we make any personal details about our lives public information if it doesn't need to be? Do you go around announcing all the things that you do in your life that are seemingly harmless? Sometimes revealing information to the public that one would think is harmless can end up doing a lot of harm, both to you and others. Privacy matters, a lot."
you must not like twitter much
That is correct.
And how is self signed better? If anything I’d say it’s worse! It creates a false sense of security.
A self-signed certificate used for HTTPS still protects the client/server from snooping by a unaffiliated party, even if it doesn't protect from a MITM intercepting and responding to the request in the case where the client hasn't already added this self-signed certificate to their trusted CA store.
In what way?