Students will be able to demonstrate sound techniques for designing, developing, documenting, and debugging well-structured programs using software-engineering principles. Students will illustrate fundamental programming aspects through the Visual Basic programming language. Students will implement basic programming logic including declaring variables, arithmetic, decisions (algorithms), iterative loops, and sub procedures (abstractions).
Connecting Computing
Identify the impacts of computing and explain connections between computing concepts.
Creating Computational Artifacts
Design and develop computational artifacts and apply computing techniques to creatively solve problems.
Abstracting
Identify abstractions and use them to develop models and simulations of natural and artificial phenomena. Explain how abstractions are used and help to manage complexity.
Analyzing Problems and Artifacts
Design and produce solutions, models, and artifacts and evaluate and analyze computational work.
Collaborating
Collaborate effectively with other students on the creation and analysis of computational artifacts to address complex and open-ended problems.
Essential Learning Goals
Computational Thinking (15%)
Students will develop problem-solving and critical thinking skills and use these skills to solve complex computing problems.
Programming Skills (70%)
Students will demonstrate sound techniques for designing, writing, and testing well-structured programs. Implement basic programming logic including documentation, declaring variables, arithmetic, decisions, and loops.
Communication (10%)
Students will create a plan for what a program will do using the Input-Process-Output model and use detailed comments in their code.
Content (5%)
Students will apply correct content understanding to all aspects of their work.
Major Assessments and Success Criteria
The fundamental purpose of this course is an introduction to computer programming. Students will become familiar with and use the Visual Basic programming environment, be expected to design and document their code so it is easy to read, write algorithms that accurately execute the desired computations or actions, develop a familiarity with abstraction and creating reusable code, and build skills in evaluating their work and the work of their peers including testing and debugging. Students will engage in formative practices and end of unit performance tasks employing the essential learning goals listed above.