Sid, Rob, and Jerry's C212 Page
[ C212 Home | resources | email sid | email rob | email jerry ]
Documents
Lab Java Style Guide Guidelines on how to format and compose Java code for C212.
Do's and Don'ts of Java Programming A collection of coding conventions that will make your code more readable, shorter, faster... and most importantly result in fewer red marks on your labs and homework.


Examination Solutions
Midterm Practical The midterm practical exam tested your knowledge of basic class design, arrays, loops, and user input.
Midterm Written The midterm written exam tested your knowledge of basic class design, arrays, loops, exceptions, and algorithms.


Assignment Solutions
Assignment 1:
Simple Java
This assignment introduces Java syntax, primitive types, static methods, and mathematical operations.
Assignment 2:
Simple Objects
This assignment introduces our first control structure, the if/then form, and uses it to manipulate Rectangle and String objects.
Assignment 3:
Simple Classes
This assignment introduces our first objects. A Bag class definition will not be provided here--see us in office hours if you're still having trouble with the Bag class.
Assignment 4:
Classes and Loops
This assignment is the first requiring looping mechanisms, having to do with the parsing of strings.
Assignment 5:
User Input and Arrays
This assignment provided a first opportunity to work with arrays, and introduced bin packing algorithms.
Assignment 6:
More Arrays
Solutions are provided for BestFit, Chore, and PriorityList. This is the last assignment for which we will provide solutions. Please see us in office hours for help fixing future assignments.


Labs & Stuff
Lab 1:
Simple Java
This lab explores the beginnings of Java use including comments, style issues, methods, and arithmetic.
Lab 2:
More Java
This lab explores some more usage of Java including string manipulations, conditionals, and typecasting (temporarily changing a variable's type). A hopeful side-effect of doing this lab will be good knowledge of Sun's online Java JDK documentation.
Lab 3:
Simple Classes
The goal of this lab is to explain the basics of objects and classes, as well as construct a class for a Remote Control object giving it properties (fields) and behavior (methods).
Lab 4:
Classes and Loops
The purpose of this lab is to help you get exposed to looping mechanisms and play around with using them. This will include looping through elements in a string, modifying big numbers and trimming zeros.
Lab 5:
Guesser
The purpose of this lab is to make a guesser that when given a range, will guess what number you are thinking. It explores the use of the main method as well as the command-line java tools.
Lab 6:
Arrays!
The purpose of this lab is to illustrate the purpose and use of arrays in java. It will include metaphors, examples, and other odds and ends.
[Sid's Notes]
Lab 7:
Practice Practical
The purpose of this lab is to prepare you for programming in a timed environment in advance of the March 1 practical exam.
[Solution]
Lab 8:
Selection Sort
In this lab, we implement our first Java sorting algorithm, the ever-powerful selection sort.
[Jerry's Solution]
Lab 9:
Inheritance!
In this lab, we study stuff that has parents and children. The word protected becomes useful, and so does abstraction and encapsulation!
[the beings classes] [Rob's Solution]
Lab 10:
GUIs
Creating GUIS with AWT and Swing!!
[ Helpful files ] [Solution]
Lab 12:
Breakout 2
Week 2 of writing our Breakout clone
In this lab, you get to write a version of breakout where there is a paddle and two balls that bounce around. Fun stuff, let me tell ya. Further, you get to tell the balls to bounce when they hit a paddle and stop when they hit the bottom... what's next?
My Breakout solution isn't perfect, but it's a documented start!
[ Dot Dragger Program ] [ Sid's Breakout2 solution ]


sstamm@indiana.edu
rsignore@indiana.edu
jehagen@indiana.edu