Course Offerings
State of Iowa CS Endorsement
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the CSTA Standards for K-12 Students and the CSTA Standards for Computer Science Teachers.
The goal of these courses is to produce high-quality teachers of computer science. In addition, these courses have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for the Computer Science teaching endorsement (#278) in the state of Iowa.
The endorsement consists of the following three-credit graduate courses :
- Foundational Concepts of Computer Science (Summer, Year 1)
- Fundamentals of Programming (Fall, Year 1)
- Teaching and Learning of Programming (Spring, Year 2)
- Methods of Teaching Computer Science (Summer, Year 2)
- Algorithms and Data Structures (Fall, Year 2)
All five courses will be a taught using a hybrid of online instruction/activities with periodic online meetups. As appropriate, such meetups may include optional face-to-face meetings held at participants’ AEAs.
In addition to being appropriate for license renewal, completion of all five courses will make participants eligible for one or both of Iowa's CS teaching endorsements [K-8 (#277) and/or 5-12 (#278)].
Tuition for the program is based on graduate tuition rates as set by Online and Distance Education at Northern Iowa (link: https://online.uni.edu/admissions-cost). CSED@UNI and the state Board of Education may offer opportunities to reduce these costs.
For additional information please contact Dr. Ben Schafer at schafer@cs.uni.edu or 319-273-2187.
Courses
[collapse collapsed="collapsed" class="style2" title="Foundational Concepts"]
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the ISTE Standards for Computer Science Educators. They have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for a computer science teaching endorsement in the state of Iowa.
FOUNDATIONAL CONCEPTS IN COMPUTER SCIENCE (CS 2310/5133, 3 CREDITS)
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.
[Taught spring of each year for undergraduates and summer for in-service teachers].
[/collapse]
[collapse collapsed="collapsed" class="style2" title="Fundamentals of Programming"]
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the ISTE Standards for Computer Science Educators. They have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for a computer science teaching endorsement in the state of Iowa.
FUNDAMENTALS OF PROGRAMMING (CS 1310/5133, 3 CREDITS)
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).
[Taught fall of each year for both undergraduates and in-service teachers].
[/collapse]
[collapse collapsed="collapsed" class="style2" title="Teaching and Learning Programming"]
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the ISTE Standards for Computer Science Educators. They have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for a computer science teaching endorsement in the state of Iowa.
TEACHING AND LEARNING OF PROGRAMMING (CS 3310/5310, 3 CREDITS)
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 Fundamentals of Programming. 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).
[Taught spring of each year for both undergraduates and in-service teachers].
[/collapse]
[collapse collapsed="collapsed" class="style2" title="Methods of Computer Science"]
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the ISTE Standards for Computer Science Educators. They have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for a computer science teaching endorsement in the state of Iowa.
METHODS OF COMPUTER SCIENCE (CS 4330/5330, 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.
[Taught fall of each year for undergraduates and summer for in-service teachers].
[/collapse]
[collapse collapsed="collapsed" class="style2" title="Data Structures and Algorithms"]
The CS Education curriculum at UNI currently consists of five courses which have been designed to align with the ISTE Standards for Computer Science Educators. They have been approved by the Iowa BoEE and completion of all five courses will make existing Iowa license holders eligible for a computer science teaching endorsement in the state of Iowa.
DATA STRUCTURES AND ALGORITHMS (CS 3320/5320, 3 CREDITS)
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.
[Taught fall of each year for both undergraduates and in-service teachers].
[/collapse]