u/AnotherCSprof

[Online BYOPL course] Build your own programming language

Hi everyone, I am new here!

Each year I teach an undergraduate-level college course on programing languages in which I start from the beginning, namely BNF grammars, and then describe parser generators, in our case Jison.

Next I introduce and cover the functional paradigm in depth. This allows us to design and implement our own functional programming language, which I call SLang, for Simple LANGuage. In this course, the implementation strategy is via interpreters. Note that I also have another course on my YT channel that explains how to build a javac compiler from scratch.

In the second half of the BYOPL course, we design and implement a non-functional version of SLang which includes non-functional features like assignment statements, sequencing, etc. We also implement recursive functions by "tying the knot".

Other topics covered in this semester-long course include the lambda calculus, eager vs lazy evaluation, six distinct parameter-passing mechanisms, infinite lists, type systems, etc.

This is a college course which I was teaching synchronously online in Spring 2021, during COVID times. I just started editing and posting those videos two days ago. I will keep posting new videos daily over the summer. You can start the course right now as it is just beginning.

If you want to check it out, here is the BYOPL course playlist:

https://www.youtube.com/playlist?list=PLIgSR01UTt8OHY8WhAqOmr8EzArJYd5Z0

On my YT channel, I also have a full discrete math course (158 videos), as well as other playlists on cybersecurity topics and a few others. Here is my channel:

https://www.youtube.com/@davidfurcy

Looking forward to your feedback!

u/AnotherCSprof — 5 days ago

Online course: Build your own javac compiler

Hi everyone, I am new here!

I teach a college course on compiler construction. About a month ago, I started learning the manim library in order to produce videos and implement an online version of this course. I have 8 videos published so far and will be producing at least one new video a week from here on (and hopefully more this summer). If you want to check it out, here is the course playlist:

https://www.youtube.com/playlist?list=PLIgSR01UTt8PMH2lYDvW5RZSCOON41DvG

On my YT channel, I also have a full discrete math course (158 videos), as well as other playlists on cybersecurity topics and a few others. Here is my channel:

https://www.youtube.com/@davidfurcy

Looking forward to your feedback!

u/AnotherCSprof — 9 days ago