Skip to main content
11 votes

Looking for a block-based programming language for AP CS P

You will probably want to look into Snap!. It was built upon Scratch and would probably meet your needs. This is from its About page: Snap! (formerly BYOB) is a visual, drag-and-drop programming ...
Peter's user avatar
  • 9,112
8 votes

Lesson ideas for introducing macros in C

I introduce C macros as a convenient way of using a single source file that can be used both when debugging code in development and for final delivery, without having to edit and and edit out test/...
Brian Tompsett - 汤莱恩's user avatar
8 votes
Accepted

Curriculum choice for AP Computer Science Principles

TL;DR Teach CS50 AP. I taught AP CSP this past year, and I cannot speak highly enough for the curriculum that CS50 has written for this course. I'll try to enumerate its strengths as objectively as ...
Peter's user avatar
  • 9,112
6 votes

Curriculum choice for AP Computer Science Principles

Code.org is definitely meant to introduce more and more students to Computer Science. Students who are already familiar with the basics and want to learn more are likely to get bored with Code.org. ...
tusharsoni's user avatar
6 votes
Accepted

Teacher Community - Using CS50 for AP

Yes, there is an email group dedicated to CS50 AP administered by Harvard. Reach out to the CS50 AP team (info here), and they will get you connected there. It has been an invaluable resource for me ...
Peter's user avatar
  • 9,112
6 votes

Teacher Community - Using CS50 for AP

The APCS community maintains an active web site and mailing list. It has many users who ask and answer many questions. Start here to learn more: https://apcommunity.collegeboard.org. Find your ...
Buffy's user avatar
  • 36.8k
5 votes

How do I teach about inequity in computing resources?

This seems to me to be the sort of topic that is best covered with an assignment such as Write a paper, citing resources, on the topic of XYZ. There are a number of other things that can be addressed ...
Buffy's user avatar
  • 36.8k
4 votes

How do I teach about inequity in computing resources?

Have students analyze data about the inequity of access to computing resources, and facilitate the discussion of an assigned reading. Here's one procedure for doing that: Students could be asked to ...
Bennett Brown's user avatar
3 votes

Criteria for admission to AP CS courses in high school

This won't make a direct suggestion about criteria, but I think is an important note to guide your "admission" process. I doubt that you will find much reputable repeatable research to guide you, so a ...
Buffy's user avatar
  • 36.8k
3 votes

Criteria for admission to AP CS courses in high school

I don't have criteria with evidence that are indicators of success, but I have some I use that can indicate the lack thereof. At my school, although we are not allowed to specify prerequisites for ...
Java Jive's user avatar
  • 2,359
3 votes

App Lab/JS confusion between strings and variables

Don't imagine that this problem is rare or that it is caused because the students don't "get it." Often they get it all too well. It is common in learning a new thing to base your understanding on ...
Buffy's user avatar
  • 36.8k
3 votes

App Lab/JS confusion between strings and variables

As always with javascript, show the right&wrong: Show them, using the exact piece of code from your example, but add another line: ...
ItamarG3's user avatar
  • 6,312
3 votes

Lesson ideas for introducing macros in C

It is useful to create a macro to compute the maximum operation. The advantages of a macro over a function are: performance (which we all know is important to C programmers, although they can use an <...
Ellen Spertus's user avatar
3 votes
Accepted

Is there a compilation of AP CSP scores by curriculum?

I work for UTeach CSP and as far as I understand, the College Board released has results to endorsed providers from 2017-2018 (meaning projects like CS50 and CodeHS aren't included because they were ...
Michael DeGraff's user avatar
3 votes

Curriculum choice for AP Computer Science Principles

Your curriculum for CS Principles should evolve over time as your students' background evolves over time. If your students' background is not evolving from year to year, your district is implementing ...
Bennett Brown's user avatar
3 votes

Curriculum choice for AP Computer Science Principles

Just wanted to chime in here. I'm a bit biased as one of the founders of CodeHS, but I think you should take at look at the CodeHS AP CS Principles course we made. Here are a number of reasons why I ...
Zach Galant's user avatar
2 votes

Homework Policy for Advanced/Honors Students

I never explicitly assign homework. It's easier on everyone, and I don't think that they're getting that much out of homework anyway. We spend a majority of our in class time working on labs and ...
Ryan Nutt's user avatar
  • 3,009
2 votes

Homework Policy for Advanced/Honors Students

My students are already slammed with homework, so when possible, I try not to add to their misery. I have done some formal polling of my students several years back, so I have used real data to ...
Ben I.'s user avatar
  • 34.3k
2 votes

Looking for a block-based programming language for AP CS P

While I definitely recommend Snap!, for completeness sake you might take a look at: Scratch -- though w/o custom functions this may be limiting PencilCode -- a blocks+text environment around ...
Cycomachead's user avatar
2 votes

Looking for a block-based programming language for AP CS P

Code.org has a CS Principles curriculum available for free, and I think this would meet your needs. https://studio.code.org/courses/csp I've never used it with a class, but it starts with an ...
Lisa Hines's user avatar
2 votes

What are effective ways to prepare students for the AP CS Principles Exam?

Personal disclaimer: the best preparation for the exam is first to ensure that students master course content. If you have an AP CSP-aligned curriculum, then every day is a day of exam preparation. ...
Peter's user avatar
  • 9,112
2 votes

Looking for a block-based programming language for AP CS P

Not strictly block based, but I like Codesters as a nice midway point. It has a DnD interface but the blocks you drop become Python code.
Mike Zamansky's user avatar
2 votes

What is the pedagogical value of Conway's Game of Life?

I'm not sure that AP CS Principles has a lot of direct relation to Conway's Game of Life, but nevertheless there is real value in introducing it, and it ultimately features pretty prominently in my ...
Ben I.'s user avatar
  • 34.3k
2 votes

What is the pedagogical value of Conway's Game of Life?

I really like Ben's answer, but I wanted to add my two cents: Like Ben and others have mentioned, Conway's Game of Life provides a "wow" factor that's useful in and of itself. It's simple to ...
Kevin Workman's user avatar
2 votes

Is CS50 AP available for new teachers for 2020-2021?

I just noticed that CS50 AP has just come back to life at https://cs50.harvard.edu/ap/2021/ with new access information and so on, so I'm all set.
M. Braden's user avatar
1 vote

What is the pedagogical value of Conway's Game of Life?

I would use it as an introduction / teaser about Finite Element Analysis. FEA is commonly used to simulate air / water flow in / around various shapes. Like GoL, the math for each cell is fairly ...
Meower68's user avatar
  • 261
1 vote

Is there a compilation of AP CSP scores by curriculum?

Both UTeach and Code.org have released their scores. 83% of UTeach students passed, 73% of code.org students passed. UTeach also published the results of females and underrepresented minority groups. ...
Robin Mathews's user avatar
1 vote

What are effective ways to prepare students for the AP CS Principles Exam?

Note: I'm one of the founders of CodeHS We made a free review course on CodeHS that you can try out. It has hundreds of practice multiple choice problems broken down by topic as well as a complete ...
Zach Galant's user avatar
1 vote

What are effective ways to prepare students for the AP CS Principles Exam?

Timed and multiple choice means that the students have to work quickly. This means that there is a simple (easier said then done) solution: improving their quick thinking skills. There are many ...
Harry's user avatar
  • 93

Only top scored, non community-wiki answers of a minimum length are eligible