## The Best Programs and Websites for Learning to Code

How to Code for Beginners. Read our guide on how you can learn and teach yourself to code.

# Learn Python Programming. Learn Python programming from scratch.

## Learn to program in Python

Python is a simple, easy-to-understand, and minimalistic language. It is one of the easiest programming languages to learn because it has a clean and readable syntax that makes it easy for beginners to read and use.

## Hangman, Rock paper scissors, Bagels

These games are fun, easy to play, but challenging. Let's code them in Python! They are ideal for starting to code.

## Learn Maths with Python

Maths and Python seem to be a marriage made in heaven. They are both easy and important, useful to learn and apply.

## Magic, happy, automorphic, narcissistic, handsome... numbers

There are many kinds of numbers, e.g., natural, integers, rational, magic, happy numbers. Let's extend the functionality of our class myNumber to recognize them.

## Fractions in Python

Five out of four people have trouble with fractions, don't be one of them. The fractions module in Python provides support for rational number arithmetic. Doing fractions or maths using Python is very easy.

## Vectors in Python

A vector is an object that has both a magnitude or size and a direction. Geometrically, we can picture a vector as a directed line segment, whose length is the magnitude of the vector and with an arrow indicating the direction.

## Abacus, Ascii Art, Set of numbers

An abacus is a mechanical device for performing simple mathematical operations. ASCII art is a type of artwork that is created using the 95 printable characters defined by the ASCII, the American Standard Code for Information Interchange.

## Learning and drawing with Python Turtle

Python Turtle is a great resource to encourage kids to learn basic programming. It can be used to draw various shapes and patterns on a canvas, get throw mazes, and create video games.

## Functions, Strings, f-Strings, Text Files & Exceptions

Functions are reusable, self-contained pieces of code that can be called using a function's name. f-Strings provide a faster, more readable, and less verbose way of formatting strings in Python.

## Recursion in Python

Python supports recursion. It means that functions can call themselves within their definitions. Recursion is a method of solving a problem in terms of a simpler version of itself.

## Tic Tac Toe. Minimax. GUI using tkinter.

Tic-tac-toe is a paper-and-pencil game for two players who take turns marking the spaces in a three-by-three grid with X or O. It is a perfect game to learn about programming GUIs and the Minimax algorithm.

## Algorithms. Quick, selection, and bubble sort, binary search, merge sort. Random walk.

An algorithm is a step-by-step procedure, that is, a finite sequence of well-defined instructions for solving problems. This tutorial is a beginner-friendly guide for learning algorithms using Python.

## Data structures

This tutorial is a beginner-friendly guide for learning data structures using Python. Learn how to implement stacks, queues, priority queues, and binary trees in Python.

## Batteries included & Virtual Environments. os, Rich, Pint, glob.

Python comes with a vast Standard Library right out of the box, but it can also be extended with third-party packages, such as NumPy, os, Pygame, Requests, Rich, Pint, and glob.

## Fun, Cool, and Easter Eggs: Speedtest, WordCloud, PyWhatKit, Doomsday Clock, Morse code

Python is a fun, relatively easy to learn, and cool programming language. Let's see some examples: Speedtest, WordCloud, PyWhatKit, Doomsday Clock, and Morse code.

## Functional Programming in Python

Python is not a functional programming language, but it is a multi-paradigm language, so it is able to support functional programming relatively easily.

## Python Object-Oriented Programming

Python is a multi-paradigm programming language. It supports many different programming paradigms including procedural (imperative), functional, and object-oriented programming.

## Python - GUI Programming (Tkinter)

Tkinter is Python's standard GUI (Graphical User Interface) package. It has the advantage of being included with the Python standard library. It is easy-to-use, lightweight, and cross-platform.

## JSON and APIs with Python

Some websites make it easier for us to have direct access to their data with the use of an API. Typically, a company offers a set of dedicated URLs that provide access to their data in JSON format.

## Image Processing in Python with Pillow

Pillow is the defacto Python image processing library. Let's do some image conversion, create thumbnails, add add watermarks in Python.

## Search algorithms: BFS, DFS, A*

A search algorithm is a step-by-step procedure that solves a search problem. Let's implement depth-first search, breadth-first search, and A-star in Python.

## Natural language processing

NLTK is an amazing library to get started with natural language processing. Let's write a python program to find the definition, synonyms, antonyms, and examples of a given word

## Natural Language Processing II. Sentiment Analysis. Spelling check. TextBlob

Sentiment Analysis tries to identify and extract ideas and opinions of an event, product, etc. within a given text. TextBlob is a Python library for processing textual data. Spelling check using Python.

## Using Databases with Python: sqlite3

sqlite3 is a native Python library for accessing SQLite databases. SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.

## Decorators, Logging, and Threading in Python

Decorators are functions that modify the functionality of other functions. Logging is the process of tracking and recording events that happen when our code runs, so we can trace, understand, and debug it.

Flask is a lightweight web framework written in Python built for rapid development. It is a popular, extensible web microframework that lets you develop web applications easily.

## Creating games with Python

Pygame is a cross-platform set of Python modules designed for creating video games and multimedia applications. It is intended to be challenging and fun.

## Implementing a Blackjack in Python

Blackjack is the most widely played casino gambling game in the world. It is played against the dealer, not other players, and in this regard is quite different from other games.

## Othello/Reversi. Minimax AI

Reversi is a strategy board game for two players. It is played on an 8×8 uncheckered board. Players take turns placing disks on the board with their assigned color facing up.

## Tetris

Tetris is a puzzle video game where players complete lines by moving and rotating differently shaped pieces. Let's learn how to implement it with Python.

## Simon's clone

Simon was a very popular electronic game of memory skill. It creates a series of tones and lights and requires its user to repeat the sequence. Let's implement it with Python.

## Sliding puzzle

A N-Puzzle or sliding puzzle is a popular puzzle that challenges a player to slide pieces on a board to establish a certain end configuration. Now let's learn to implement it.

## Connect 4 AI

Connect 4 is a classic and popular game for two players, with easy rules. The first player to line up 4 tiles of his color wins. Let's implement Connect 4 in Python.

## Checkers in Python with Pygame. Minimax algorithm.

Checkers is a classic board game for two players. Let's learn how to code a checkers video game in Python. It is going to be used to explain the Minimax algorithm.

## Pickle, Python object serialization

The pickle module implements binary protocols for serializing and de-serializing a Python object structure. Pickling is the process of converting an object to a byte stream that can be stored on a disk or sent over a network. We will use it to save the state of our Connect 4 game.

## Neural Networks: Image Classification with TensorFlow

We are going to use TensorFlow, an end-to-end open-source platform for machine learning. We will perform image classification using TensorFlow and Python.

## Neural Networks. Creating a chatbot using Python.

Chatbots are becoming kinder, smarter, and more helpful. They are becoming ubiquitous in online customer support. Let's build a Chatbot using NLP and Neural Networks in Python.

## Programming a Pac-Man in Python

Let's make Pac-Man from scratch. Pac-Man is a 1980 maze action video game developed and released by Namco for arcades. It enjoyed widespread commercial success and it is one of the greatest video games of all time.

## Programming a Pac-Man in Python II

Pac-Man is a 1980 maze action video game developed and released by Namco for arcades.We are creating a Pac-Man clone from scratch. Next, we are going to code its ghosts, pellets, and a game controller.

## Programming a Pac-Man in Python III

Pac-Man is a 1980 maze action video game developed and released by Namco for arcades. We are creating a Pac-Man clone from scratch. This is the final article of a three-part blog series on how to program a Pac-Man clone in Python.

## Getting started with documenting and testing in Python.

Documentation saves time, costs, and makes testing easy and systematic. Let's go through a step by step guide of how to document and test your code. Python docstrings are the default way of documenting Python code and unittest is the test module in the Python standard library.

## Programming Alexa's skills with Python

Alexa is Amazon's digital assistant. Skills are like apps for Alexa and provide a new way of interaction with your users. Let's create our first Alexa skill.

## Automate WhatsApp Messages with Selenium

Selenium is an umbrella project for a range of tools and libraries that enable and support the automation of web browsers. Let's automate sending WhatsApp messages with Selenium.

## Game of Life and Automatons. Rock Paper Scissors Cellular Automata.

The Game of Life is a cellular automaton devised by John Horton Conway in 1970. Let's code it in Python and convert it to a cellular automaton.

## Regular Expression with Python. How to use the sed command.

A regular expression is a specific pattern that provides concise means to specify and recognize strings of text. Python has a module named re to work with Perl-like regular expressions.

## Web scrapping with Python

Let's build a web scrapper with Python. Beautiful Soup is a lightweight and highly effective library that makes it a kids game to scrape information from web pages.

## Programming in Linux III. Useful scripts

Let's create a series of scripts to install, maintain, and automate some tasks in ArchLinux.

## HTML and CSS. Create a custom WordPress Theme.

How to create a custom WordPress Theme from scratch I. How to add Javascript in WordPress.

How to create a custom WordPress Theme from scratch II. Adding Javascript. WordPress Advanced Administration. Avoiding The Lock-in Effect in WordPress.

WordPress Advanced Administration. Avoiding The Lock-in Effect in WordPress. Search engine optimization. How to speed up your WordPress

# How to build a fast static site with Hugo.

## Static site generators. A complete hands-on guide to using Hugo

Hugo is one of the most popular open-source static site generators written in Go. Layouts and basic structure. Escaping in Hugo. Comments with Cactus Comments.

## SEO and Google Analytics. CSS Styling. Hugo & Bootstrap. Add Javascript.

SEO and Google Analytics. Styling Hugo. Building Hugo with Bootstrap. Minify and bundle assets. How to add custom Javascript to Hugo.

## Hugo III: Shortcuts

Hugo is one of the most popular open-source static site generators written in Go. Hugo Shortcodes are snippets or templates that can be used to extend basic markdown.

## Using data with Hugo. Search with Hugo.

Even though Hugo is a static site generator, we can still have access and pull data from external sources. Let's learn to search in Hugo with Lunr.