Intermediate Programming

As our world becomes more complex, programming has also grown in complexity; developing a deeper technical understanding to tackle more complex challenges is becoming increasingly important. While mastering the fundamentals and becoming familiar with popular languages is a great start, it’s essential to take the next step and deepen our understanding of more advanced programming languages, concepts, and techniques.

In this Series, we’ll explore intermediate-level programming, building on the basics of more accessible popular languages such as Python, R & SQL. We will then explore more advanced functionalities of the latter such as advanced data structures, generators, decorators, maps, iterators, intermediate iterators, case statements, and more.

Once we have a more solid foundation of intermediate features in more accessible languages, we’ll explore more advanced languages in detail, such as C++, Haskell, Common Lisp, Rust, Scala, and more. We’ll dive deeper into each language’s more advanced features and explore best practices and design patterns. We will also go under the hood to discuss key concepts around concurrency, parallelism, threading, memory management, and pointers.

Whether we’re looking to expand our skillset or take on more complex programming projects, this collection of carefully-curated articles will help us take our programming to the next level by providing hands-on examples throughout every step of the way.

Get Started

Sentiment analysis is a Natural Language Processing (NLP) technique which consists of identifying the emotional tone behind a body…
Scala is a strong, statically typed, high-level, general-purpose programming language that supports both object-oriented programming and functional programming. It…
Formally, a type class is a type-system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables…
Regular Expressions, also known as RegEx, is a pattern-matching tool used to find patterns in strings. We can think…
In the last segment of this 5-piece Portfolio Project, we discussed what sentiment analysis is and the types of approaches for…
Higher-order functions take other functions as arguments and/or return other functions as a result. These powerful abstractions allow us…
In the first part of this 3-article series, we introduced the concepts of columnar file formats & row-based file formats. We also…
Elixir is a compiled, dynamically-typed, general-purpose, functional programming language developed by Brazilian software developer José Valim, first released in…
Julia is a reasonably new, open-source, high-level, dynamically-typed programming language. It’s a multi-platform language supported on Linux, macOS, Windows and FreeBSD….
A Big Data file format is designed to store high volumes of variable data optimally. This can be achieved…

All content on this post is licensed under a Creative Commons Attribution 4.0 International license.

Request Full Resume