Course Description:

Teaching Computer Science Principles (CSP) is a professional development course designed to support teachers in teaching the AP Computer Science Principles course or a similar computational thinking-based course. It is based on six Computational Practices: connecting computing, creating computational artifacts, abstracting, analyzing problems and artifacts, communicating, and collaborating. Additionally, the course focuses on seven Big Ideas: creativity, abstraction, data and information, algorithms, programming, the Internet, and global impact. This Teaching CSP course introduces computer science content through a variety of techniques including online videos (e.g. discussing student misconceptions, modeling classroom strategies, concept introductions, debugging advice examples, lesson plans overviews), guided engagement with lesson plans, scaffolded programming scrambles, online discussions, reflective writing, and guided lesson plan evaluation and peer review, in-person pair programming and peer instruction. While introducing the content and pedagogical knowledge, also focus on providing structure teachers can continue to use to build their computational thinking and programming skills as they teach the course. The course purports that CSP teachers and students are part of a learning community where all members contribute to the learning process in meaningful ways.


The Teaching CSP course and professional development consists of:

  • A 5-week hybrid course (face-to-face and online) that develops teachers’ pedagogical content knowledge and content knowledge for the AP CSP curriculum.
  • A Professional Learning Community with workshops during the academic year to support teachers as they implement the curriculum for the first time.


Prerequisites — Classes or Knowledge Required Before Taking This Course:
Teaching CSP is the second course in UCI’s Computer Science Teacher Certificate Program, which is currently funded by the National Science Foundation. As such, it is expected that all participants will have completed the first course in the program, Teaching ECS. All students must be in-service teachers and admitted through that program.


Course Objectives
At the end of this course, students will be able to:

  • Identify pedagogical content knowledge for teaching Computer Science Principles
  • Elaborate on strategies of integrating computational thinking in teaching and learning
  • Create an equitable computer science classroom environment
  • Design effective instruction for Computer Science Principles
  • Design student assessment and evaluation for the CS Principles Performance Tasks and written exam or similar activities
  • Identify major components and functions of digital devices and computing systems
  • Identify the impacts of computing on society
  • Develop computational artifacts using sequential execution, methods, parameters, events, mathematical expressions, functions, if statements, boolean expressions, loops and lists


Course Material:
All course materials will be provided in the online LMS.


Teaching Exploring Computer Science Syllabus:

EDUC X300.44 TeachingCSP


Class Schedule:

For the 2018 cohort, the Teaching Exploring Computer Science class will be offered from June-July, 2018. Teaching ECS is a hybrid class with five Face-to-Face classes, five synchronous online classes as well as other asynchronous online lectures.

Week Online Classes Face-to-Face Class
1 June 19
June 22
2 July 3
July 6
3 July 10
July 13
4 July 17
July 21
5 July 24
July 28

Face-to-face classes on Friday or Saturday mornings, 9am—1pm at the Orange County Department of Education 

Fri, June 22 – D1002

Fri, July 6 – Active Space East

Fri, July 13 – Active Space East

Sat, July 21 – D1004-5

Sat, July 28 – D1002



Online classes each week occur Tuesdays at two times: @5PM and @7PM).
Each teacher will choose one of these times as their regularly scheduled time.

Computer Science Certificate Program Course Sequencing
The CS Teacher Certificate Program consists of four sequential courses:

  1. Teaching Exploring Computer Science (hybrid F2F and online)
  2. Teaching Computer Science Principles (hybrid F2F and online)
  3. Advanced Topics for Computer Science Teachers (hybrid F2F and online)
  4. Computer Science Teaching Methods and Student Assessment (Face-to-Face)

Course Descriptions for each course will be added in the future