Documente Academic
Documente Profesional
Documente Cultură
Prequisites:
Catalog Description:
Course Expectations:
After successful completion of this course, the student should have an:
Textbook:
Assignments:
Program #1
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 including the number of Monthly Payments and the Total Interest
paid for the life of the loan. The program should allow multiple runs (up to 4 different versions) of the
table process and should allow the user to compare runs in a tabular format.
Program #2
Purpose: Demonstrate the ability to create and execute a JAVA program that utilizes complex data
structures to solve a daily life problem.
Assignment: Write a program that will accept ten (or more) names (first and last names) and associated
birth-date. Your program should ask the user for how many people s/he wants to enter and then read the
names (first and last) and the corresponding birth-date. The birth-date must be entered in the following
format: MM/DD/YYYY. Your program should then use a menu that allows the user to display, search and
exit. Display should display the list of the entries, sorted by last name, first name, or birth-date. Search
should search for a specific entry by a specific field (last name, first name or birth-date). Exit should
terminate the program when the user selects exit from the menu.
Program #3
Purpose: Demonstrate the ability to create and execute a JAVA program that creates a multi-class
relationship among classes.
Player Class: The Player Class consists of at least two elements -- the player name and a list of scores for
games. The score attribute is not used in Program #3 but will be needed in Program #4. Include in the
class appropriate accessor and mutator methods for each element in the class. You may have other
attributes if needed.
Team Class: The Team class consists of at least 6 elements -- the name of the team and five players from
the Player class. Include in the class appropriate accessor and mutator methods for each element in the
class. You may have other attributes if needed.
Input3 class: The Input3 class is provided for you. The Input3 class supplies data for your program. The
Input3 class has a public method called getNextString, which returns a string with the input for your
program, one after the other. You must use this class to get the data for your program. See Input3.java
on eLearning to understand the class construction.
Your program should display the roster of each team in alphabetical order by last name.
Program #4
Purpose: Demonstrate the ability to create and execute a JAVA program that creates a multi-class
relationship among classes.
Game Class: The Game Class consists of at least 3 elements – the names of two teams and an integer
number which identifies the game. Include in the class appropriate methods to show the output requested
below. You may have other attributes if needed.
Input4 class: The Input4 class is provided for you. The Input4 class supplies data for your program. The
Input4 class has a public method called getNextString, which returns a string with the input for your
program, one after the other. You must use this class to get the data for your program. See Input4.java
on eLearning to understand the class construction.
Display the roster of each team in alphabetical order by last name with the average score of each player
for the season.
Display the average score for the season against each of the two opponent teams.
Program #5
Assignment: Write a program that simulates a box fan. The box fan should have a speed control
mechanism for OFF, HIGH, MEDIUM, and LOW speeds. The fan blades should rotate at whatever speed
has been selected by the user. The fan should allow changing the fan state without terminating the
program.
Program #6
Assignment: Form a three to four member programming team from students in your class. Write a
program to register students for a college. Students have names, addresses and courses. Implement the
interface class RegisterStudent. RegisterStudent has one method, register, which returns the Boolean
value of true or false if the student is successfully registered for the course. Graduate students can only
register for 5000 or 6000 level courses with a maximum course load of 6 credit hours while undergraduate
students can only register for 1000, 2000, 3000 or 4000 level courses with a maximum course load of 12
credit hours. Courses have a course number, credit hours and a minimum and maximum enrollment. The
system should graphically display a sorted list of registered courses for a student and a roster for each
current course with the names of the students enrolled in sorted order. Demonstrate the correct
operation of your program by creating a driver program to load the student data base and the course data
base from data your group has created. The grader can then select students and courses for each student
and display the reports.
Academic Calendar:
Course Requirements:
There will be regularly assigned reading and homework problems. The homework problems will require
the student to spend time programming a computer.
Max Score
Partitioning 5%
Organization 5%
Source Code
Program Design
Efficiency 5%
Coupling 5%
Comments 10%
Formatting 5%
Coding Style Naming 5%
Capitalization 5%
No crashes 5%
Execution
Keep in mind that you always want to write code that is easy to understand and is also easy to maintain.
Points Criteria
5 Partitioning: Is the required functionality spread logically across multiple methods (or classes)?
5 Organization: Is the overall program flow easy to follow? Is it easy for an outsider to figure out
how your software works?
5 Efficiency: Do the individual methods accomplish their given tasks as efficiently as possible? Are
unnecessary variables, loops, methods, and classes eliminated?
5 Coupling: Are methods (and classes) “loosely coupled”? Does each method only receive the data
it needs in order to accomplish its task? Are the “public” methods and variables appropriately
so? Is information as hidden as possible?
Comments: 10%
Every file should have a header that includes your name, CS1335.001, & the homework number.
Every class should have an extensive header comment explaining the purpose of the class.
Every method should have comments explaining what it does, what its parameters are, and what
values it returns.
Significant variables and sections of code should have comments explaining their purpose. Avoid
meaningless comments like “Declare the variables” or “This code adds one to the variable”.
Points Criteria
5 Formatting: Is code properly indented to indicate blocks?
Execution: (45%)
This section has to do with how well your program runs. If your program does not compile, please be
aware that you may get no credit in this section.
Points Criteria
5 No crashes: Does the program actually run all the way through the simplest possible test case
without crashing?
5 Error Detection & Recovery: Does the program react well (does not crash) to unexpected or
inconsistent events or input? Are exceptions handled appropriately?
5 Efficiency: Does the program finish executing in a reasonable amount of time?
Points Criteria
25 Nominal cases: Does the software correctly fulfill the requirements of the assignment for the
“expected” test cases?
5 Special cases: Does the software correctly handle unusual but legal test cases? Example: square
root of a negative number, interest payment higher than loan payment
For programming assignments that seem arbitrarily restricted (“your program must save 4 runs”, “your
program must accept up to 10 names”), points will be not taken off as long as your program meets at
least those requirements. You may exceed them without penalty.
Documentation (10%)
All assignments must be submitted with documentation. At a minimum, this should include an algorithm
report and a UML class diagram if you have more than a few classes.
You should describe the overall flow of your program at least at a high level. If there are any parts of the
program that are unusually complex, you should specify those parts in detail, using pseudocode or a
flowchart.
All make-up exams are scheduled during the week following the actual exam date at the discretion of the
instructor. Make-up exams are only given to those students who coordinate the missing of an exam prior
to the originally scheduled exam date and time.
Course credit is only given for work assigned in the course schedule. No extra work will be assigned nor
will extra credit be given for any extra work performed by a student.
Assignments are due at midnight on the day listed in the syllabus. Even if you cannot complete a project
in timely manner, you are encouraged to submit the partial version on time to get maximum possible
partial credit. If you are able to complete your assignment fully within a day beyond the deadline, you are
encouraged to submit it again – it will be considered for additional points at the discretion of the
instructor.
Each student in the class is encouraged to join/form a study group. Members of each study group should
support one another in learning and understanding the course material.
Quizzes: 10%
Projects: 40%
Exam1: 15%
Exam2: 15%
Exam3: 20%
All exams are open book and open notes, but no laptop or electronic devices are allowed.
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
The University of Texas at Dallas provides a number of policies and procedures designed to provide
students with a safe and supportive learning environment. Brief summaries of the policies and procedures
are provided for you at http://provost.utdallas.edu/home/index.php/syllabus-policies-and-procedures-text
and include information about technical support, field trip policies, off-campus activities, student conduct
and discipline, academic integrity, copyright infringement, email use, withdrawal from class, student
These descriptions and timelines are subject to change at the discretion of the Professor.
You can see the updates in eLearning.