12

We teach AP CS assuming that our students come to us with no prior computing background. Being that the language for AP CS A is Java, we plan our sequencing accordingly. We don't follow the approach of starting with Hello, world. and user input because I think it (main, System.out.println, and Scanner) produces too much of a cognitive load at once . I always ...


7

I once wrote a course to introduce Java. My order of topics was as follows: (Note: Those are not lessons, just the order I've written the topics down). Obligatory Hello World, console output Comments This is something missing in the curriculum you provided. I don't know how important it really is, but I like the idea to introduce comments because I ...


5

If the set of "allowable" topics is set by a ministry, then you have no power to do anything better, but it is misguided. Tinkering around the edges of an inadequate set will have some effect, but not a lot, I'm afraid. The problem is this. Students taught this way will solve math-y problems for quite a while before they see more interesting problems. They ...


5

I would be concerned that there isn't any material on planning. In a course that has the goal of building a strong foundation for students, teaching the process of specifying and planning a solution before implementing it will pay huge dividends. Personally, I am a fan of the course order in Rick Mercer's CS1 Textbook. Chapter 1 is Program Development. It ...


5

I will share two starting points I use for teaching CS topics: 1) CS is about solving problems and developing this skill in students. To that end all of our students take a mandatory class in Computer Science - Intro To Java Programming where the focus is on solving problems using a simple visual robot simulator. In this class students spend much more time ...


4

Pure ordering should be dictated by how you intend to interconnect the ideas. For instance, I use arrays as a motivating example for for loops, so it makes sense to introduce arrays to my students before for statements. Think about segues, motivating examples, and lab assignments, and a sensible order should emerge on its own. Questions of what to include, ...


3

Consider that the best way to teach Java might not be to teach Java (at first). For several programming languages (those that were not designed for pedagogy/teaching), starting with a teaching language or environment, and segueing later to the more arcane/abstract coding syntax, might be the easier path, and leave less students out in the cold (or typing ...


3

If you're an unofficial TA, why are you the one coming up with the curriculum? Anyway, my review is inline: introduction and simple printing of text I wouldn't limit this to printing text. I would frame it as a lesson on calling functions. Printing text is one example. Showing a simple dialog box is another example. Come up with a list of basic functions,...


3

I learned to program by looking at simple program that did things, working out a bit about how they work, and changing them. So I learned a little bit about each topic in some random order as my overall understanding increased. Therefore maybe start with LOGO and the class having some fun with a Turtle moving about the floor, then loops etc can be ...


3

I don't know if I have a solid answer to the main thrust of your question, but I do have some one-off suggestions that may or may not be helpful. First, something you could try integrating into your lessons is some kind of meta-narrative about why proofs are useful in the first place. This seems to be a very common concern from students in the discrete ...


3

I've found a lot of success giving real world (often times very silly) examples of boolean algebra to give them a more intuitive understanding in addition to the pure algebraic laws. An example would be "If it rains tomorrow, I will bring an umbrella so I will stay dry". This is a simple A -> B: If it rains tomorrow then I will bring an umbrella, I will ...


2

A couple of ideas: 1st day Start by getting everybody up and moving. Have people form sets - say, a set of colors, with everybody wearing a different color, or a set of ages - but remind them that they can't have two people representing the same color in the set. Perform different operations with the human sets - intersections, unions, etc. After a couple ...


1

The professional societies publish Curriculum Guidelines simply to guide universities in setting undergraduate curricula. They may be used by anyone, anywhere, but are not, normally, required. Note that the societies are private membership organizations, not official bodies. You can join them if you wish, but there are membership fees, normally less for ...


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