Advent of Code 2020 Day 1 – Our Solutions

James HeslipAPL, Computer ScienceLeave a Comment

The holiday season is among us, and that can only mean one thing…Advent of Code is here! Optima is hosting a little internal competition this year to see who can get the most stars. This has genius from all corners of the office, and I thought it would be nice to show off the different thought processes from some of … Read More

What Are the Advantages of Functional Programming Over Imperative Programming?

Sameer HumayunComputer ScienceLeave a Comment

What actually is functional programming? Functional programming is a programming paradigm whereby applications are written using blocks of self-contained code that performs a single action and is reusable. These are called functions. This paradigm was created to support a pure functional programming approach to problem-solving. Functional programs can use functions in much more elaborate ways. In this method of programming, … Read More

How Does a Computer Understand a Programming Language?

Sameer HumayunComputer ScienceLeave a Comment

For this example we will be looking at the C programming language. High-level language codes are written in a form that is human readable. Computers only understand machine code – they do not understand high-level language code. Any high-level programming language code has to be converted to executable code. Executable code is also known as machine code which is a … Read More

Using Booleans (with some Dyalog APL examples)

Sam GutsellAPL, Computer ScienceLeave a Comment

Booleans are one of the most prominent data types used throughout computing. In programming, Booleans are mainly used in logic problems and can be used and manipulated in many ways. What is a Boolean? A Boolean is a data type used to identify a value which can only be true or false, sometimes represented as 1 or 0, respectively. The … Read More

Simulate Multithreading on a Single Thread Using Asynchronous Programming in JavaScript (Node.js)

Sameer HumayunComputer ScienceLeave a Comment

Concurrent programming using a single thread, Asynchronous programming (Blocking IO and non-blocking IO) In computing, a thread is a sequence of execution of a program. A thread has a beginning a sequence and an end. At any point during the runtime of a thread, there is only a single point of execution. A thread is not a program it only … Read More

How Does a Computer Add Two Numbers Together?

James HeslipComputer ScienceLeave a Comment

Computers are fascinating when you really think about it- how is it that a piece of metal goes from a simple rock in the earth, to being able to do complex arithmetic? Or to be able to remember? In order to understand the more advanced topics, we need to start simple. How does a computer interpret a number? Again, you … Read More