Computational Thinking Curriculum Map Unit Duration 4 weeks An overview of computers and logic 4 weeks Data Types and Variables Primary Standards Essential Question(s) Demonstrate an understanding of elementary logic, truth tables, and Boolean Algebra Illustrate concepts using one or more programming language(s) Describe the steps addressed in the design of a program to solve the stated problem Describe the principles of object-oriented programming Use fundamental data types and data structures such as: integers, reals, characters, strings, Booleans, one- and two-dimensional arrays Analyze the binary representation of data How are the steps in the program design process essential to the overall design of a program? 4 weeks Illustrate the flow of a program 4 weeks Develop algorithms with increasing degree of complexity using structured programming techniques such as: sequence, selection, and repetition. Why are control structures essential in the design of a program? 4 weeks Use modular programming. 4 weeks Demonstrate an understanding of elementary logic, truth tables, and Boolean Algebra. How do modules in a program affect the overall design of a program? How do decision statements affect the flow of a program? 4 weeks Analyze the binary representation of data. Program Design Tools Control Structures Modularity Making Decisions Looping What is the importance of data types and data structures to the overall design of a program? How are flowcharting and pseudocode utilized in the design of a program? How do fixed repetition and variable controlled loops affect the program flow? How do are these structures similar and how do they differ? 4 weeks Array Processing 4 weeks Files and Algorithms Students demonstrate a sound understanding of technology concepts, systems, and operations. Use fundamental data types and data structures such as: integers, reals, characters, strings, Booleans, one- and two-dimensional arrays Students demonstrate a sound understanding of technology concepts, systems, and operations. Explain the implications of file processing. How can single dimensional and multi-dimensional arrays be utilized in a program design? How can the use of searching and sorting algorithms affect the design of a program?