Weeks 1 and 2: January 26 through February 2, 2012.
Please purchase a copy of the Class Reader (Part I) from the Engineering Copy Center.
Cost: $25.00.
I have decided to partition the homework into three lavels. You decide what level you fit into -- hand in solutions to four problems.
Absolute Java Novice. i.e., I have never written a Java program before?
Solve Problems: 7.2, 7.5, 7.16 and 7.23 in the class reader.
Java Rusty. i.e., I took a Java class several years ago.
Solve Problems: 7.16, 7.17, 7.18 and 7.23 in the class reader.
Java Knowledgeable. i.e., Yeah, I have written a bunch of Java programs...
Solve the same problems as "Java Rusty" but do it in Python.
Click here to download a short pdf file for the homework.
Note.
I encountered problem 7.23 in a high school math competition and no hints were given.
For each problem hand in your source code and scripts of input/output
demonstrating your program's capabilities.
Week 3: February 7 and 9, 2012.
Week 4: February 14 and 16, 2012.
The purpose of this assigment is learn how to write programs that use classes and objects -- hand in solutions to four problems, coded in either Java or Python.
Programming in Java.
Solve Problems: 8.1, 8.2, 8.4 and 8.7 in the class reader. Problem 8.4 refers to the "rainfall analysis program" -- see Problem 7.21 on page 198 of the class reader for details.
Programming in Python.
Solve Problems: 8.1, 8.2, 8.4 and 8.7 in the class reader, but code your solutions in python and/or jython. For problem 8.4, your jython code should call the java version of DataArray.java and then use PtPlot to create a histogram of rainfall measurements. For problem 8.7, use the pythons complex data type -- I assume that the solution will be really short!
Week 5: February 21 and 23, 2012.
Week 6: February 28 and March 1, 2012.
This homework will give you some practice at designing and implementing relationships among classes for a program that requires a handful of classes.
Click here to download a short set of slides on relationships among classes: association, aggregation and inheritance. On slide numbers 47 and 48 you will find a class diagram and scenario for the operation of games in a small casino.
Develop a set of Java (or Python) class relationships to refect the structure shown in slide 47. Try to use abstract classes and interfaces where you think that it makes sense.
Note. You do not need to write code for what each method would do -- just provide the method declarations and perhaps a simple print message.
Week 7: March 6 and 8, 2012.
Week 8: March 13 and 15, 2012.
Week 9: March 20 and 22, 2012.
Week 10: March 27 and 29, 2012.
Week 11: April 3 and 5, 2012.
Week 12: April 10 and 12, 2012.
Week 13: April 17 and 19, 2012.
Week 15: May 1 and 3, 2012.
Write a 5-15 page report on your project that includes:
Hand in the project report and a zip file of your code.
Due date: Tuesday, May 15.
Final Exam. May 17, 4-6 pm in our regular classroom.
The final exam will be open book and open notes,
and will have the same style as the midterm exam.
Last Modified: May 3, 2012,
Copyright © 2012, Institute for Systems Research, University of Maryland.