Path: csiph.com!xmission!usenet.csail.mit.edu!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Michael Lehn Newsgroups: comp.compilers Subject: Re: A tiny self-hosting compiler used for teaching Date: Sat, 05 Sep 2026 22:58:16 -0700 Organization: Compilers Central Sender: johnl%iecc.com Approved: comp.compilers@iecc.com Message-ID: <26-09-011@comp.compilers> References: <26-08-007@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="60581"; mail-complaints-to="abuse@iecc.com" Keywords: courses Posted-Date: 08 Sep 2026 04:21:34 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3763 Yes, exactly. They are not computer science students, and HPC0 is not a conventional compiler course. I teach at the Institute of Numerical Mathematics. The students come mostly from mathematics and related programs, and their programming experience varies considerably. Some have programmed before, while others have essentially no experience at all. Therefore I deliberately assume none. The compiler is not really the subject of the course. It is a vehicle for teaching programming and for connecting the different levels of a computer system. The idea is to start with a very small language and gradually follow the whole path from a source program down to the machine: source program -> compiler -> assembly -> processor In parallel, we approach the same machine from the other direction, starting with logic gates and building a small processor. Eventually the two paths meet. So in that sense it is almost the opposite of a traditional fourth-year compiler course. I am using compiler construction as an introduction to programming and computer systems rather than teaching compiler construction as an advanced specialization.