Hey, I wrote something similar my Senior year in HS. Learned a ton doing it. Had my friends do level, graphic, and sound design. It was a multiplayer networked shooter but it wasn't anywhere near perfect. Here's the link!
Awesome stuff for an APCS project! If you're interested in porting the game to iOS I'd recommend checking out our website MakeGamesWithUs (https://www.makegameswith.us), we teach people like you who know java how to build games for iPhone. We also have a really cool level hub feature set in our SDK which you might be interested in for this game. It allows users to build / share / play / upvote levels and discover new levels through their feed + top lists. If you're interested, shoot me an email at ashu@makegameswith.us and we can chat more!
I had APCS around the time they were winding down C++ and ramping up Java. We had to implement BigInt, among other things, as part of our project (circa 2000). I believe the next years my friends had the fish simulation.
I wonder how long it'll take College Board to move to a more expressive language like Python or Ruby. The basicness of AP CS (learning loops, recursion, and simple OO) means students don't learn enough about programming for the benefits of Java to be apparent. I knew a lot of classmates who were put off of programming by APCS, not least because of the verbosity and density of Java.
I'd see them moving to something like C# before Python or Ruby, or even perhaps back to C++. (I think the formerly used Pascal is safely dead as an option.) For an indication of what they are most likely to prefer, I'd say look at what the most popular first-language-taught to beginner CS students in college is. There's also a bit more to the basic AP CS (I'm still sad they killed the AB program, which is the one I took) like sorting algorithms and the difference between a static array and an ArrayList...
I think it's the responsibility of the professor and the district to offer a programming class separate from the APCS one, ideally in some other language(s) than Java, rather than trying to make the APCS class into a more "fun" class that's more about programming applications than about CS and understanding how programming actually works. An alternative course also makes for an interesting and knowledge-packed 9th- or 10th-grade computer course that can double as slight preparation for later; having passed Algebra 2 is typically required for APCS and hence most students won't even be allowed to take it until 11th or 12th. (My school had a C++ class, though when I was a senior and TAing I insisted on showing the students Python and PyGame near the end of the year. To my knowledge the professor has continued showing other languages/applications besides the one the class focuses on, once I even did a talk about Clojure to the AP kids while I was in the area visiting family.)
I had many friends curse programming forever. A lot of them went into the class with the dream of CS as a major and leaving and saying they'd never program again. It's a real shame.
I think it's a shame they do java, but for a different reason. Too many kids are now coming up with little idea how the low level stuff works. How can you appreciate something like java and the problems it solves without experiencing what came before it? Moreover it's hard for me to think of anything that's been better for my career than the fact that I taught myself C as a teenager.
14 comments
[ 6.2 ms ] story [ 46.3 ms ] threadEDIT: It'd be really nice if I could reply to hellbanned users, even if only they can see it.
http://www.templeos.org/images/Frosting.jpg http://www.templeos.org/images/CttnTail.jpg
https://github.com/bowmessage/Cantro
http://apcentral.collegeboard.com/apc/members/courses/teache...
I think it's the responsibility of the professor and the district to offer a programming class separate from the APCS one, ideally in some other language(s) than Java, rather than trying to make the APCS class into a more "fun" class that's more about programming applications than about CS and understanding how programming actually works. An alternative course also makes for an interesting and knowledge-packed 9th- or 10th-grade computer course that can double as slight preparation for later; having passed Algebra 2 is typically required for APCS and hence most students won't even be allowed to take it until 11th or 12th. (My school had a C++ class, though when I was a senior and TAing I insisted on showing the students Python and PyGame near the end of the year. To my knowledge the professor has continued showing other languages/applications besides the one the class focuses on, once I even did a talk about Clojure to the AP kids while I was in the area visiting family.)