Our Method

Our center aims at providing trainings through which children and adolescents obtain and develop the skills required for future. No matter in what kind of profession they shall be engaged. We provide the training courses in which children and adolescents learn how to think critically and creatively and also, they develop the skills required for teamwork in an interesting method.

“01 Learning” provides the trainings on programming – the skill of the 21st century – required for future generations. These training courses are appropriate for the children and adolescents with the age of 6 to 17. Our team includes the experts who like children and tend to make learning easier, more interesting and more entertaining. We help children and adolescents to take steadfast steps in this path. Our learners make and develop video games, animations and IT projects. Using what they learn with us, our learners also acquire the skills required for critical thinking, logical reasoning, project presentation and planning, team working and etc.

Programming

Programming For

Children and Adolescents (Elementary Level to Intermediate level )

Introductory Scratch Programming Language / Advanced Scratch Programming Language / Algorithm and Flowchart / App Inventor / Introductory Python / Advanced Python

Scratch

The training course of Scratch programming language includes the followings:
Course overview – manner of working with the programming language – reviewing editors – building up emojis – reviewing controls and conditions – moving a point and making rotation in a page – installing extensions – developing various programs such as rainbow – sharing a project with others – checking the codes written by others – painting tools – develop various games like maze game / x and y indexes – developing a background for a video game – characters’ motion – end of a game as well as a applause sound effect – completion of a game and going to next levels – developing games for two players – making games with deadly traps more difficult – adding cheats to a game – completing a game and etc.
Introducing computer games and their producers (for example: Star Hunter – Chasing Video Games – Circle War – Jumping Monkeys – Sorcerer’s War – Dog and a Platform – Car Racing – Listening and Speaking Games and etc.)
In this level, our learners learn programming through game development and the best course for learners is “Algorithm and Flowchart”. “Scratch Programming Language” is construed as a preparatory course for learning “Algorithm and Flowchart”. It is worth mentioning that the programming training courses of children are among the most interesting courses held by this institute.

Algorithm and Flowchart

In order to learn programming, there are many rudimentary concepts and principles which are of paramount importance for learners. In the event that these concepts are not learnt appropriately, there may be a challenge in learning more complicated concepts of programming. Algorithm is one of the pillars of programming that may make programming easier for individuals. In other words, an algorithm is a kind of instruction to be applied via computers to solve problems.
Simply, a flowchart is a graphic diagram which represents a work process. Through flowcharts, we are able to rewrite our algorithms in the form of graphic symbols. The distinction between a flowchart and an algorithm is similar to that one exiting between a map and an address. In other words, the algorithms which have been written as pseudocodes may be considered as a written address and a flowchart is regarded as the map of the address.

Pre Python

Elementary Level (7 to 10 years old)

This course has been designed to provide learners with the fundamental concepts of programming including algorithms, syntax, loops and variables, which may be an interesting experience.

Through gaming, learners apply the computational thinking and computer programming to complete the challenges. It is to be noted that this course is appropriate for the learners with no experience in programming. Usually, the duration of this course is 3 to 6 months, which depends on the experience of a learner and his/her knowledge about the concepts. Our trainers work at an appropriate pace of learners. Perhaps, some students need more time to learn the concepts and develop their knowledge.

Curriculum

A step-by-step set of instructions for completing a task. While algorithms are written via codes, any computers can follow them.

Syntax refers to the rules pertaining to correct spelling, grammar as well as punctuation within a programming language. The syntax must be exactly correct for code to be executed properly.

An object may be a character or feature that can perform actions. Objects are construed as the building blocks of Python. These characters or features may be able to perform actions. Your hero is an object. It can perform the moving actions

It may be an action to be performed by an object.

Additional information passed into a method to change what’s the method do. In Python programming language, arguments are represented by codes inside the parentheses after a method.

A type of data representing a text. Strings, in Python, are represented by a text in the quotes. Within this course, strings are applied to recognize objects for the hero to attack.

A loop refers to a programming structure applied to repeat an action without a player that needs to write the same lines of code over and over.

Variable is a symbol signifying data. The value of a variable can be modified within the programming course. Within the present training course, variables are applied to name enemies and passed along as arguments to the attack method so that the hero can attack the correct enemy.

A function refers to an action performed by an object. moveRight() is a function. Function names are always followed by parentheses.

The building block of modern programming, the conditional. It’s called as such because of its ability to check the conditions at the moment and perform various actions depending on the expression. The player is no longer able to assume there will be an enemy to attack, or if there is a gem to grab. Now, they need to check whether it exists, check if their abilities are ready, and check if an enemy is close enough to attack.

An event refers to an object representing something that happened. Learner are able to write codes to respond to events: when this type of event happens, run this function. This is called event handling, and it is a very advantageous programming pattern and an alternative to an infinite while-loop.

Python Level 1

Elementary Level (10 to 15 years old)

This level has been designed to provide elementary learners with fundamentals and design principles of Python through Turtle and PyGame graphic, which includes variables, conditionals, loops and functions.

These concepts are transferable to any other programming language. In this path, learners open up projects to apply learnt concepts for the purpose of knowledge development.

Curriculum

Students will obtain knowledge about the basic variables including Integers and Floats. Furthermore, they will learn how to print to the screen and use mathematical operators so as to create a calculator project.

Working with Strings and Boolean variables and learning how to take user input. In this chapter, students will learn how to use these concepts so as to open up a Greeting Program.

In this chapter, students learn how to apply the concepts learnt in chapters 1 and 2, and use it to create drawings via Python with Turtle. They will create a beautiful house drawing or a drawing of their choice.

Students will understand Boolean expressions, and how to use them with “if”and “else” statements in order to create dynamic programs. At the end of the chapter, learners will use this chapter to create a Quiz project.

Chapter 5 moves deeper into conditionals, featuring nested if statements and using logical operators. This chapter will allow for more modular and clean code. At the end of the chapter, students create a Categorizing project.

Using what they’ve learnt in Chapters 4 and 5, students will create more dynamic Turtle drawings. Moreover, we will talk about coordinates, and manipulating the turtle across the 2d canvas.

In this chapter, students will learn how to loop things using a while loop. At the end of the chapter, students will create a final project.

This chapter concentrates on the list of data structure. Students will learn how to create a list, and modify and remove elements.

After learning lists, students will learn how to use the for loop, how to repeat over sequences, and understand its differences from the while loop.

Chapter 10 uses all the concepts learnt in the previous chapters and introduces the random module, in order to create a fireworks animation project.

Students will be introduced to void functions, how to define functions, and how to call them.

Chapter 12 dives deeper into functions. Students will learn about non-void functions, return values, and parameters and arguments.

Students will wrap up turtle by creating a turtle program that responds to user events. The turtle will follow inputted commands and listen for keyboard events.

To wrap up Level 1, students will create a Coin Game using Pygame. This chapter allows students to utilize what they’ve learnt so far and checks their understanding in a fun and creative way. At the end of the chapter, students will have created a fully customized Coin Game.

Python Level 2

Elementary Level (10 to 15 years old)

In this level, more advanced topics are provided for learners so that they have a more comprehensive understanding about the topics. Moreover, the knowledge of the students acquired from “Level 1” will be completed and also, they make acquaintance with advanced loops, algorithms and object-oriented programming and then, they develop games based on their knowledge, subsequently. Also, our learners shall complete this level with a full understanding of Python principles. The main topics covered in this level are data structures, advanced loops, algorithms as well as object-oriented programming and game development.

Curriculum

Students will learn more advanced list methods, and how they work in memory. Furthermore, students will learn about tuples, a similar data structure.

Chapter 2 focuses on Immutable and Mutable objects in Python, and shows how the different data types actually work in the computer’s memory.

In this chapter, students will learn how to use dictionaries, how to create them, modify, remove elements, and work with key value pairs.

Chapter 4 focuses on the two built-in types: sets and frozen sets. Students will learn how they are compared with the other data structures.

Chapter 5 will test the students understanding by creating the classic game of Hangman.

Students will learn how to nest loops in order to manipulate 2d data structures, and potentially more.

Chapter 7 focuses on Classes and Objects, the basis of object-oriented programming. Students will learn what Classes and Objects are, and how they are used across Python.

Students will learn about modules and modularity, how to structure their programs, and object-oriented design, in order to organize their code.

In this chapter, students will remake the popular game of Flappy Bird using Pygame. Students will use their knowledge and work with events to create the logic games. At the end of the chapter, students will have a fully working and customizable game of Flappy Bird, created from scratch.

Chapter 10 focuses on algorithms and problem solving skills. Students will learn the various approaches to problems and will be able to identify which one is used in which parts.

Level 2 wraps up with a Skier game project. Students will need to understand how to work with data structures to store elements, and delete them as they move off the screen. Additionally, this chapter will challenge students by requiring them to add physics in order to make the game more realistic. At the end of the chapter, students will have a fully working and customizable Skier game.

Python Level 3

Elementary Level (12 to 18 years old)

Level 3 concentrates on the application of concepts of Python, the audience of which are the learners who have completed both Level 1 and Level 2. Learners apply the theory for practical projects and also develop practical applications to be shown in the library of their projects. Game development, data analysis, production and development via artificial intelligence (AI) are the topics covered in this level. When learners fully learn all the principles of Python, they are also able to apply the concepts for development of practical projects. Moreover, we provide learners with various subjects such as “text recognition in images”, “web scraping in Wikipedia” and etc.

Curriculum

Chapter 1 introduces AI, what it is, and how it is programmed. Students will learn about the different branches of AI and Machine Learning techniques.

Before creating complex projects and working with libraries, students will revise all the concepts from Levels 1 and 2 in order to check and strengthen their understanding of the basics of Python.

Chapter 3 focuses on using the built-in Tkinter library, in order to create interactive GUIs. Students will recreate their previous projects and convert it into a GUI application.

Chapter 4 focuses on File input and output, and how to work with .txt and .csv files with Python.

Chapter 5 uses the Google Cloud Vision API in order to create an OCR program. Students will learn how to program an AI to analyze images and identify objects.

In this level, students will learn how to scrape the web using BeautifulSoup.

Students will learn how to use Python with data science, and data visualization. Using the Matplotlib library, students can create graphs and charts from tables or data structures.

Choose your favorite project topic. Complete with all knowledge that you learned from Python Level 1, 2, and 3.

Programming

Programming For

Children And Adolescents (Advanced Level)

The level of advanced programming includes the following courses:
Java programing language / C++ / AP Computer Science

Java Programming Language

In this level, students learn “Java” programming language. “Java” is one of the best and most practical programming languages in the world.
Slogan of Java: “Write once, run anywhere” (WORA)
This programming language is applied in the area of artificial intelligence (AI), programming for smart phones, website development and etc.
Note: If a learner is in the age of 15 to 18 and has not passed the elementary course, he/she should enroll in the elementary courses.

AP Computer Science

The training course of Scratch programming language includes the followings:
Course overview – method of working with the programming language – reviewing editors – creating emojis – reviewing controls and conditions – moving a point and making rotation in a page – installing extensions – developing various programs such as rainbow – sharing a project with others – checking the codes written by others – painting tools – develop various games like maze game / x and y indexes – developing a background for a video game – characters’ motion – end of a game as well as a applause sound effect – completion of a game and going to next levels – developing games for two players – making games with deadly traps more difficult – adding cheats to a game – completing a game and etc.  
Introducing computer games and their producers (for example: Star Hunter – Chasing Video Games – Circle War – Jumping Monkeys – Sorcerer’s War – Dog and a Platform – Car Racing – Listening and Speaking Games and etc.)


Java Level 1

Advanced Level (10 to 15 years old)

In this level, learners are aquatinted with a beginner-friendly course which is known as an introduction to the “Java Programming Language”. In this course, all learners shall acquire a comprehensive understanding regarding the Java’s foundations together with main and key computer science-related concepts. Java syntax, types and identifiers, operators, if statements, loops, arrays and etc. are the main concepts covered in this level. Moreover, learners are to apply such key concepts so as to create fun video games including Tic-Tac-Toe. It is to be noted that students with little to no previous Java experience can enroll in this course.

Curriculum

Chapter 1 begins with the basics of variables: primitive types and identifiers. Additionally, students will learn about Boolean Algebra and how variables are stored in memory.

Students will learn how to use arithmetic operators and its rules in Java, and learn about Boolean expressions.

Chapter 3 focuses on user input and output: how to use the Scanner class, print formatting, and escape sequences. Additionally, students will learn about JavaDocs and commenting.

n chapter 4, students will learn about control structures such as conditionals and iterative loops.

Chapter 5 dives into errors and exception handling, featuring how to use the try-catch block and talks about the different types of errors and exceptions.

Chapter 6 is a review of all the concepts learnt in the previous chapters. Students will participate in mock exams in order to check their understanding, and ensure they are ready for the next level.

Java Level 2

Advanced Level (12 to 18 years old)

Learners, in this level, shall work more comprehensively on the previously learned concepts of Level 1. Classes and objects, inheritance and polymorphism, Java standard classes and etc. are the main topics covered in this level. All learners can apply these concepts in order to create games like Hangman in an intermediate level.
Learners, in this level, are expected to have either passed the course of “Java Level 1” or have a basic background in this regard.
Upon completion of this level, learners will enjoy an intermediate level understanding regarding Java. Moreover, with having such understanding, learners are ready to undergo Level 3.
Also, this course has been designed for the learners who have completed Level 1 or enjoy previously acquired knowledge regarding Java programming language.

Curriculum

introduces the fundamental concept of object-oriented programming: Classes and Objects. Students will learn what they are and how they correlate to all things in Java. Additionally, students will learn about access modifiers, methods, scopes, and references.

dives into the topics of inheritance, polymorphism, casting, abstract classes, and interfaces.

showcases the built-in standard classes in Java, such as the Object, String, Math, and Wrapper Classes.

dives into fundamental Program Design and Analysis used in the software development industry. Students will learn about topics such as the Waterfall Model, Testing and Debugging, Assertions, and UML Diagrams, all of which are needed for a successful developmental lifecycle.

Chapter 5 is a review of all the previous concepts learnt. Students will go through a cumulative review of Levels 1 and 2 through practices, questions and mock exams.

Java Level 3

Advanced Level (12 to 18 years old)

The present advanced course is so appropriate for students to have a deep understanding about the concepts learned in the previous level with respect to Java programming language. Program design and analysis, recursion, sorting and searching and etc. are the main topics and concepts which are covered in this level. Learners can apply the knowledge acquired in this level so as to build on advanced games including Chess Game. Our learners are able to make advancements to our AP CSP course if they want to pass the AP exam.
Learners, within this level, shall work on the concepts learned in Java Level 2. They are also expected to have passed Java Level 2 or enjoy a deep understanding of the key concepts to be learned in this level. As mentioned above, learners shall be able to use such concepts for the purpose of creation of advanced games like Chess. When the course is completed, learners will enjoy an advanced understanding of Java programming language. More skillful students are able to choose to take the AP Java course, which is a curriculum providing concepts of Java to an understanding in an academic level. This level has been designed for the students successfully completed both Level 1 and Level 2 or enjoy a previous experience in code writing and software development.

Curriculum

introduces the Array and ArrayList data structures in Java. Students will learn how to create, modify, and manipulate Arrays and ArraysLists. Additionally, students will learn about the List interface, Collections, Iterators, and dive into two-dimensional arrays.

features the alternative type of loop: recursion. Students will learn how to use recursion and how it differs from iteration.

focuses on the basics of Sorting and Searching. Students will learn about Selection Sort, Insertion Sort, Merge Sort, Quicksort, Sequential Search, and Binary Search.

You will learn the basics of MultiThreaded Programming – with Executor Service

Choose 1 of 3 capstone projects. Use all knowledge to complete your favorite project.

C++

Advanced Level (14 to 18 years old)

Variable types, loops, control statements, functions, and one- and two-dimensional arrays, object-oriented programming, memory manipulation, and dynamic arrays are the topics covered in this advanced course. The present advanced course has been designed for the purpose of preparation of students for the American Computer Science League (ACSL), the USA Computing Olympiad (USACO) and the Canadian Computing Competition (CCC).
A solid background in coding (completion of Java Level 2 or AP Computer Science A) is the prerequisite for this course. It is worth mentioning that this course is appropriate for the students who have completed Java Level 3 or AP Computer Science A or have previous coding experience in this regard. Also, this course is appropriate for the students preparing themselves for the contests such as ACSL, USACO and CCC.

Curriculum

Chapter 1 is an introduction to C++ and its boilerplate structure. Additionally, students will learn about the command line and how to compile a C++ program.

Chapter 2 focuses on the different variables and types in C++. Students will learn how to declare and use variables, as well as naming conventions.

Chapter 3 talks about constants and operators. Students will learn about constant expressions, preprocessor definitions, and the types of operators in C++.

Chapter 4 focuses on input and output. Students will learn about the different types of IOstreams.

Chapter 5 focuses on control structures, such as: conditionals, iterative loops, and switches.

Chapter 6 introduces the fundamentals of functions. This includes: return values, parameters and arguments, scope, and recursion.

Chapter 7 features function and operator overloading, function templates, and header files.

Chapter 8 talks about name visibility, which includes: scopes and namespaces.

Chapter 9 talks about arrays, multi-dimensional arrays, and character sequences.

Chapter 10 is all about pointers and references. Students will learn all about pointers, referencing, dereferencing, null, and how variables work in memory.

Chapter 11 focuses on dynamic memory allocation and deletion. Students will learn how it works and how to safely use it.

Chapter 12 focuses on data structures, including structs, unions, and enumerated types. Students will learn how to create and use them, as well as the differences between the data structures.

Chapter 13 talks about another data types: Classes. Students will dive deep into classes and learn about objects, constructors, member functions, and function templates.

Chapter 14 focuses on special member functions, such as: the default constructor, destructor, copy constructor, copy assignment, move constructor, and move assignment functions.

Chapter 15 focuses on the concepts of friendship, polymorphism, and inheritance within classes. Students will learn about friend functions and classes, inheritance, and multiple inheritance.

Chapter 16 focuses on exceptions and exception handling. Students will learn about the dangers of exceptions and how to properly handle them.

Chapter 17 demonstrates the use of virtual functions. Students will learn about the virtual keyword and its different uses. Additionally, students will be introduced to binding, object slicing, and dynamic casting.

AP Computer Science A

(14 TO 18 YEARS OLD)

Our most advanced and accelerated Java course is for motivated students looking for a challenge. This course covers Java concepts up to a university-level understanding.
Students will have a well-rounded review of the whole AP CSP curriculum and will dramatically improve their problem-solving skills.
This course provides preparation for the Advanced Placement Computer Science exam, which may qualify students for post-secondary credits.
AP Java is our most advanced Java course, designed for responsible learners looking to challenge themselves. AP Java is an accelerated course that covers everything in Java levels 1 to 3 and more, up to a university level understanding. Students will apply the skills they learn to practice problems, creating their own programs, and creating their own games. By the end of this course, students will be prepared to take the Advanced Placement Computer Science exam, which may qualify them for credits at post-secondary institutions.
Advanced Students: This course is for students who have completed Java Level 2. This course is also for students preparing for the Advanced Placement Computer Science exam.

Mock Exam

Students will be taken through a final mock exam and ensure that they are fully prepared for the final exam.
This courses typically takes 3-6 months to be completed. This depends on the student’s experience and how fast they can master the concepts and the knowledge. Our instructors move at the pace of the student; it may take extra time for some students to reinforce what they have learn.

Curriculum

Review 1 will focus on the different variable types and identifiers. Students will review how to modify them, perform operations, and format output.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 2 will go through conditionals and iterative loops. Students will review how to efficiently use them and avoid errors.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 3 will review the different types of errors and how to handle them. Students will be shown different errors and will be asked the type of error and how to handle/avoid them.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 4 goes through all concepts surrounding Classes. This includes objects, polymorphism, inheritance, and the Java standard classes.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 5 will cover proper program design and analysis techniques.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 6 covers Arrays, Lists, and ArrayLists. Students will be reminded how to use them and how do they work in memory.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 7 covers recursive loops. Students will be reminded of how to use recursion, and identify strategies for efficiently creating them.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 8 covers the different searching and sorting algorithms. Students will be reminded of the time complexity of each algorithm and when to use which.

Students will be run through a series of practice problems and will be given the opportunity to ask questions. Additionally, students will be shown commonly made mistakes in order to avoid them.

Review 9 is a final review of all concepts needed for the AP Computer Science exam. Students will be taken through a cumulative review.