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

Formally, a type class is a type-system construct that supports ad hoc polymorphism. This is achieved by adding constraints to type variables…
Scala is a strong, statically typed, high-level, general-purpose programming language that supports both object-oriented programming and functional programming. It…
Sentiment analysis is a Natural Language Processing (NLP) technique which consists of identifying the emotional tone behind a body…
Regular Expressions, also known as RegEx, is a pattern-matching tool used to find patterns in strings. We can think…
Higher-order functions take other functions as arguments and/or return other functions as a result. These powerful abstractions allow us…
In the last segment of this 5-piece Portfolio Project, we discussed what sentiment analysis is and the types of approaches for…
As we continue our collective programming journey, building on the foundation of intermediate programming, we’re ready to venture into…
Programming paradigms play a crucial role in the realm of computer science. They act as blueprints or frameworks to…
In the first part of this 3-article series, we introduced the concepts of columnar file formats & row-based file formats. We also…
We live in an era where reliable data has become an invaluable asset. We’re constantly bombarded with information from…

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

Request Full Resume