The Lesson to Unlearn
I got into &quot;computer science&quot; before there was a CS degree. Our CS classes were taught in the math dept (fortran), business dept (cobol), or engineering (assembler).<p>The profs were literally 1 chapter ahead of the students.<p>I, however, was in love with the subject. I was the &quot;student advisor&quot; in our &quot;machine room&quot;. We had 5 teletypes connected to a remote mainframe at Rutgers. I lived and breathed CS.<p>I wrote tests for the profs (even thought I was also in the class) and I answered questions for students about the tests when they came for computer help.<p>Pick a subject you love so deeply that you&#x27;re always at the leading edge (which essentially means a new subject the school wants to teach). For example, CMU introduced an AI curiculum. Learn how to do NNs, DNNs, GANs, etc. Read the latest papers. Write working code. Chat with the profs. Hang around the dept.<p>Proof systems are a hot topic. Learn LEAN, COQ, AGDA. Learn to write proofs by machine. Read the papers. Get ahead of the curve. It is hard to &quot;fail&quot; a student who knows a lot more than you, especially when they help craft the tests.<p>Intel stuck an FPGA inside its CPU. Learn Verilog and learn to hack new CPU instructions (e.g. read Gustufson&#x27;s book &quot;The End of Error&quot; that introduces a new kind of floating point arithmetic). Write code that outperforms BLAS code.<p>Learn BPF (Berkeley Packet Filter) so you can do impossible things about the kernel in User mode. Make your networking class look like it is stone-age.<p>I could go on but you either &quot;get it&quot; or you don&#x27;t.