Friday, December 19, 2025

Teaching in the Age of AI

This fall semester, I taught Embedded Systems as a technical elective for fourth-year computer engineering students. 

Since most homework and many projects are now trivially solvable by AI (Large Language Models, LLMs), they are no longer worth the instructor’s effort to assign and grade. Therefore, I did not assign any homework. Instead, I encouraged students to use LLMs during class as a tool for active learning.

For each topic, I presented a short, real-world embedded example and then posed a question, such as “calculate the amount of stack used by the given C function.” Students asked their LLM for an answer right there in class. Ten minutes later, I invited one student to the board to explain the solution using a marker and whiteboard.

The LLM produces an answer but the student must defend it. "Why does this approach work?",  "Where does it fail?" I step in to guide them when they are unable to answer. This is far more fun than just explaining everything myself. It also gives me time to take a break from constantly speaking. One could even argue that this simulates a job interview.

For grading, I used traditional pen-and-paper exams with multiple-choice questions; no LLMs were allowed during the exam. However, I prepared the questions with the help of LLMs, of course!

Monday, December 15, 2025

CV review

From time to time, computer engineering candidates send me their CVs for review. Here are my common responses:

First of all, a CV should not contain any typos; it should show that you are conscientious. CVs usually include a list of projects. For the projects you have worked on, there should be a corresponding GitHub repository. Your GitHub account name should be your real name so that it is easy to tell that it is yours. The repository should not be a random code dump copied from elsewhere or a collection of half-baked code snippets. It should include a decent README and quality code.

In the age of AI, this is fairly easy to achieve, assuming you were highly involved in the project. If I see a GitHub repository without a README, I do not bother looking at the code. It can even work against you, as it may feel like an attempt to pass off unfinished or unclear work. It would also be beneficial to record short videos explaining your projects and upload them to YouTube. I rarely see candidates do this, so it would be a strong differentiating factor.

A well-documented project also shows that you would be easy to work with because you can operate independently. You would not require much hand-holding; when stuck, you would provide timely feedback. Your manager would not have to constantly check on you and would only occasionally need to set priorities and provide direction.

I am also often asked whether certifications are useful. For me personally, they do not mean much. However, if the companies you plan to apply to list certifications in their job descriptions, they can be important for securing an interview. Otherwise, just focus on improving your CGPA and work on projects.