Blog
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.
-
Quarterly update SS24
Here is our status at the end of the summer 2024.
-
Quarterly update SQ24
Here is our status at the end of the spring quarter 2024.
-
Gender differences in (remote) class participation in core CS courses
Then the pandemic happened and as we continued studying these gender differences for the same two core CS courses, which were now taught remotely, we noticed a dramatic change. For the first time, male and female students were participating at the same rate on the online class forum.
-
Quarterly update WQ24
Here is our status at the end of the winter quarter 2024.
-
Personal project ideas
Students often ask me for suggestions on how to improve their programming skills during their spare time. I typically mention personal projects that they could start (picking a project for which they genuinely have a dire need), open-source projects that they use and to which they could contribute, or any...
-
Quarterly update FQ23
Here is our status at the end of the fall quarter 2023.
-
Exponent bias
This quarter (FQ23), I am teaching our lower-div course on computer organization and assembly language (ECS 50). The first couple of weeks are dedicated to how various types of data are represented in the computer. For instance, we study unsigned integers, signed integers, characters, and floating-point numbers. In one of...
-
Quarterly update SS23
Here is our status at the end of the summer 2023.
-
Quarterly update SQ23
Here is our status at the end of the spring quarter 2023.
-
Notes from WiCS faculty panel event
I was recently invited to speak at a faculty panel event hosted by the Women in Computer Science (WiCS) at UC Davis. Since I had received a list of questions in advance, I had taken the opportunity to prepare some notes for the event. Now that the event has happened,...
-
Quarterly update WQ23
Here is our status at the end of the winter quarter 2023.
-
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...