Yes, I borrowed the title form a famous joelonsoftware post for my question beca
ID: 654505 • Letter: Y
Question
Yes, I borrowed the title form a famous joelonsoftware post for my question because I didn't exactly know how to ask this.
I'm a professional programmer for a few years now and although I followed informatics courses in school there was a lot of stuff missing from the curriculum, as I now know but wasn't aware then. For example I didn't do any compiler theory, algorithm analysis (the Big-O), have no idea what P-NP meant etc.
So I want to catch up now!
But the field of computer science is big. Really big! So from here my question: What's the absolute minimum every software developer absolutely, positively must know about computer science (no excuses!)?
Explanation / Answer
Programmers need to know enough basic logic (at least some first-order logic) so that they find it natural to write assertions and specifications in a declarative way. Most programmers tend to only see the imperative aspects of programs. This does not help when you have to reason about your programs, or design good interfaces for modules and components.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.