Showing posts with label apcs2012. Show all posts
Showing posts with label apcs2012. Show all posts

Saturday, May 25, 2013

Teaching APCS: LACS2013 Complete!



Teaching APCS: LACS2013 Complete!

Fare thee well, my Seniors, you will be missed!





We started our final project last week: "Life After Computer Science 2013." We're using the StdDraw.java class from Princeton CS 101 to do some graphics. I want to develop some new graphics based projects to use through out the year next year.

My Summer Project will include finishing some more of these lessons for next year! Stay tuned...

Our Own Graphing Calculator (TI-83):
FuntionMode.java
Parametric Mode.java
PolarMode.java















Some Animation (like VPython):
Ball.java (animation, loops and/or arrays)
Ballistics.java (physics - animated parametrics)
PlanetOrbits.java (nbody problems)
Hanoi.java (Towers)





Our Own Turtle Class (Turtle Python):
Turtle.java
RandomWalk.java (Brownian Motion)
N-agon.java (Geometry)
Tree.java (Recursion)
Koch.java (Recursion)
L-Systems.java (Strings)

XTRAS:
GameOFLife.java (Conway's 2D Automata)
Mandelbrot.java (Fractals)
Julia.java (Fractals)
IFS.java (Systems)

myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, May 18, 2013

Teaching AP Computer Science: AP Week II


Teaching AP Computer Science: AP Week II

OK, this week was a bit crazy! The beginning of the week started fine with our AP Gaming Tournament well under way. 

Wednesday we started getting networking and printing issues. These issues got worse and worse all week. 

Hopefully, the network will be fixed for next week when we start our final project. We're using the class StdDraw.java to do some graphics. I want to develop some new graphics based projects to use through out the year next year.

Our Own Graphing Calculator:
FuntionMode.java
Parametric Mode.java
PolarMode.java
DiffEquMode.java

Some Animation:
BallRunner.java
Ball.java
Ballistics.java

Our Own Turtle Class:
Turtle.java
RandomWalk.java
N-agon.java
Dragon.java
Koch.java
L-Systems.java

Miscellaneous:
Life.java (Conway 2D)
Orbits.java (2,3,nbody problems)
Mandelbrot.java (Fractal)
Madness.java (Miller's)
IFS.java (Iterated Fractal Systems)
Hanoi.java (Towers)

ScreenCasts, SmartNotes and Code!


myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, May 11, 2013

Teaching AP Computer Science: AP Week I

Teaching AP Computer Science: AP Week I

OK, this week was a bit of a whirlwind:
MON: Last minute review of Practice AP
TUES: AP Exam
WED: Game Day, BZFlag!
THURS: Game Day, BZFlag!!
FRI: Game Day, BZFLAG!!! 



Sorry, no ScreenCasts or Code this week!

myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, May 4, 2013

Teaching AP Computer Science: AP Review!

Teaching AP Computer Science: AP Review!

We spent the last few weeks on AP Review. I assigned Chapter 19 "Searching and Sorting" for homework. I sent the video "Sorting Out Sorting" home on Edmodo. We did most of GridWorld Part IV and the Critter class. We focused on Part II reviews in class and Part I reviews for Take Home Tests.

Sorry, no ScreenCasts or Code this week!

myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, April 13, 2013

Teaching AP Computer Science: Continuing Chapter 18, Recursion!



Teaching AP Computer Science: Continuing Chapter 18, Recursion! 

This week we started Recursion. We are overriding the Math class by writing our own Math.java static class! We started by overloading the pow() method:

public static int pow(int base, int exp),
public static int pow(double base, int exp),
public static int pow(double base, double exp).

That way we can test each method separately. We want to compare interation to recursion to the standard Math.pow() method. So, the first pow() uses a product for loop. The second pow() uses recursion based on the fact that base^exp=base*base^(exp-1). The last pow() method with use log() and exp(). My students will be in for a rude awakening when they try to use Math.log() and Math.exp() from the standard java.lang.Math class....

Then we added:
public static int fact(int n)
public static int fib(int n)
public static int pascal(int n, int r)

We have a Take Home due this Monday on recursive methods. We will follow recursion with GridWorld Part IV and AP Review! BTW, Chapter 19 on Searching and Sorting Algorithms will be sent home as a reading assignment. Searching and Sorting isn't a big topic on the AP Computer Science exam anymore and we need time for AP Review.

Here's our ScreenCasts and Code for this last week:

 





myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, April 6, 2013

Teaching AP Computer Science: Starting Chapter 18, Recursion!


Teaching AP Computer Science: Starting Chapter 18, Recursion! 

This post covers the week before April Break (3/18/13-3/22/13) and the week after (4/1/13-4/5/13). The first week we finished Chess960 and started a tournament. This week we finished the tournament and started Recursion. We are overriding the Math class by writing our own Math.java static class! We started by overloading the pow() method:

public static int pow(int base, int exp),
public static int pow(double base, int exp),
public static int pow(double base, double exp).

That way we can test each method separately. We want to compare interation to recursion to the standard Math.pow() method. So, the first pow() uses a product for loop. The second pow() uses recursion based on the fact that base^exp=base*base^(exp-1). The last pow() method with use log() and exp(). My students will be in for a rude awakening when they try to use Math.log() and Math.exp() from the standard java.lang.Math class....


We have a Take Home due this Monday on the Comparable Interface. We will follow recursion with GridWorld Part IV and AP Review! BTW, Chapter 19 on Searching and Sorting Algorithms will be sent home as a reading assignment. Searching and Sorting isn't a big topic on the AP Computer Science exam anymore and we need time for AP Review.

Here's our ScreenCasts and Code for this last week:










myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, March 16, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We are still writing Chess960.java to generate random chess boards and record chess games with a mix of for each loops, while loops, static arrays and ArrayLists as well a 1D and 2D arrays! Version 1 will generate one board using the Random class and String[8]. Version 2 will add an ArrayList of String[8] to Randomly generate all 960 combinations. Then, Version 3 will use String [8][8] to play a game!

We finished Chess960V1 and started Chess960V2 this week. V2 uses an ArrayList to keep track of all the boards generated so far to avoid repetition. So that's a 2D data structure: an ArrayList with 960 String[8]!

After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

I think we'll continue Take Home Tuesdays from now until AP Week! We are now ready for Take Home #5 as we are good at loops and arrays. 

Here's our ScreenCasts and Code for this last week:

 
 
 
 


myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Friday, March 8, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!




Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We finished the Roman and Polygon classes emphasizing for loops and ArrayLists to find the area of polygons based on vector cross products. We also did a lot with overriding equals() and toString from the Object class as well as implementing the Comparable interface. We did a lot with inheritance in GridWorld. We haven't done much with interfaces and polymorphism as of yet. Now, we are writing Chess960.java to generate random chess boards and record chess games with a mix of for each loops, while loops, static arrays and ArrayLists as well a 1D and 2D arrays! Version 1 will generate one board using the Random class and String[8]. Version 2 will add an ArrayList of String[8] to Randomly generate all 960 combinations. Then, Version 3 will use String [8][8] to play game!

We finished Chess960V1 and started Chess960V2 this week. V2 uses an ArrayList to keep track of all the boards generated so far to avoid repetition. So that's a 2D data structure: an ArrayList with 960 String[8]!

After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

I think we'll continue Take Home Tuesdays from now until AP Week! We are now ready for Take Home #5 as we are good at loops and arrays. 

Here's our ScreenCasts and Code for this last week:







myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Sunday, March 3, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!



Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We finished the Roman and Polygon classes emphasizing for loops and ArrayLists to find the area of polygons based on vector cross products. We also did a lot with overriding equals() and toString from the Object class as well as implementing the Comparable interface. We did a lot with inheritance in GridWorld. We haven't done much with interfaces and polymorphism as of yet. Now, we are writing Chess960.java to generate random chess boards and record chess games with a mix of for each loops, while loops, static arrays and ArrayLists as well a 1D and 2D arrays! Version 1 will generate one board using the Random class and String[8]. Version 2 will add an ArrayList of String[8] to Randomly generate all 960 combinations. Then, Version 3 will use String [8][8] to play game!

After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

I think we'll continue Take Home Tuesdays from now until AP Week! We are now ready for Take Home #5 as we are good at loops and arrays. 

Here's our ScreenCasts and Code for this last week:













myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Friday, February 22, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!


Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We're finished the Polygon class using the ShowLace algorithm, for loops and ArrayLists to find the area of polygons based on vector cross products. Next, we'll write Chess960.java to generate random chess boards and record chess games with a mix of for each loops, while loops, static arrays and ArrayLists as well a 1D and 2D arrays!


After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on inheritance and polymorphism, then recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

I think it's time to start Take Home Tuesdays again! We are now ready for Take Home #4 as we are good a loops and arrays. 

Here's our ScreenCasts and Code for this last week:










myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Saturday, February 16, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!






Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We're working on the Polygon class using the ShowLace algorithm, for each loops and ArrayLists to find the area of polygons based on vector cross products. Next, we'll write Chess960.java to generate random chess boards and record chess games with a mix of static arrays and ArrayLists as well a 1D and 2D arrays!



After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on inheritance and polymorphism, then recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

I think it's time to start Take Home Tuesdays again! We are now ready for Take Home #4 as we are good a loops and arrays. 

Here's our ScreenCasts and Code for this last week:


















myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology, 

Friday, February 8, 2013

Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays!





Teaching AP Computer Science: Continuing CH7+8 Loops and Arrays! 

We're working on the Polygon class using the ShowLace algorithm, for each loops and ArrayLists to find the area of polygons based on vector cross products. Next, we'll write Chess960.java to generate random chess boards and record chess games with a mix of static arrays and ArrayLists as well a 1D and 2D arrays!

After all that, I think we'll go back to GridWorld Part IV. We'll also do some chapters on inheritance and polymorphism, then recursion, static classes and, finally, searching and sorting. Don't forget, we covered chapters 1-5 thoroughly before even starting GridWorld Parts I-III.

We are postponing Take Home Tuesdays. We are not ready for Take Home #4 as yet since its about iteration and loops. 

Here's our ScreenCasts and Code for this last week:

myPasteBin code for APCS2012
myProgramr code for APCS2012

Well, that's all folks!
Teaching with Technology,