The lab is designed to complement the lecture by providing hands-on experience in programming. We begin with Open Roberta, a block-based coding platform, to introduce students to the foundational concepts of programming.

Block-based environments like Open Roberta simplify the learning process by removing the complexity of syntax errors, which are common in text-based programming languages. This allows students to focus on understanding the core logic behind programming, such as loops, conditionals, and variables, without being overwhelmed by language-specific rules.

By visually connecting blocks, students can easily see how different programming constructs interact with one another. This builds a strong foundation in computational thinking, which is essential for tackling more complex programming tasks later on.

As students become comfortable with these basic principles, we transition to text-based programming in Java (Ecplise / IntelliJ IDEA). This shift enables students to deepen their understanding of more advanced concepts like functions, data structures, and algorithm implementation.