A Compiler in Plain Text Also Plays Music

As a layperson reading about some branches of mathematics, it often seems like mathematicians are just people who really like to create and solve puzzles. And, knowing that computer science shares a lot of its fundamentals with mathematics, we can assume that most computer scientists are also puzzle-solvers as well. This latest project from [tom7] shows off his puzzle creating and solving skills with a readable file which is also a paper, which is also a compiler for C programs, which can also play music.

[tom7] started off with the instruction set for the Intel 8086 processor. Of the instructions …read more

Continue reading A Compiler in Plain Text Also Plays Music

Software: It Is All In The Details

Who’s the better programmer? The guy that knows 10 different languages, or someone who knows just one? It depends. Programming is akin to math, or perhaps it is that we treat some topics differently than others which leads to misconceptions about what makes a good programmer, mathematician, or engineer. We submit that to be a great programmer is less about the languages you know and more about the algorithms and data structures you understand. If you know how to solve the problem, mapping it to a particular computer language should be almost an afterthought. While there are many places that …read more

Continue reading Software: It Is All In The Details

Is Formal Education Critical for a Career in Cybersecurity?

A look at whether the need for more formalized education in the security sector is necessary The role of an ethical hacker is only one of the many career paths available in the cybersecurity industry, but it’s worth noting that more than half (58 perc… Continue reading Is Formal Education Critical for a Career in Cybersecurity?

Computer Science and Diversity

Today I saw a tweet quoting Mark Guzdial’s blog saying “In last five years, little progress in increasing the fraction of American CS BS degree recipients who are African Americans.”  It is a problem I’ve given quite a bit of thought to, but in my… Continue reading Computer Science and Diversity

Computer Programming Unplugged For Kids

There was a time when computers were far too expensive to let mere students use them. In those days, we wrote fake programs for fictitious machines and checked them by hand. That wasn’t fun, but it did teach you to think about the algorithm. You weren’t worried about how many tabs to indent code in the editor, or checking your social media feed, or changing the track on your Spotify playlist. Maybe that was the idea behind Computer Science Unplugged. The site is aimed at educators and gives them lesson plans to teach kids about computer concepts through activities that …read more

Continue reading Computer Programming Unplugged For Kids

Algorithms for Visual Learners

Computer programming is a lot like chess. It is fairly simple to teach people the moves. But knowing how the pieces move isn’t the reason you can win. You have to understand how the pieces work together. It is easy to learn the mechanics of a for loop or a Java interface. But what makes programs work are algorithms. There are many books and classes dedicated to algorithms, but if you are a visual learner, you might be interested in a site that shows visualizations of algorithms called VisuAlgo.

The site is from [Dr. Steven Halim] and is meant for …read more

Continue reading Algorithms for Visual Learners

Dick Wilkins, Phoenix Technologies – Paul’s Security Weekly #551

Dick Wilkins is an Associate Professor of Computer Science at Thomas College in central Maine and is Principal Technology Liaison for Phoenix Technologies, a USA based system boot firmware development company. He joins Paul and the team this week for a… Continue reading Dick Wilkins, Phoenix Technologies – Paul’s Security Weekly #551

Mechanical Wooden Turing Machine

Alan Turing theorized a machine that could do infinite calculations from an infinite amount of data that computes based on a set of rules. It starts with an input, transforms the data and outputs an answer. Computation at its simplest. The Turing machine is considered a blueprint for modern computers and has also become a blueprint for builders to challenge themselves for decades.

Inspired by watching The Imitation Game, a historical drama loosely based on Alan Turing, [Richard J. Ridel] researched Alan Turing and decided to build a Turing machine of his own. During his research, he found most machines …read more

Continue reading Mechanical Wooden Turing Machine

A Two Tapes Turing Machine

Though as with so many independent inventors the origins of computing can be said to have been arrived at through the work of many people, Alan Turing is certainly one of the foundational figures in computer science. His Turing machine was a thought-experiment computing device in which a program performs operations upon symbols printed on an infinite strip of tape, and can in theory calculate anything that any computer can.

In practice, we do not use Turing machines as our everyday computing platforms. A machine designed as an academic abstract exercise is not designed for efficiency. But that won’t stop …read more

Continue reading A Two Tapes Turing Machine