Designing and Teaching a CS Principles Course at Your School

Track Room Location: Heritage Hall, 123


Description

In 2009, the National Science Foundation (NSF) started the CS-10K program with a goal to establish “rigorous academic computing courses taught in 10,000 high schools by 10,000 well-prepared teachers."

The CS-10K initiative started by defining an exciting new curriculum, Computer Science Principles (CSP) that focuses on 1) increased enrollment and diversity among students in CS courses and 2) principles that encompass the breadth of computer science as contrasted to the almost total focus on programming inherent in the CS Advanced Placement (AP) exam. In the 2016-2017 academic year, CSP became the focus of a new CS AP exam to join the existing CS AP exam.

Colleges initiating CSP courses will attract students who pass the CS AP exam based upon their high school courses. And by having colleges support CSP AP, more local high schools will, in turn, be likely to include CSP in their curriculum. Such a positive feedback loop can only benefit students both in high schools and at colleges teaching CSP.

To encourage as many high schools and colleges as possible to adopt a CS Principles course, University of North Texas’ Computer Science and Engineering department, in summer 2016, offered a professional development workshop for a Computer Science Principles course called the Beauty and Joy of Computing (BJC). The BJC course was developed at University of California, Berkeley by Professors Dan Garcia and Brian Harvey. A version of BJC has been taught at UNT each semester since Spring 2014 and is currently being used in high schools and universities throughout the nation.

Prerequisites

Participants should have either experience teaching computer science or definite plans to teach computer science at their high school, college or university in the near future.

Textbook

Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion by Hal Abelson, Ken Ledeen, and Harry Lewis. The full text is available via Creative Commons license. Visit www.bitsbook.com.

Instructor

Phil headshot.jpg
Philip Sweany, Associate Professor in University of North Texas’ Computer Science and Engineering Department has been teaching Computer Science Principles (CSP) at UNT since Spring 2014. He has also been a phase II pilot in the CS Principles development group. In addition, he is part of UNT’s Teach North Texas (TNT) program that prepares pre-service teachers of STEM subjects by combining pedagogy and a Bachelor’s degree in a STEM area (such as CS) both in 4 years. Currently, there are 7 students enrolled in the CS portion of TNT. For more information about Dr. Sweany, see http://www.cse.unt.edu/~sweany .

Three Objectives

Upon completing the workshop participants will be able to:
1. Design a CS Principles course based upon the Beauty and Joy of Computing (BJC) curriculum,
2. Access a wealth of curriculum materials and advice from current BJC teachers, and
3. Teach a BJC course at their school.

Agenda

Monday
Time
Activity
Objectives
Assessment
8:00am to 9:30am
Discussion of the purpose, strategies, and goals of CS 10k and Computer Science Principles (CSP)
Participants can identify the purposes, strategies, and goals of CS 10k, Exploring Computer Science (ECS), and CSP
Proficient participants can pass a selected-response quiz of CS 10k, CSP and ECS with a score of 70% or better. (Quiz to be given on Tuesday morning.)
9:30am .. 9:40am Break
9:40am to 10:30am
Forming Collaborative Groups; This will entail several exercises meant to encourage cooperation among participants, with an eye toward using similar techniques in the classroom.
Participants can identify effective ways to encourage student collaboration in the classroom and on CS projects.
By the end of the workshop, participants write a 1-2 page paper describing how they intend to encourage collaboration within their classroom and on CS projects. Rubrics used to evaluate these papers include a “communication rubric” used in CSCE 1010, UNT’s Computer Science Principles course.
10:40am .. 10:45am Break
10:45am to 12noon
Discussion of the role of Abstraction as a central principle of Computer Science.
Participants can use multiple layers of abstraction in developing a program within SNAP Lab 1.
Participants can identify multiple layers of abstraction in the program they develop in Lab 1.
noon Lunch
1:00pm to 1:45pm
Intro to SNAP—A Visual Programing Tool
Participants can build and save a simple SNAP program to the “cloud”
Participants can build, save and retrieve a SNAP program to/from the cloud.
1:45 .. 2:00 --- Break
2:00pm to 5:00pm
SNAP Lab 1 – Drawing Polygons
Participants will build a SNAP program that “draws” polygons and uses them to create “art.”
Participants each build a SNAP program that creates SNAP blocks (abstractions), which they then use to generate computer “art.” The evaluation tool is the rubric we use for lab programs in CSCE 1010.
5:00pm to 5:10pm Closing Remarks and Plans for Tuesday

Tuesday
Hour
Activity
Objectives
Assessment
8:00am to 8:50am
Selected Response Quiz over Monday’s material; Collaboration exercise
Participants can identify effective ways to encourage student collaboration in the classroom and on CS projects.
Participants will write a 1-2 page paper describing encouraging collaboration in the classroom and on CS projects. Evaluation includes a “communication rubric” from CSCE 1010.
8:50 .. 9:00 Break
9:00am to 9:50am
Algorithms – definitions, use of algorithms, simple evaluation of algorithms
Participants can identify characteristics of good algorithms. Participants can design algorithms to solve problems. Participants will score 70% on a selected-response quiz over the material covered.
Participants will complete a selected response quiz on Wednesday. The focus of the quiz will be algorithm design and use of recursion in algorithms.
9:50 .. 10:00 Break
10:00 am to 12noon
Recursion – definition, effective use of recursion in algorithms, motivation to use recursion, and limits of recursion
Participants will identify use of recursion in an algorithm as well as appropriate use of recursion. Participants will score 70% on a selected-response quiz over the material covered.
In addition to the selected-response quiz on Wednesday, participants will use recursion in a SNAP lab on Wednesday. The lab will be evaluated using the 1010 Lab rubric.
Noon Lunch
1:00pm to 1:50pm
Sharing of materials and discussion of some lesson plan(s) from UNT’s CS 1010
Participants will have see materials used in 1010 and join in discussion of teaching methods/lesson plans.
No assessment
1:50 .. 2:00 Break
2:00pm to 2:35pm
SNAP Conditionals, Random Numbers
Participants will be able to use conditional expressions properly in SNAP programs. Participants will be able to use the SNAP pseudo-random number generator in SNAP programs.
The Simulation lab to be completed by the participants will allow evaluation of their use of conditionals and the random number generator.
2:35 .. 2:40pm – Break
2:40pm to 5:00pm
Lab 2 --- Simulation
Participants will complete SNAP program(s) that use complex conditional expressions and the SNAP random number generator.
The assessment of the SNAP programs generated will use the lab rubric from CSCE 1010.

Wednesday
Hour
Activity
Objectives
Assessment
8:00am to 8:50am
Selected Response Quiz over Tuesday’s material; Collaboration exercise
Participants can identify effective ways to encourage student collaboration in the classroom and on CS projects.
Participants will write a 1-2 page paper describing encouraging collaboration in the classroom and on CS projects. Evaluation includes a “communication rubric” from CSCE 1010.
8:50 .. 9:00 Break
9:00am to 9:50am
Data – This lesson will look at how software can access data, both large and small, and how appropriate access and use of data facilitates the creation of knowledge.
Participants can identify several programming tools that facilitate analysis of large amounts of data. Participants can write SNAP programs to analyze medium sized amounts of data
Participants will write a SNAP program to extract “interesting” patterns from a 10,000 word dictionary. Evaluation will use the 1010 lab rubric.
9:50 .. 10:00 Break
10:00am to 12noon
Recursion Lab --- Participants will complete three small recursive SNAP programs, one of which will find patterns in a 10,000 word online dictionary.
Participants can write SNAP software that uses recursion.
Participants’ programs will be evaluated using the 1010 lab rubric.
Noon .. Lunch
1:30pm to 3:30pm
Participants will work in groups of two or more to define a “big data” problem of interest to them and “solve” it.
Participants can work in groups to discover useful knowledge from a significant-sized data set of their own choosing.
Assessment will include a 5-minute presentation by each group describing what they did and what they learned.
3:30 .. 3:40 pm Break
3:40pm to 5:00pm
Participants will present their methods and findings
Participants can work in groups to discover useful knowledge from a significant-sized data set of their own choosing.
Assessment will include a 5-minute presentation by each group describing what they did and what they learned.

Thursday
Hour
Activity
Objectives
Assessment
8:00am to 8:50am
Discussion of the global (cosmic?) impact of computing. This will be a very general topic that may (depending upon participant interest) touch on how one can/should include the global impact of computing in CS curricula.
Participants will be able to identify several/many areas in which computing impacts their lives and very few in which it doesn't.
Ok, just to be different, we’re going to break with accepted educational practice and not actually assess what participants learn in this exercise.
8:50 .. 9:00 Break
9:00am to 11:00am
Participants will write an essay based upon a prompt that will require both online-search and significant thought to take a position on a “computer impact” topic.
Participants will write an essay taking a position on a proposed “new” public policy based upon the ubiquity of computers in society now and in the future.
The essays will be evaluated using the “communication” and “critical thinking” rubrics from 1010.
11:00 .. 11:10 Break
11:10am to 12:00pm
Under the hood of the internet. The internet pervades modern computing. But how does it work. In this session participants will engage in activities to discover how the internet is designed.
Participants will be able to identify properties of internet routing, tcp/ip protocols, error detection and correction and other issues related to how the internet operates. Participants will be able to score 70% or higher on a selected-response quiz covering these topics.
A selected-response quiz will be used to assess participant knowledge at the end of this session.
12:00 Lunch
1:00pm to 1:50pm
Under the hood of the internet. The internet pervades modern computing. But how does it work. In this session participants will engage in activities to discover how the internet is designed.
Participants will be able to identify properties of internet routing, tcp/ip protocols, error detection and correction and other issues related to how the internet operates. Participants will be able to score 70% or higher on a selected-response quiz covering these topics.
A selected-response quiz will be used to assess participant knowledge at the end of this session.
1:50 .. 2:00 Break
2:00pm to 5:00 pm
Participants will each complete a SNAP program of their own choosing based upon their interests. (This exercise will enable participants to complete a part of the Create Performance task, namely completion on an individual program of their choosing.)
Participants will choose a problem to solve, design algorithm(s) to solve it and complete a SNAP program to solve the problem.
Participant meeting of the objective will be evaluated by use of the 1010 lab rubric.

Friday
Hour
Activity
Objectives
Assessment
8:00am to 10:00am
Participants workshop their “collaboration” papers, giving and receiving feedback and revising their papers where appropriate.
Participants can identify effective ways to encourage student collaboration in the classroom and on CS projects.
Informal feedback from the workshop
10:00 .. 10:10am Break
10:10am to 10:50am
Discussion of College Board Performance Tasks that will be a significant portion of the grading of the CS Principles AP exam as of 2016-17 and beyond
Participants will be able to access the copious materials already available for the Beauty and Joy of Computing CS Principles curriculum.
Rubrics to evaluate completion of each Performance task will be discussed
10:50 .. 11:00am Break
11:00am to 12noon
Pair Programming --- The CSP Create Performance Task requires students to work in pairs.
Participants will optionally complete the Create Performance task and get feedback on their efforts.
This will be included in the rubric for the performance tasks mentioned above.
12noon to 12:30pm, Closing Remarks, questions.


Please note that content is subject to change or modification based on the unique needs of the track participants in attendance.