In this post, we continue the discussion from the previous in the series.
Author: Nihal Uppugunduri
Teaching Content vs Teaching Process
A lot of discussion in education today focuses on how to make certain concepts more palatable to students and more easily understandable. However, it seems that there isn’t enough emphasis on teaching people how to learn those concepts, especially when they come from suboptimal explanations. I conceptualize this as a difference between teaching content vs teaching process, and in general I’d argue both are incredibly important for students’ future success. In this post, I elaborate further on some aspects of teaching process that I think we should incorporate more deliberately in education.
In this project, we see how much we can generalize the core properties of ACID database transactions (atomicity, etc.) to general code and computer operations. The idea is to develop a framework that can provide these generalized capabilities.
Real-World Systems Aren’t Mathematical
When I first got into computer science, I came into it from a math background. Back then, I would think of computer science as essentially a way to “run math physically.” While in many respects this is true and a great way to capture the essence of computer science, I’ve learned over time that there are caveats in thinking of real-world systems, like those built by code, as mathematical. I’ll discuss some of these points now.
Ideas, Experiences, and Differentiation
Back in 2013 and 2014, I started what I call my “Ideas Doc,” in which I wrote down ideas for new tech products that I would want to create some day. This was geared towards an entrepreneurial purpose, of seeing what ideas I could potentially start a company on. I’ve kept that stored and have been continually updating it since, adding new thoughts and ideas while removing ones that I don’t think are as viable anymore.
An Abstract Approach to Generating Sets 3
In this post, we continue the discussion from the previous in the series.
Source Consolidation in Tech
I’ve been recently thinking about the potential of newer technology to accelerate a phenomenon that I call “source consolidation.” It seems to me that this will only speed up even further as technology progresses, for example as generative AI becomes more powerful and prominent. In this post, I talk about what I mean by source consolidation, how it relates to tech and generative AI, and what its implications can be.
Laws and Initial Conditions in Physics
In this post, I argue that, in the grand scheme of the description of the physics of all reality (all objects in reality), the designation of which scientific assertions are “the laws” and which assertions are “the initial conditions” is relative and informal. A similar statement can probably be made about other branches of science too, especially “hard” science like chemistry.
In the United States and many other countries, media such as movies and television are assigned intensity ratings that are meant to give audiences expectations around potentially objectionable content. Today, these ratings are age-based; for example, for movies, we have the ratings G, PG, PG-13, and R (for movies that are traditionally allowed to be exhibited in theaters), and each of these ratings corresponds to an age that someone should be in order to watch content with that rating. However, I argue that this rating system based on age is actually not effective, and I argue instead that an alternative approach based on just content descriptors (like TV ratings in the US but without the age identifier) is better.
On Declarative vs Imperative Programming
People who discuss programming often talk about the distinction between declarative and imperative programming as two different paradigms. However, in this post, I argue that these terms are really only relative and informal, and in fact that we don’t lose much if we de-emphasize the distinction.
