Here is a pot-pourri of blog posts that I wrote. Some are meant for students, some are meant for other instructors, some are for all computer scientists interested to learn more, etc. So just scroll and click on whatever makes you tick!

If you would like for me to write on a specific, education-related topic (CS or not), please let me know.

Subscribe via RSS

  • Experimenting with new late penalty formula

    The idea of the new late penalty formula I developed is to remove points at an exponential rate instead of a linear one. What is means is that the penalty for late submission will stay reasonably small for a long time, before suddenly shooting up to $100\%$ by a certain...

  • The importance of professional networking for students

    This morning, I participated in a faculty panel for undergrad students transferring into our CS major. Each faculty was given some time to say a few words before doing a Q&A session, and since I didn’t want to overwhelm students with a long laundry list of advice, I gave a...

  • LupIO: update summer 2022

    Since its seminal publication a year ago, this year has been busy and exciting on the LupIO front. As a quick reminder, LupIO is a collection of educational I/O devices. Because of their straightforward and consistent specifications, these devices and their corresponding device drivers are meant to be easy to...

  • rvcodec.js: an online encoder/decoder for RISC-V instructions

    I have been working with RISC-V quite a bit these past two years. The first few simulation platforms demoing LupIO devices were based on RISC-V processors, which also triggered the development of a new bootloader riscv-dbl, and the interactive textbook framework LupBook embeds a RISC-V based emulator compiled in webassembly....

  • Computer stories (1) -- Childhood

    When I was a child and from a pretty early age (maybe 7 or 8), I had regular access to two computers. The first one was at home. My mom had bought it to be able to work during the evening (she was a researcher in nuclear physics for the...

  • Buildroot and compiler on target

    For a project on which my lab has been working for the past year (project LupBook), we need to build the smallest Linux system possible that embeds a software development toolchain (e.g., compiler, linker, libraries, etc.). One of the best projects out there that enables building small Linux systems is...

  • The hunt for POSIX.1-1988

    In the summer of 2020, I started the very ambitious project of developing an educational operating system. Anecdotally, I got a little sidetracked along the way as I realized that I didn’t like the hardware target for this OS. I had originally chosen a typical RISC-V based board, which included...

  • Writing is hard...

    Writing is freaking hard… There’s no point in denying it. If you feel like it’s painless, then sorry to tell you that you’re most likely a lousy writer. When a student recently confided in me that they felt bad because they really struggled writing (although their writing turned out to...

  • Letters of recommendation

    As we are nearing the end of the summer, grad school application season is starting and requests for letters of recommendation (LORs) are ramping up. It’s been a while since I wanted to share some perspective about LORs, with the hope that it would be helpful to students (and potential...

  • Manipulating Zoom videos using FFmpeg

    If you’re like me and taught your classes online for the past year and a half using zoom, you may have faced two common video-related issues: You interrupted your recording in the middle and as a result, zoom produced two or more video files (e.g., zoom_0.mp4 and zoom_1.mp4). You are...

  • LupIO: a collection of education-friendly I/O devices

    Last summer, I started the development of an educational operating system. I routinely teach ECS 150, the undergrad OS course at UC Davis, and I’ve always liked the approach that the MIT seems to have in their undergrad OS course; they have an in-house OS called xv6 derived from the...

  • Presentation reviews from the UC Davis UCR conference

    Every year, the Office of Undergraduate Education at UC Davis organizes a big conference for undergraduate student researchers to present their work. This year is the 32nd edition of it! For the first time (and for obvious reasons), the event is held virtually. This morning, I watched several presentations and...

  • LupSeat: a smart seat assignment generator

    When students are allowed to sit next to whoever they want in an exam, it may increase the chance of plagiarism and cheating. On the other hand, assigning random seats to students prior to exams is time-consuming, especially for large classes, since instructors have to assign seats by hand. There...

  • Gender differences in class participation in core CS courses

    Hi! My name is Maddii Brigham, and I’m a third-year Cognitive Science and Computer Science double major at UC Davis. I took ECS 50 (our computer organization class at UCD) with Professor Porquet-Lupine Fall Quarter 2019. After the final, I reached out via email to thank him for the quarter....

  • Talk reviews from ACM SIGCSE'21

    In the field of Computer Science Education, which has become my main professional focus since I was hired as an Assistant Professor of Teaching a few years ago, the SIGCSE conference is one of the best international venues for publications (rank A). SIGCSE is originally a special interest group (SIG)...

  • Piazza statistics

    As we’re nearing the end of the quarter and I’m about to gather the data from our class forum (I’ve been using Piazza for the past four years in my classes), I was wondering how class participation has evolved between offerings of the same courses, or between different courses. So...

  • The relevance of C in systems programming

    The course that I have taught the most -by far- at UC Davis is ECS 150: Operating Systems and System Programming. Every once in a while, a student will complain about the use of the C language in this class. When I’m lucky, they will ask me directly, which is...

  • My official course evaluations [Edited every quarter]

    As explained in one of my previous articles, the website RateMyProfessors.com is not inherently designed to provide good information, and the best way to counter the (sometimes actually terrible) information found on this website is to provide better information. As mentioned in this article, relevant and representative information is actually...

  • RateMyProfessor

    RateMyProfessors can provide some valuable information, especially when no better information is available. If students are given a choice between two instructors for a certain course, it’s understandable that they would choose a professor with dozens of insightful reviews and an average of 4.8/5, over a professor with a similar...

  • Opinion on Diversity, Equity, and Inclusion (DEI) statements

    From December 2019 until April 2020, the debate around Diversity, Equity, and Inclusion (DEI) statements was raging at UC Davis. Up until then, someone applying for a faculty job at UC Davis had to provide two mandatory statements: a research statement, that details the candidate’s interests and plans for their...