Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Harvard University used to teach an assembly language class back in the 80's, taught on a mainframe - a VAX 11/780 or similar I seem to recall. This was an open enrollment class, available to evening and summer students. That class was, well it as Assembly, so it was difficult. The homework assignments were odd, seemingly unrelated. At the midterm, the professor handed out a makefile that combined every assignment to date, and if you did your homework correctly, a mini version of Vi was produced. The rest of the class with polishing that version of Vi, all in assembly 11/780. Taught me one hell of a lot!


If you can recall, what were the individual assignments? Would love to understand how the modules added up


Now you've got me digging through archives, I've got all the homework assignments stored. I need to find someone with an exabyte tape reader...


If you do find someone I’d love to hear more as well.


I found part of my homework assignments, some printouts. I'd forgotten the big reveal at the end of the class. If all the homework assignments were done correctly, a makefile given out as the class ended, "a surprise gift", turned all the homework in a subset of a C compiler.

The class's TD was also very interesting. He was 13, a child prodigy in their CS PhD program. I remember when I learned his age, he told me not to tell anyone, it would impact their ability to learn from him.


> C compiler

Nice. So were the HWs split along the usual lines of lexer, parser, codegen, etc? You said it was a surprise, so I wonder how else it was split to actually make it surprising. Or was it hard enough to judge the purpose of the assembly version that it didn't matter?


I remember we were not given names for the pieces and parts, just these paragraph or three descriptions of what the written code would receive and what it would output, and what CS fundamentals we should use in that assignment. A good portion of the class's difficulty was in these weird assignments with these really weird I/O requirements. It was explained that companies that work in assembly are often working on DoD contracts, and these were the nature of one's work assignments: obtuse I/O requirements with no idea what they plug into or are used for... clever indirection.


I'm now reminded of an unrelated mini-vi: https://github.com/ioccc-src/winner/blob/master/1991/ant/ant...


minor: Vax 11/780 was a minicomputer, though DEC itself refered to it as a 'supermini"




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

Search: