DT - CS

Mr. Taylor (and Felix) welcome you to the DT computer science site. Click on the tab corresponding to your course for more resources.

Want to know how LLMs like ChatGPT work? Check out this interactive article. And if you want to know all the technical details you can watch this video.

Top Programming Languages - IEEE Spectrum 2023 Ranking
and the influential TIOBE Index

What are the most popular programming languages?

What are the use cases for the most popular programming languages? A brief summary of 10 different languages (not necessarily the most used, or most popular).

The "85% rule" -- In the field of artificial intelligence a common task is to train a neural network in a binary classification task (e.g. is this a picture of a cat or a dog?). Researchers have found that "the optimal error rate for training is around 15.87%". As a math teacher I always aimed for my quizzes and tests to be sufficiently hard that the average was around 80%. Of course, in practice this meant some students were getting 100% and others much less than 80%, but I always felt that 80% was what's known as the "goldilocks zone" for learning. If you are working on your own you might want to keep this in mind. Aim to be getting it right somewhere around five times in six. That's probably pretty close to the optimal rate for learning.

“Only ugly languages become popular. Python is the one exception.” — Donald Knuth, prolific computer science author and Turing Award recipient

Ferris, the unofficial mascot for Rust!

As good as Python is there are some applications that require a 'high performance' language. This language is traditionally C++, but Rust might be the language you end up using by the time you're studying for your CS degree. According to the article: 

"Rust blends the performance of languages such as C++ with friendlier syntax, a focus on code safety and a well-engineered set of tools that simplify development. Portions of Mozilla’s Firefox browser are written in Rust, and developers at Microsoft are reportedly using it to recode parts of the Windows operating system. The annual Stack Overflow Developer Survey, which this year polled nearly 65,000 programmers, has ranked Rust as the “most loved” programming language for 5 years running."

Here's a more recent article in the GitHub blog extolling the virtues of Rust.

Peter Norvig

Peter Norvig is a computer scientist and artificial intelligence researcher. He has been a professor at USC and Berkeley. He has worked at Nasa and now works at Google. He taught a couple of online Python courses and freely shares articles and notebooks on coding, many of which are about, or coded in, Python. Here is his extensive list of Python notebooks. Each one can be downloaded in a few ways. Click on the 'co' link to the left of each notebook name to run it in Google Colab. And here is his list of links to articles and books on programming and artificial intelligence.

I'm a big fan of Google Colab, a free project based on Jupyter Notebooks. There is a lot you can do with Colab notebooks and you should start with the tutorials provided by Google. Here are a few notebooks to get you started and a few articles with some tips and tricks to improve your experience:

Don't plan your life -- here's why.

What's great about studying Computer Science?
Here's what one Cambridge student thinks.

"Side project time" is a program offered by many companies to spur innovation and improve employee engagement. Google popularized the program when it encouraged employees to spend up to 20% of their time working on side projects. Gmail and Adsense are two programs that arose out of this program. 3M is the company that started the program, allowing their employees 15% of their time to work on side projects. As a side project, Arthur Fry at 3M invented Post-it Notes.

Here's a nice infographic showing 50 cognitive biases.