Programmers integrate algorithms and abstraction to create programs for creative purposes and to solve problems. Using multiple program statements in a specified order, making decisions, and repeating the same process multiple times are the building blocks of programs. Incorporating elements of abstraction, by breaking problems down into interacting pieces, each with their own purpose, makes writing complex programs easier. Programmers need to think algorithmically and use abstraction to define and interpret processes that are used in a program.
Essential Questions:
How are algorithms implemented and executed on computers and computational devices?
Why are some languages better than others when used to implement algorithms?
What kinds of problems are easy, what kinds are difficult, and what kinds are impossible to solve algorithmically?
How are algorithms evaluated?
How are programs developed to help people, organizations, or society solve problems?
How are programs used for creative expression, to satisfy personal curiosity, or to create new knowledge?
How do computer programs implement algorithms?
How does abstraction make the development of computer programs possible?
How do people develop and test computer programs?
Which mathematical and logical concepts are fundamental to computer programming?
More information to come as course progresses.