CS21B: advanced programming and larger scale. This is where we really
take advantage of the things we can do with Java, so we cover things
like object-oriented design, class diagrams, interaction diagrams,
more advanced user interfaces like event handling and listener-based
interfaces, files, threads, networking, data structures. We recommend
covering numbering systems in CS21A. CS21B has been working out nicely
because in the end they are forced to write a multiplayer network game
that is graphical and multithreaded, which is pretty advanced for a
first year course. People manage to get somewhere near that.
Shortcoming of CS21B right now is that not everyone gets to that
point, so we actually have to be somewhat lenient with them. There has
to be some work done there in order to strengthen their grasp on the
subject. How do we teach it so that they have a stronger grasp?

Wishlist: plan right now for 21A and B is good. Depth lacking. Need
more understanding after the whole thing. Somehow they're not grasping
it well. Definitely, 21A should be stronger. They should leave 21A
with a strong understanding of how objects work. We're spending too
much time on event handling and user interfaces. Design patterns?

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .

Page: 2003.04.26

Updated: 2004-11-2106:44:1306:44:13-0500

NOTE: ANTI-SPAM MEASURE NOW IN PLACE. Please answer the following question with the right number in order to send me your comment.