Algorithmic Foundations

Building thought process

Code Trail2 of 6

Develop crucial implementation skills and learn to think algorithmically. This trail focuses on cultivating problem-solving strategies, debugging techniques, and the ability to translate ideas into code.

10 Chapters

81

0123456789
0123456789

Concept Explanations & Warm up problems

Learn concepts with detailed explanations and illustrations. Wrap up with practice problems to apply what you've learned.

131

0123456789
0123456789
0123456789

Challenge Problems

Apply what you've learned to various practice problems and identify any gaps in your understanding.

29

0123456789
0123456789

Test Problems

The final stage of each chapter consists of test problems that you must solve on your own, without solutions or discussion features. With a slightly higher difficulty level, these problems help you refine your skills.

Table of contents

1

Functions

Learn how to define and use functions to organize your code and make it reusable.

Function without return value

Function with return value

Call by value / Call by reference

Scope

2

Recursive Functions

Understand the principles of recursive functions and how to apply them in problem-solving.

Recursive Function without return value

Recursive Function with return value

3

Sorting

Learn different methods to sort arrays and objects, and understand when to use them.

General Sort

Class

Object

4

Simulation I

Practice various types of simulations including date/time calculations, base conversions, and area calculations using arrays.

DateTime

Notation

Flood Fill 1d

Flood Fill 2d

5

Simulation II

Learn how to manage complex array structures and implement efficient movements on two-dimensional grids.

Longest Subsequence

Keep Track with Array

dx dy technique

6

Exhaustive Search I

Learn how to perform exhaustive searches using digits, positions, and intervals.

Index Based

Interval Based

Set Number for Each Digit

7

Exhaustive Search II

Explore exhaustive search techniques for a wider range of object-based problems.

Object Based

Value Based

8

Exhaustive Search III

Learn problem-solving techniques to transform complex problems into simpler ones using exhaustive search.

Assume a Value

Set New Standards

9

Case Work

Practice breaking down problems into different cases and solving each one systematically.

Overlapping

Reasoning

Organize Strategy

List All Possible Situations

10

Ad-Hoc

Learn how to solve unique problems that require creative and specific solutions.

Clearly Defined Optimal Strategy

Obvious Candidates

The skills you gain...

Ability to identify and correct errors in your code efficiently

Confidence in translating your ideas into functional code

Capability to write correct solutions for given problems, even if it is okay not to be optimized

Skills to solve basic-level coding test problems

Understanding of fundamental algorithmic thinking and problem-solving strategies

Recommended for those that need...

Know basic syntax but lack extensive coding experience

Want to practice writing code more fluently and confidently

Find it challenging to code solutions for problems with complex conditions

Struggle to come up with correct solutions to problems, even if they're not optimized yet

Take more than a few minutes to write code for simple tasks like sorting numbers

Are unfamiliar with common programming techniques like using dx, dy arrays

Want to learn about and practice exhaustive search techniques

Branch and Bound Co., Ltd. | © 2026. Branch and Bound Inc.

All educational materials on the Codetree site are protected by copyright law. Unauthorized reproduction/copying/distribution without the consent of the author is prohibited. Copyright © Branch & Bound | contact@codetree.ai

CEO : Seung-Yong Lee | Address: 1000 N. West Street, Suite 1200, Wilmington, Delaware, 19801 | Landline : +1 302 295 4813 | Contact : contact@codetree.ai