Curriculum
The Computer Science Education Endorsement sequence consists of four online courses that combine synchronous and asynchronous learning. The first course is shared by both the elementary and secondary pathways.
Candidates explore topics such as computer systems and networks, digital data structures, data analysis, algorithms, and programming. Technical skills and instructional practices are integrated throughout the sequence, providing a strong foundation for teaching K–12 computer science. Candidates are introduced to a variety of coding platforms, including CodeAI (formerly Code.org).
Skills You'll Gain
Graduates will develop skills in:
- Computer systems and networks
- Data structures and analysis
- Algorithms and computational thinking
- Programming concepts
- K–12 computer science teaching practices
Elementary Courses
This course begins by analyzing how users interact with existing computational devices and expect students to propose improvements based on these observations. Students will design projects that combine hardware and software components, and also interact with other pieces of cyber-physical systems. Students will model role of network protocols in transmitting data on the Internet.
This course provides an understanding of data and related concepts using multiple encoding schemes on various computational tools. Core data operations such as storing, copying, searching, retrieving, modifying, deleting and transforming information. Students will collect and present data in various visual formats, and be able to identify and describe patterns in data visualizations to make predictions, as well as highlight and propose cause-and effect relationships. Social impacts of computing are also presented.
This course helps students create prototypes to solve computational problems, modeling daily processes to complete tasks. Students will develop programs with sequences and simple repetitions (loops) to express ideas or solve basic problems. Flowcharts and pseudocode concepts will be introduced to emphasize the importance of design before starting development. The importance of decomposing a problem into smaller parts will also be introduced. Students will be expected to systematically design and develop programs making selections among various alternative approaches to solve a problem and justify their choice.
This course focuses on hands-on skills for students to develop plans that describe a particular program's sequence of events, goals, and expected outcomes. Proper program development skills in modular design, indentation, commenting, and help files will be studied. Students will be asked to debug (i.e., identify and fix) errors in programs, and explain how errors are fixed by using relevant terminology.
Prerequisite: Pre or co-req EDCS-505 or EDCS-515
Secondary Courses
This course begins by analyzing how users interact with existing computational devices and expect students to propose improvements based on these observations. Students will design projects that combine hardware and software components, and also interact with other pieces of cyber-physical systems. Students will model role of network protocols in transmitting data on the Internet.
This course provides an understanding of data and related concepts using multiple encoding schemes on various computational tools. Core data operations such as storing, copying, searching, retrieving, modifying, deleting and transforming information. Students will collect and present data in various visual formats, and be able to identify and describe patterns in data visualizations to make predictions, as well as highlight and propose cause-and effect relationships. Social impacts of computing are also presented.
This course helps students create prototypes to solve computational problems, modeling daily processes to complete tasks. Students will develop programs with sequences and simple repetitions (loops) to express ideas or solve basic problems. Flowcharts and pseudocode concepts will be introduced to emphasize the importance of design before starting development. The importance of decomposing a problem into smaller parts will also be introduced. Students will be expected to systematically design and develop programs making selections among various alternative approaches to solve a problem and justify their choice.
This course focuses on hands-on skills for students to develop plans that describe a particular program's sequence of events, goals, and expected outcomes. Proper program development skills in modular design, indentation, commenting, and help files will be studied. Students will be asked to debug (i.e., identify and fix) errors in programs and explain how errors are fixed using relevant terminology.
Prerequisite: Take EDCS-506 or EDCS-516