R is a programming software for statistical computing and graphics, and students and statisticians alike have come to rely on the software to analyze their data. The scope and power of the software is large, but for the purposes of getting started, it is important to understand the benefits of writing your own functions in R, along with how to do so.

Tags: computer science

Over the last 10 years my only occupations have been coding and tutoring! I’ve still got a long way to go to improve my own programming skills but I’d like to include here my honest opinion about what makes a great coder. I’ve gone through a whole series of happy and sad coding stories, I’ve met and worked with hundreds of programmers and students and this is what I’ve found out about the best coders:

Comparing finite set sizes, or cardinalities, is one of the first things we learn how to do in math. From a young age, we can answer questions like “Do you see more dogs or cats?” Your reasoning might sound like this: There are four dogs and two cats, and four is more than two, so there are more dogs than cats. In other words, the set of dogs is larger than the set of cats; the cardinality of the dog set is greater than the cardinality of the cat set.

Tags: computer science

Mathematical induction is a common and very powerful proof technique. At its core, it’s an appeal to an intuitive notion that Induction proofs often pop up in computer science to proof that an algorithm works as intended (correctness) and that is runs in a particular amount of time (complexity). In this tutorial we’ll break down a classic induction problem in mathematics, and in the next post we’ll apply the same techniques to a classic computer science problem. As a warmup we can look at a classic example used to teach induction, namely the proof that the sum of integers from 1 to n is equal to

Tags: math, computer science

It’s common to talk about these two programs as if they’re one. Most universities may not have a distinction between these fields and the media/casual conversation often use the two terms interchangeably. However, there’s a fundamental difference in training/design and learning outcomes for these two programs that often gets lost.

Tags: computer science

While your college courses can help you with the theory of a subject, they can’t help you much with the practical pieces of a career--especially when you're becoming a software engineer.  Because of the computing power we have at our fingertips in this day and age, the practical side of engineering isn’t building things with your hands; it really boils down to simulation and modeling.