Intermediate Coding Patterns

We go through some useful tools all programmers should have in their arsenal, including regex, bit operators, and software design patterns, offering insights into the practical applications of these tools in various programming scenarios. Lessons cover the intricacies of functional programming with map, filter, and reduce functions, and delve into advanced concepts like lambda expressions and decorators. The course also provides a deep dive into the essential mathematics for programming, crucial for acing technical interviews, and explains complex topics such as integer overflow and underflow, and the implementation of state machines.

Section Menu

How do I use this section?

1. LESSON

Using Map, Filter, and Reduce in Code

The map, reduce, and filter functions are the holy trinity of functional programming. Working with lists and other iterable collections of data is substantially simplified by these functions, and when combined with simpler functions, they may be utilized to perform complicated tasks. Let's dive into each one of these functions separately. ![]...

2. LESSON

Advanced Python Concepts: Lambda, Decorators, and More

Introduction Once we’ve mastered the fundamentals of data structures and their primary functions, it's time to go through some more complex Python techniques which might simplify our code and aid its efficiency and conciseness. Some of the most important advanced concepts, which will...

3. LESSON

Mathematics for Programming: Essential Concepts for Technical Interviews

Smart software engineers understand the importance of having strong problem solving and analytical skills. Programming is primarily about logic, and it cannot be mastered without understanding numbers. Therefore, getting to know basic mathematics problems is crucial in order to crack programming interviews. Experienced interviewers may compro...

4. LESSON

Understanding Integer Overflow And Underflow

The 2021 Common Weakness Enumeration lists down "dangerous software weaknesses" that can lead to serious flaws in the final product. One of the items on their top 25 list is the 'Integer Overflow or Wraparound' problem. An integer overflow can eventually cause unexpected behavior like...

5. LESSON

An Introduction to Software Design Patterns

What are software design patterns? Software design patterns are general, reusable solutions to commonly occurring problems in software development. Design patterns are not libraries or frameworks that you can plug in and use right away. Rather, they are established suggested ways of thinking to use when you're faced with a problem that many d...

6. LESSON

Introduction to State Machines and Examples

You may have heard of a concept of state machines or more formally finite state machines. But what are they? State machines serve as a mechanism to transition something from one state to the other. They have three key components: States are the possible configurations something can be in. The current state can influenc...

7. LESSON

An Interactive Introduction to Regular Expressions

Have you ever wondered how search engines look up data in such a short amount of time? Or how text editors instantly find words when their search option is used? Or ever thought about how they deal with such a large amount of data and find only the relevant information? Search engines or text editors ease this process by using regular expressio...

8. LESSON

Bitwise Operators and Bit Manipulation for Interviews

Decimal and binary How do we usually represent numbers? We use decimal notation (a.k.a. Base 10) that provides ten unique digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. To form numbers, we combine these digits in a certain sequence so that each decimal digit represents a value multiplied by a certain power of 10. > For example, in decimal, 1...

9. LESSON

Scripting Languages vs Programming Languages

Introduction Quite often, the terms scripting language and programming language are used interchangeably. However, this is wrong as, apart from the fact that both languages are used in the software development field, these two terms are very different from each other. ![](https://stor...

10. LESSON

Feature: Translation and Types

Understanding type systems in programming is fundamental to solving many programming exercises and challenges. This was originally published at Translation and Types on CodeTips by Simon Drake. We include this t...

11. LESSON

What is the Euclidean Distance?

In short the Euclidean Distance represents the shortest distance between two points. You are most likely to use this method when calculating the distance between two rows of data that have numerical values, such a floating point or integer values. Imagine like the image below, you are taking a trip from Barc...