A new way to approach Computer Science
![](https://static.wixstatic.com/media/d5aab0_22b104f404884a37a3bde5847f1b4b62~mv2.png/v1/fill/w_730,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-15.png)
Algorithmic Thinking
Coding Logic introduces students to enhanced problem-solving techniques by teaching them how to design and write out step-by-step algorithms. Algorithms the students create can be given to an information processing agent (person or computer) to solve problems or perform a task. From input to output, students will work together in classes to understand how algorithms are put together to solve various real-world problems using technology.
![](https://static.wixstatic.com/media/d5aab0_8ee4ca75957a4f05bcb33dfb87dfffd3~mv2.png/v1/fill/w_730,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-16.png)
Decomposition
Coding Logic encourages students to use decomposition on problems, the process of breaking down a complicated problem into smaller, easier-to-solve problems. Decomposing problems helps with understanding patterns in problems/solutions, testing algorithms, and finding errors in algorithms. Having a problem broken down into simple less complicated tasks is extremely useful in making algorithms because the instructions technology uses are very simple and specific.
Abstraction
Coding Logic promotes students to simplify problems by abstracting unnecessary details to help with understanding how to solve problems using an algorithmic process. Understanding how to use abstractions allows students to identify the important aspects of problems and not worry about unnecessary or unimportant details.
![](https://static.wixstatic.com/media/d5aab0_f8c0f6945df64df89c419c58579d78a4~mv2.png/v1/fill/w_731,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-17.png)
Generalization and Pattern Recognition
Generalization and pattern recognition enable students to reuse previous solutions and identify common patterns found in problem-solving. We can take an algorithm that we used to solve a specific problem and adapt it to solve a whole class of similar problems. An example of this is having to sort data, often times data must be sorted to accomplish a task. Whether someone is trying to sort information for a google search or sort a card collection, different types of data must be sorted but the algorithm for sorting the data can be the same.
![](https://static.wixstatic.com/media/d5aab0_2cd9c96b98764cc1a4017eaefbe29800~mv2.png/v1/fill/w_730,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-18.png)
Data Representation
Throughout the course, students are shown that data can be represented in many forms and practice using multiple encoding schemes (Base 10, Binary, Hexadecimal, Secret Codes, ASCII, etc.). Students get to explore these various ways of representing data and how those representations are interrelated. Students are shown how the decimal, binary, hexadecimal, and other number systems are designed and get a general understanding of how numeration systems are used.
![](https://static.wixstatic.com/media/d5aab0_ff81a5b244f043cba40b4a80968ebc16~mv2.png/v1/fill/w_730,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-19.png)
Logic and Evaluation
Being a proficient programmer relies heavily on the ability to use logical reasoning to make sense of problems, identify/collect data from programs, and evaluate solutions. Logical reasoning allows one to use pre-existing knowledge to decide on a direction to approach problems and check information.
![](https://static.wixstatic.com/media/d5aab0_649cad6a794c4c5caf2ff7441e3b855f~mv2.png/v1/fill/w_731,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets_icons-20.png)
Interested in learning Coding Logic?
Currently, students interested in enrolling in Coding Logic must either have completed Level 5 of Growing IQ, show proficiency in the concepts addressed in Level 5, or be in 6th-8th grade.
![](https://static.wixstatic.com/media/d5aab0_eb22b4c23c834a90adb93d9dc10f6bcb~mv2.png/v1/crop/x_3,y_3,w_220,h_222/fill/w_228,h_230,al_c,lg_1,q_85,enc_avif,quality_auto/CL%20assets-03.png)
Algorithmic Thinking
![](https://static.wixstatic.com/media/d5aab0_f8224440f4334ad482c42554e18cf3e0~mv2.png/v1/fill/w_230,h_230,al_c,q_85,enc_avif,quality_auto/CL%20assets-04.png)
Decomposition
![](https://static.wixstatic.com/media/d5aab0_679b0242c542456eb2284d83d5ba43ff~mv2.png/v1/fill/w_730,h_730,al_c,q_90,enc_avif,quality_auto/CL%20assets-15.png)
Abstraction
![](https://static.wixstatic.com/media/d5aab0_20180086abf746e582f8ba2f0469e30e~mv2.png/v1/fill/w_230,h_230,al_c,q_85,enc_avif,quality_auto/CL%20assets-06.png)
Generalization & Pattern Recognition
![](https://static.wixstatic.com/media/d5aab0_11f248a0eeb34c4dad36f35465332856~mv2.png/v1/fill/w_230,h_230,al_c,q_85,enc_avif,quality_auto/CL%20assets-07.png)
Data Representation
![](https://static.wixstatic.com/media/d5aab0_81cc013313dd4cbeb7c3eb2a26e32cc1~mv2.png/v1/fill/w_231,h_230,al_c,q_85,enc_avif,quality_auto/CL%20assets-08.png)
Logic & Evaluation
There are many skills and definitions that computational thinking encompasses,
for Coding Logic we use the following six computation thinking skills to help describe connections to lessons.
Curriculum
We do not view the ability to program as an isolated skill set. Coding skills incorporate computational thinking, computer science, mathematics, and numerous other subjects into the development process.
Our course helps students express their ideas in a specific form that a machine can understand and execute. Coding Logic's curriculum and teaching methodology of unplugged and plugged-in lessons expose students to the types of questions and problems that programmers often must deal with, as well as encourages students to use computational thinking skills.
Computational Thinking Skills
Computational thinking is the key concept taught in Coding Logic. Formally, computational thinking is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could execute.
![](https://static.wixstatic.com/media/d5aab0_29480cdc2f4c43c493edc413b9a4aef4~mv2.png/v1/fill/w_980,h_651,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202022-09-22%20at%208_28_11%20AM.png)
The unplugged teaching methodology approaches teaching computational thinking, computer science, and coding without the use of any digital tech-nology. Students are given opportunities to look at problems in a new light and tackle them in ways that result in simple yet effective solutions. The use of code or coding skills is secondary to the logical instincts that give your child the ability to approach and unwind a problem. Once the underlying logic is better understood, transitioning to programming these solutions becomes a breeze. Our mission is to have students leave with the logical instincts that give them the ability to look at various problems and decide how to tackle them effectively.
Connecting computational thinking to coding
![](https://static.wixstatic.com/media/d5aab0_6c7d0c6c5cff4bb4a1adbf8273536acf~mv2.png/v1/fill/w_887,h_887,al_c,q_90,enc_avif,quality_auto/Varied%20Language.png)
Describe the problem at hand
Identify the important details and ignore the unnecessary ones
Breaking a problem into smaller tasks that can be solved logically
Represent data in various forms that are useful for the problem at hand
Use instructions to solve each step and organize instructions into an algorithm
Evaluate the process used to solve the problem
Coding Logic gives students a foundation in computational thinking by teaching them how to:
![](https://static.wixstatic.com/media/d5aab0_4d7285e1c6004370abcb41a31530cda1~mv2.png/v1/fill/w_980,h_954,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/CL%20assets_chart-21.png)
There are many skills and definitions that computational thinking encompasses, for Coding Logic we use the following six computation thinking skills to help describe connections to lessons.
![Python.png](https://static.wixstatic.com/media/1cbbc9_cc50935bc6d34fa782a2bb8242c74616~mv2.png/v1/fill/w_500,h_500,al_c,q_85,enc_avif,quality_auto/Python.png)
Python
We first dive into core concepts of computer science and programming using a mixture of unplugged hands-on and plugged-in Python activities. Students learn about binary and hexadecimal systems, develop algorithms using flowcharts and pseudocode, and explore various data structures. They will engage with topics like sorting algorithms, recursion, encryption, and data science.
![MakeCode.png](https://static.wixstatic.com/media/1cbbc9_757e3d415e1045b1a83ab97d87005b07~mv2.png/v1/fill/w_500,h_500,al_c,q_85,enc_avif,quality_auto/MakeCode.png)
Game
Development
Students apply their Python and Computer Science skills to game development using Microsoft MakeCode. By creating games, they will build foundational skills using the editor and coding. This approach helps with understanding game mechanics, design, and coding for interactive applications.
![JavaScript.png](https://static.wixstatic.com/media/1cbbc9_714cc68a3c804f42a0bdaf16f23fb5bd~mv2.png/v1/fill/w_500,h_500,al_c,q_85,enc_avif,quality_auto/JavaScript.png)
Web
Development
We introduce students to web development with HTML, CSS, and JavaScript. They will learn to create basic web pages and gain an understanding of each language. Progressing further, students will use Flask to develop and host web applications. The final project involves creating a student portfolio to showcase their work and coding skills.