Iowa K-12 Computer Science Endorsement - Summer 2021 Cohort
Tentative course schedule
Click on a course title to view the course description (if available).
Foundational Concepts of Computer Science
Examines the wide breadth of the field of computer science, beyond the programming of the computers. Topics include Data Storage and Manipulation, Computer Organization, Operating Systems, Networking and the Internet, Software Engineering, Databases, and Artificial Intelligence. This course aims to give potential teachers a general introduction to some of the commonly taught sub-disciplines in computer science with the aim of giving them enough grounding to have an informed discussion with a student before going on to do further/deeper learning in a topic.
Fundamentals of Programming
This course is similar to a CS1 or “Introduction to Programming” course taught in most computer science departments. The course will focus on two programming paradigms - a graphical, event-driven programming language, and a syntax/text-based, procedural language. The course focuses on the fundamentals of programming— data and actions, sequence, selection, repetition, and modularization. Beyond basic programming the course is taught with an emphasis on pedagogy and outcomes appropriate for the high school classroom. It models the best practices of CS teaching in order to engage the learner in a first discussion on teaching and learning of programming.
Teaching and Learning Programming
Students will enhance their skill and understanding of programming while examining common programming problems, examples of bad/good code, and common misconceptions/difficulties. Students will examine common paradigms for teaching programming. Students will study broader challenges to learning such as broadening participation, understanding and avoiding bias, and best practices for classroom engagement. Prerequisite(s): CS 1320 or equivalent; TEACHING 2017; junior standing
Methods for Teaching Computer Science
Teaching approaches, instructional and assessment strategies, curricular and laboratory materials, and issues in secondary computer science. Students will develop a project, either in a classroom or during an after-school or similar experience that seeks to teach a section of the CS standards. Projects should stress inclusivity and appeal to a diverse group of students. Data will be collected about projects including demographics of participants, aggregate achievement, and analysis of student work samples. Prerequisite(s): CS 1320 or equivalent; CS 2310; CS 3310/5310; CS 3320/5320; TEACHING 3128; EDPSYCH 3148 (200:148); junior standing
Data Structures and Algorithms
Introduction to the structure and application of common data structures used in computer science and the algorithms used with/for these structures. Includes an ongoing discussion on algorithm analysis. Also includes significant elements of algorithms, program design, techniques for data storage and retrieval, and data beyond a local text file. Prerequisite(s): CS 1320 or equivalent; CS 3310/5310; TEACHING 2017; junior standing
View program information: