How I'd teach computer science
I often hear many many people say &quot;what you want is Software Engineering not Computer Science&quot; and I&#x27;d say YES that&#x27;s EXACTLY what I want. The problem is finding a university that will give it to you.<p>In my opinion the field of Computer Science should be the study of abstractions, logic, derivation of algorithms, understanding the limits and possibilities of computer hardware, and programming (being the development of a real-world solution to a problem that can be run to process data). If it&#x27;s not one of those items I don&#x27;t think it belongs in Computer Science. Sadly, our field has been managed, since the beginning, by professors who think it&#x27;s math field.<p>That&#x27;s the way I&#x27;d say most hiring managers look at it: Computer Science = Programmer. The only place this isn&#x27;t paralleled is academia.<p>So I&#x27;m perfectly fine with saying either everyone else is wrong and my definition is correct, in which case we need to seriously evaluate how Computer Science is taught in schools. Alternatively I&#x27;m wrong, in which case I&#x27;d love to attend a university that will allow me to get a bachelor&#x27;s, master&#x27;s, and maybe even a PhD in Software Engineering because the truth is I hate whatever it is that academia considers Computer Science but I love logic, creating solutions to problems, thinking about the limits of hardware, optimizations, and everything that goes along with it.<p>Sadly I cannot find any university that offers this. My university offers a SE masters degree but it requires a BS in Computer Science! How ironic!<p>But yea, I&#x27;m perfectly happy with either of those outcomes. The people who are, in my opinion wrong about what &quot;Computer Science&quot; is can stay in their corner and I&#x27;ll stay in mine.