The CS Education curriculum at UNI currently consists of the following courses which have been designed to align with the ISTE standards for Computer Science Educators. We are currently in the process of having this coursework approved so that those teachers completing this coursework will be eligible for the newly approved computer science teaching endorsement in the state of Iowa.
Fundamentals of Programming (3 credits)
8 weeks online, June 18 – August 10, 2018. On campus classroom sessions – June 18-19, July 12-13, August 8-9
This course is similar to a CS1 or “Introduction to Programming” course taught in most computer science departments. However, it is taught with an emphasis on pedagogy and outcomes appropriate for the high school classroom. The course will focus on two programming paradigms – Scratch, a graphical, event-driven programming language, and Python, a syntax/text-based, procedural language. The course focuses on the fundamentals of programming—data and actions, sequence, selection, repetition, and modularization. It also emphasizes teaching with and about “good” code (versus “working” code).
Teaching and Learning of Programming (3 credits)
2018-2019 school year
This course addresses the teaching of introductory programming to all students. It will be a combination of a CS methods course with additional practice in programming. It will be based on an ongoing CoP reflecting on the classroom implementation of the material learned in PESE. It will consist of assignments and discussions regarding classroom experiences and will address CS pedagogy and topics including assessing learning/Student Outcomes in the classroom, broadening participation, CS Teaching resources, national K-12 CS Standards, and pedagogical considerations (lecture vs. activities vs. blended learning).
Data Structures and Algorithms (3 credits)
Summer of 2019
This course introduces the use and implementation of data and file structures such as sets, hash tables, stacks, trees, queues, heaps, and graphs. Searching and sorting. Includes algorithm design techniques such as dynamic programming and greedy algorithms; complexity analysis of algorithms; efficient algorithms for classical problems; intractable problems and techniques for addressing them.
Foundational Concepts in Computer Science (3 credits)
2019-2020 school year
This course addresses the “big ideas” of computer science such as the way computers work (instruction cycle to operating systems), the structure and workings of the internet, security and privacy, databases and big data, and computing for “good.” While appropriate for teachers of the AP CSP program this course is intended for all CS teachers to help them make connections between a wide variety of CS topics. In addition to specific content the course will include the pedagogy of teaching in a manner that helps students formulate reasonable models for these big ideas. Participants will explore the AP CSP Framework and several different curricula that implement this framework.
Computer Science Methods (3 credits)
This course addresses effective strategies for teaching computer science. Participants 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 targeted at the student population with which they are working. Projects should stress inclusivity and appeal to a diverse group of students.
For additional information, contact Dr. Ben Schafer – firstname.lastname@example.org