RSSAmplifier

Blog

CS Trivia

New computer science crosswords, design notes, and exhibits

cstrivia.comRSS feed ↗20 posts

Latest posts

Puzzle 23: Hashing

Hashes are used everywhere in computer science. They are used for efficient data structures, data integrity checks, and cryptographic security. This puzzle explores common hashing techniques and applications.

Design 22: Web Fundamentals

I noticed that the previous puzzles, "Randomness in Computing", "Computer Vision", and "Ideas from Notable Computer Papers", covered fairly specialized topics that I and perhaps other engineers may not have deep familiarity with. I wanted to make a puzzle that I felt many developers who have worked on websites would…

Puzzle 22: Web Fundamentals

Since CERN made the Web freely available in 1993, it has transformed how people share information. This puzzle explores the fundamental technologies and concepts behind the modern Web.

Exhibit 1: The First Website

!Cern first website

Design 21: Randomness in Computing

A lot of the code I write is deterministic. Most of the time, I don’t encounter randomness unless I’m using a random number generator or sampling from a list. This made me curious about data structures and algorithms that use randomness as part of their design.

Design 20: Computer Vision

When I think of computer vision broadly, I usually think of facial recognition, autonomous vehicles, medical imaging, and robotics.

Puzzle 21: Randomness in Computing

Randomness is often added to deterministic algorithms to improve performance, reduce memory usage, or make impractical computations practical. In practice, these benefits outweigh tradeoffs such as approximate results or variable running times.

Puzzle 20: Computer Vision

Computer vision emerged in the 1960s as a subfield of artificial intelligence. The field draws heavily on mathematics, physics, and signal processing. Today, it powers applications such as medical imaging, satellite imagery, and robotics.

Design 19: Ideas from Notable Computer Papers

A lot of concepts in computer science become common knowledge because they are so fundamental to the field. They are often easy to explain and understand after the fact, especially because of the number of educational resources available.

Puzzle 19: Ideas from Notable Computer Papers

Many ideas that began as research papers and shaped computer science are now accepted as common knowledge. This puzzle covers notable research papers that proposed ideas so foundational they are now taken for granted.

Design 18: Computer Architecture

I was excited to write about Computer Architecture because it was one of the few topics that highlights the hardware that makes computers work. For many software engineers, a lot of time is spent writing programs in high-level programming languages. As a result, I don't spend much time exploring low-level…

Puzzle 18: Computer Architecture

This computer architecture puzzle explores the hardware, architectures, and design principles that shape modern processors. Processors have improved in performance since the Intel 4004, the first commercial microprocessor, was released in 1971.

Design 17: Computer Security

Computer security is a topic that I have some practical experience with through auth tokens, authorization, encryption, and hashing. Exposure to these concepts is a relatively common experience in backend development. Ultimately, I have working knowledge of some of these topics with much of the underlying complexity abstracted away.

Puzzle 17: Computer Security

Computer security builds on foundational disciplines such as cryptography and covers domains like access control, network security, and application security. This puzzle explores fundamental concepts spanning different parts of the field.

Design 16: Operating Systems

I renamed Puzzle 7, "Operating Systems", to "A History of Operating Systems" because the puzzle focused on different consumer operating systems rather than operating system concepts. This created a gap in the archive since I didn't have a puzzle focused on the concepts themselves.

Puzzle 16: Operating Systems

Operating systems manage limited resources and hide significant complexity by providing useful abstractions. Techniques like multitasking and virtual memory allow many programs to share hardware resources efficiently.

Design 15: Queuing Theory

I didn’t know about Queuing Theory before researching my last puzzle "Computer Networks." I was reading a Wikipedia article about Network congestion and the term popped up.

Puzzle 15: Queuing Theory

Queuing theory sits at the intersection of CS and operations research. It appears in OS resource scheduling, network congestion, and distributed load balancing. Many performance optimizations reduce to managing computation under limited resources.

Design 14: Computer Networks

My past two puzzles, "Classical Natural Language Processing" and "Algorithms in Context", focused on fairly abstract and specialized topics. I wanted this puzzle to tackle something more familiar, approachable, and concrete. Even if people are unfamiliar with specific networking terminology, it’s a topic many programmers have exposure to simply because…

Puzzle 14: Computer Networks

Networks underpin how computers communicate with each other. Infrastructure like submarine cables, content delivery networks, and Internet exchange points allow us to video call across the world, stream media, and exchange information in real time.