Computer Science Tutorials

Here contain all the technical computer science tutorials. These are technical how-to articles that focus on teaching you a specific skill or how to solve a specific problem. Programming languages from python to C++. Useful for self study or classroom strategy. Learn something new about comp sci today!

android ringtone

Create an Android Ringtone Picker Using the Ringtonemanager Class

/
In this article, I will show you how to create a ringtone picker using the RingtoneManager class in Android. You will be able to get the list of tones,…
artificial intelligence

The Rise of AI in STEM – Part 2

/
We asked our PF Advisors “How do you see the rise in A.I. affecting STEM in the lab, classroom, industry and or in everyday society?”. We got so many…
c++ guide for beginners

Guide to C++ Programming For Beginners

/
Contents 1. Getting a C++ Compiler and Compiling Your First Program 2. Simple Datatypes and Declarations 3. Operators and Expressions 4. Input and…
recursion in programming

Recursion in Programming and When to Use or Not to Use It

/
Recursion is actually quite simple. It's a subroutine calling itself. It's surprising but some problems that look quite hard can be trivial using recursion…
AVX-512 Programming subtotals

AVX-512 Programming: Extracting Column Subtotals from a Table

/
In this Insights article I'll present an example that shows how Intel® AVX-512 instructions can be used to read a whole row of data in a single operation,…
AVX-512 conclusion

AVX-512 Assembly Programming: Opmask Registers for Conditional Arithmetic Conclusion

/
In the first part of this article (AVX-512 Assembly Programing - Opmask Registers for Conditional Arithmetic), we looked at how opmask registers can be…
AVX-512 registers

AVX-512 Assembly Programming: Opmask Registers for Conditional Arithmetic

/
This is the second installment in a continuing series of articles on Intel AVX-512 assembly programming. The first installment is An Intro to AVX-512 Assembly…
AVX-512 Assembly Programming

An Intro to AVX-512 Assembly Programming

/
History In 1998, the Intel Corporation released processors that supported SIMD (single instruction, multiple data) instructions, enabling processors to…
Data Structures Programming

Intro to Data Structures for Programming

/
Introduction In the first part of this series, I talked about some fundamental notions in the world of algorithms. Beyond the definition of an algorithm,…
algorithms

Intro to Algorithms for Programming

/
Many threads here at PF include some questions about how to learn to program. This is asked by Physics students who want to learn programming in order…
processing

The Joy of Processing

/
In the early days of the personal computer revolution, computers were small, simple, and easy to operate. It was always great fun to write BASIC games…
computermath

Why Can’t My Computer Do Simple Arithmetic?

/
The first computer I owned was an Apple IIe computer, with a CPU that ran at slightly over 1 Megahertz (MHz), and with 64 Kilobytes (KB) of RAM, together…
pythondebug2

Simple Python Debugging with Pdb: Part 2

/
This Insight article is the continuation of the first article, Simple Python Debugging with Pdb: Part 1.In this article, let's look at another important…
pythondebug1a

Simple Python Debugging with Pdb: Part 1

/
I'm pretty new with Python, so I was looking around for some debugging tools. At first I dismissed Pdb (Python debugger) as being too primitive, but after…