10 votes
Accepted

Object Oriented Software Engineering Project

Let me first make a suggestion. First, understand, yourself, what OO really means at a deep level. It is not, fundamentally, about inheritance, and when inheritance is employed it should be done so ...
user avatar
  • 34.9k
8 votes

How to illustrate scope problem when creating variables inside `if` statements in Java

I like to use an analogy from Finding Nemo. I tell them their programming language has the same problem Dory has - short-term memory loss. When a variable is declared within a block, Java will ...
user avatar
7 votes

Objects Lab Before Inheritance and Polymorphism

A benefit to OOP often overlooked is encapsulation. The object has data and methods (knows things and does things) that elements outside the object neither have access to, nor even know exists. Only ...
user avatar
6 votes

How to illustrate scope problem when creating variables inside `if` statements in Java

I explain this with a saying: What happens in the block stays in the block Now, this isn't exactly how it works, but the idea is that the students remember that what they create in a block, is ...
user avatar
  • 6,227
6 votes

Command-line Java in AP CS A

Similar to @ncmathsadist, I use both command-line environments and IDEs, and I have only found them enhancing each other. We do most of our work in IDEs, but a few assignments are done in CLIs every ...
user avatar
  • 31.5k
6 votes

Using Oracle's Java Documentation as a Teaching Tool

One obvious benefit, which is really a good goal in and of itself, is that students get used to utilizing documentation. Many students don't use the internet as a resource at all, and those that do ...
user avatar
  • 31.5k
6 votes

Using Oracle's Java Documentation as a Teaching Tool

I will ask some rhetorical questions below - they aren't meant to be snarky. That, of course, depends on the textbook. I would think that the documentation alone would be a terrible idea. Would you ...
user avatar
  • 34.9k
5 votes

Objects Lab Before Inheritance and Polymorphism

After students have explored java's string and math classes I introduce a group project called "Mathey". Each group is to write as many math functions that they can think of and assemble them into ...
user avatar
5 votes

Workflow for Code Submission

Here is my system. I give it top marks for ease of sharing, but one downside is that it does not do any kind of autograding without some scripting on my part. I purchased a paid subscription to ...
user avatar
  • 31.5k
5 votes

How to illustrate scope problem when creating variables inside `if` statements in Java

I teach my students a bit about the stack as part of the very first lesson of the year. As a result, they are aware coming in that primitive variables are stored next to one another in the stack ...
user avatar
  • 31.5k
5 votes

Framework choice for AP CS A students: Swing or JavaFX?

Disclaimer: some do consider this a war like emacs/vim. I don't. I'll quote you on this: "I'm looking for something that allows students to get up and running relatively quickly and easily with ...
user avatar
  • 6,227
5 votes

Using Oracle's Java Documentation as a Teaching Tool

You shouldn't teach from just documentation or just a textbook. You should teach from both. You should also include in-class live coding sessions and general lectures as well. Each of these things is ...
user avatar
5 votes

Why does AP Computer Science A use Java?

Particularly since they have recently removed interfaces and abstract classes, I would say that there are no particularly important philosophical reasons that they are using Java. At this point, it ...
user avatar
  • 31.5k
5 votes

Object Oriented Software Engineering Project

If you're looking for AP Computer Science A-level object stuff, Greenfoot is excellent. It's an OO game-design environment created specifically for teaching about OO. It's free (though there is a ...
user avatar
  • 31.5k
4 votes

Integrating Graph Theory into AP CS A

You may very well have some examples where you can discuss state machines and hence state diagrams, that is, graphs. For example, if you're creating a game with a computer controlled character, that ...
user avatar
4 votes

What does a certification program for CS high school teachers need to include?

The College of St. Scholastica in Minnesota has a Computer Science Education graduate certificate program. It is a four-course sequence designed to add a CS endorsement to a high school teaching ...
user avatar
4 votes
Accepted

What does a certification program for CS high school teachers need to include?

As states in the US consider requirements to add a CS endorsement to a teaching certificate, the proposals vary widely. The changing landscape is described in the April 2017 EDC document State of the ...
user avatar
4 votes

What is a good teaching example/application for jagged arrays (2d arrays with irregular row lengths)?

Hmm, here are a few ideas: Calculating student GPA where the grades are all stored in an array of arrays, and the different semesters have different numbers of courses. Make a lookup table of prime ...
user avatar
  • 31.5k
4 votes

What is a good teaching example/application for jagged arrays (2d arrays with irregular row lengths)?

I would suggest the game KenKen. Although it is played on a square board, one can easily represent the constraints as a ragged array. Represent each constraint as a single line in a file. Each line ...
user avatar
  • 1,113
4 votes

What is a good teaching example/application for jagged arrays (2d arrays with irregular row lengths)?

Transportation: Presuming that your location has some form of public transportation, there will be intersection points where multiple lines meet. Lacking public transit locally, there is still the ...
user avatar
3 votes

How to illustrate scope problem when creating variables inside `if` statements in Java

You should be able to copy/paste block of codes that does not use other variables. But in your examples what if you want to copy/paste that to a code that already declared x? It would not work ...
user avatar
3 votes

How to illustrate scope problem when creating variables inside `if` statements in Java

Java, like C/C++ has block scope. When you create a variable in a block, the stack pointer moves to make room for it. When the block ends, the stack pointer moves back. This makes the variable ...
user avatar
  • 2,279
3 votes

Command-line Java in AP CS A

With respect to APCS-A there won't be a difference. Personally, I'm not overly fond of IDEs or one trick pony environments so I've encouraged our students to use an editor. I'm an Emacs wonk but the ...
user avatar
3 votes

Designing rubrics for AP Computer Science-style free response questions

In the weeks leading up to the test I typically only use the actual past tests for exactly that reason. But even when I don't use the released FRQs I still grade on a 9 point scale so they get used to ...
user avatar
  • 3,029
3 votes

Use of jshell in AP CS A

I have found jshell to be very useful. It can be used to inspect classes quickly and easily. You can import any standard library class. You can also import user-generated classes using the ...
user avatar
  • 2,279
3 votes

Lab Requirement in AP CS A

I looked at them when they first came out and decided not to use them. Did go through and look at the topics and make sure that we're covering everything we need to in class. But between labs that I'...
user avatar
  • 3,029
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 ...
user avatar
  • 2,349
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 ...
user avatar
  • 34.9k
3 votes

What is a good teaching example/application for jagged arrays (2d arrays with irregular row lengths)?

An example which I think could be useful to you, both because it's a "ragged" array and because students are likely to see it again later if you talk about parsing text, is splitting text by line and ...
user avatar
  • 4,754

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