Professional Documents
Culture Documents
Course Syllabus
Special Message or Changes: TA information is now given below. Check this page frequently for
possible changes in test dates, programming due dates, etc.
Credit Hours: 3
E-Mail: tfarage@utdallas.edu
Office Hours:
E-Mail: ryan.zeigler@student.utdallas.edu
E-Mail: axb081100@utdallas.edu
Prequisites:
None.
NetBeans 6.1 is used although you are welcome to use and IDE that you wish. For detailed
instructions on installing NetBeans 6.1, click here.
Testing Policy: Tests are open book and open notes, but no computers, calculators or other electronics
are allowed.
Course Objectives:
After successful completion of this course, the student should have an:
Textbook:
Starting Out with Java, From Control Structures through Objects, Third Edition, by Tony Gaddis,
Addison Wesley
Programming Assignments
There will be regularly assigned reading and homework problems. The homework problems will
require the student to spend time programming a computer.
All programming assignments are to be turned in using WebCT. Login to your WebCT account, click on
the link for this course. On the left side, click on the link for ‘Assignments’, and then click on the
desired Program link. In the ‘Add Comment’ section , put your name, the course name, section, and
date, as well as the platform (e.g. NetBeans) that you used. Then click on 'Add Attachments', and
then 'My Computer', and then browse until you locate your Java program. Click on it and it should
upload to WebCT. Then click 'Submit' and that should do it. If for some reason this does not work, you
can email me your program, but it must be done before the due date and time.
Programming assignments will be graded on a 100 point basis. Correct execution, program design,
coding style, documentation, and comments all contribute toward your grade. Keep in mind that you
always want to write code that is easy to understand and is also easy to maintain. Fewer lines does
not necessarily mean a better program. Please use comments liberally.
Keep in mind that you always want to write code that is easy to understand and is also easy to
maintain.
Late assignments will not be accepted and are due at 11:59pm on the due date given in this
syllabus.
Program # 1
Purpose: Demonstrate the ability to create and execute a Java program utilizing basic, elementary
Java statements.
Assignment: Write a program that calculates a car’s gas mileage. Accept from the keyboard the
number of gallons consumed on the trip, the starting mileage for the trip and the ending mileage for
the trip. Calculate the miles per gallon and print all the data in a clear format on the screen.
Program # 2
Purpose: Demonstrate the ability to create and execute a Java program utilizing the if/else control
statement.
Assignment: Write a program that comments upon the temperature outside. It should first ask what
the temperature is in degrees Fahrenheit. If the temperature entered is less than -100 degrees or
greater than 150, display an appropriate error message and terminate. Otherwise, if the temperature
is 10 or less, your program should display the message, "It's really, really cold out. Let’s go play
WII". If the temperature is over 10 but no more than 32, your program should display the message,
"Stop playing with the computer, and go make a snowman." If the temperature is over 32 but no
more than 60, your program should display the message, "Hey! My Igloo is melting.". If the
temperature is over 60 but no more than 80, your program should display the message, "It’s a
beautiful day in the neighborhood.” And finally, if the temperature over 80, your program should
display the message, "It’s really hot out here. I’m sure human-caused global warming is the culprit. I
must stop driving my car so much so that Al Gore can fly around the country and tell us to decrease
our carbon footprint.”
Program # 3
Purpose: Demonstrate the ability to create and execute a Java program using moderately complex
control structures.
Assignment: Write a program that creates a loan amortization table. The user of the program will
supply values for Initial Loan Principal, Annual Percentage Rate and Monthly Payment. The program
should print out the appropriate amortization table. The table should have headings for the month
number, the monthly payment, monthly interest amount, monthly principal, remaining principal, and
total interest paid so far. The program will run starting at month 1 until finally the remaining principle
is less than the monthly payment. Then the next month will be the last month and the payment may
be different that what it has been.
For example, suppose that the user inputs the Initial Loan Principal to be $5000, the Annual
Percentage Rate to be 12% and Monthly Payment to be $300. Then the first 3 rows of the table would
be:
Month Payment Interest Principal Remaining Principle Total Interest Paid So Far
As mentioned above, your program will continue to compute new rows until the Remaining Principle is
less than the Monthly Payment. At that point the values for the last row are computed and displayed.
Note that your program should work for any valid values input by the user.
Program # 4
Program # 5
Purpose: Demonstrate the ability to create and use Java files and arrays.
Assignment: First, you should use Notepad (or any other text editor) to create a file ahead of time.
The file should have 6 double values on separate lines. These values represent the earnings of a
person for each of the first 6 months in a year; thus each double value will have exactly two places to
the right of the decimal. Name this file, "C:\\earnings.txt".
Your program should open and then read the 6 double values from this file
into an array named 'earnings'. Use a 'for' loop to do this.
Then use another 'for' loop to display the earnings as they were in the file.
After this, sort the array using Java's Arrays.sort( ) method,
and then display the earnings in sorted order.
Finally, compute and display the average of the earnings.
For example, suppose that you created the file, "C:\\earnings.txt" and that the contents of the file are:
1012.30
1400.71
1250.78
5000.40
3050.70
2134.88
1012.30
1400.71
1250.78
5000.40
3050.70
2134.88
1012.30
1250.78
1400.71
2134.88
3050.70
5000.40
1 August 26 Chapter 1
2 August 28 Chapter 1
3 September 2 Chapter 2
4 September 4 Chapter 2
5 September 9 Chapter 2
6 September 11 Chapter 2
8 September 18 Chapter 3
9 September 23 Chapter 3
13 October 7 Chapter 4
14 October 9 Chapter 4
15 October 14 Chapter 4
16 October 16 Chapter 4
17 October 21 Chapter 4
20 October 30 Chapter 5
21 November 4 Chapter 5
22 November 6 Chapter 5
24 November 13 Chapter 8
25 November 18 Chapter 8
26 November 20 Chapter 8
27 November 25 Chapter 8
28 December 2 Chapter 8
Your grade will be based only on your test scores. PLEASE do not ask me to change your grade or give
you a grade for any other reason. I know that some of you will lose scholarships, be deported, etc. if
you do not make a certain grade; there is nothing I can do about this. Of course, if a mistake was
made in scoring, I will correct it. Any requests for changes to scores must be made within 30 days
after the day the graded material was returned to the class. Any request for a grade change must be
made within 60 days after the day that grades were posted.
No extra work will be assigned nor will extra credit be given for any extra work performed by a student.
Class attendance is not recorded or required except for exam dates and times. There is a direct
correlation between class attendance and class performance. Those students who regularly attend
class tend to make significantly higher final grades than those who don’t.
Students are expected to be respectful to each other and to the course instructor. Disruptive behavior
in the class room is not tolerated.
Each student in the class is encouraged to join/form a study group. Members of each study should
support one another in learning and understanding the course material.
Projects and exams determine grades. All exams are open book and open notes. The final grade will
be composed as follows:
Exam 3 25%
Letter grades will be assigned as follows: (I reserve the right to make the scale easier than
given here).
98-100 A+
92-97 A
90-91 A-
88-89 B+
82-87 B
80-81 B-
78-79 C+
72-77 C
70-71 C-
68-69 D+
62-67 D
60-61 D-
Below 60 F.