Documente Academic
Documente Profesional
Documente Cultură
Catalog Description:
Course Expectations:
After successful completion of this course, the student should have an:
Textbook:
Starting Out with Java: From Control Structures through Objects (4th Edition), by Tony
Gaddis, Addison Wesley, ISBN: 9780136080206 (3rd edition of this textbook will work as
well).
Download the source code from the CD that came with the textbook, or you can download
it directly from
http://wps.aw.com/aw_gaddis_javacso_4s/113/29029/7431666.cw/index.html. We will
use several of those files in the class.
Step-by-step instructions to download and install JDK and JGRASP have been posted under
Lecture Notes in eLearning. Ignore the specific version #s in the instructions and install the
latest available versions. Alternate option is to install these from the textbook CD.
Course Requirements:
There will be regularly assigned reading and programming assignments. The programming
assignments will require the student to spend time programming in a computer.
Programming assignments will be graded on a 100 point basis, utilizing the following
criteria:
Max Score
Formatting 10%
Naming 10%
Capitalization 10%
Special cases 5%
Total 100%
All exams are open book and open notes, but laptop or electronic devices are NOT allowed.
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 with the instructor prior to the originally scheduled exam date.
Class attendance is not recorded except for exam dates and times. However, 5-10 quizzes
will be given on randomly selected days. Those quizzes will typically test your
understanding of course materials covered recently & 15% of the final grade will be
determined by your performance in those quizzes. Make-up quizzes will not be given for
absentees, however one quiz with the lowest score will be dropped from consideration
when computing the final grade.
I encourage everyone to submit the assignments 1 or 2 days early. Do not wait until the
last minute to submit it. But I do understand things happen and occasionally you may not
be able to submit assignments on time. My policy is to assess 1% penalty for every 2
hours. For example, if you submit the assignment exactly 1 day later, 12% penalty will be
assessed. Late assignments will be accepted up to 4 days. You won't be able to submit it
after 4 days and your assignment grade will be set to 0. Only exception to this late policy
is serious medical condition, for which you will need to submit proof of doctor certificate.
Please do not send emails requesting for extension or penalty waiver. In case there are
any problems with assignment submission in e-learning, you can email the assignment to
TA inside e-learning. In case of e-learning system outage, you will be given grace period to
submit it.
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.
However, there is only one extra credit item in this course: Active participation in the class.
When computing the final grade towards the end of the course, instructor may assign upto
5% additional credit based on your active role in the classroom.
There will be no TA for this class. CS dept will assign a grader to grade the assignments.
However, CS department does provide tutoring services for all fundamental programming
courses including this one. Your instructor will post the details in e-learning as soon as
tutoring schedule is setup. Additionally, each student in the class is encouraged to
join/form a study group to prepare for exams, exchange ideas, clarify concepts and discuss
assignments in high level, but do not ask others to code for you or copy other’s programs.
In addition to breaking UTD academic integrity policies, it is likely that such students will
perform badly in quizzes without that coding experience.
Grader is responsible for grading only the programming assignments. Instructor is
responsible for grading all the exams and quizzes. So, contact the grader directly for any
grading related discrepancies for programs. If you cannot resolve it with grader, bring it to
instructor's attention.
In addition to meeting the instructor before or after the class, you can also visit the
instructor during respective office hours. You can call instructor's office phone during office
hours as well. However, be prepared to hold and wait if the instructor is busy with another
student in the office. Additionally, you are welcome to email the instructor or grader within
e-learning. This is preferred approach specifically if you run into project related issues &
you need help to progress. In such scenarios, in addition to problem description &
applicable error messages, zip all your source files and include it with your email too, so
that we can help you efficiently. I plan on checking e-learning emails at least twice a day
including the weekends. If you do not hear from me within a day or if you have an urgent
issue, email me directly to my UTD email address.
Quizzes 15% average of quiz scores will be used, but 1 lowest score will be
dropped before computing the average.
Final exam 25% covers Chapters 9 - 15, but it will use lot of concepts from earlier
concepts, effectively making it a comprehensive final exam.
Below 60 F
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.
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 Input3.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 team's 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: Students should 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. Then,
the user should be able to register the students for classes, select a class & display the
roster, and select a student & display his/her class list.
Purpose: Demonstrate the ability to write a simple GUI based game in Java.
Assignment: Instructor will provide partial code for a game & provide additional
requirements. You should design and complete coding and make it work.
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 grievance procedures, incomplete grades, access to
Disability Services, and religious holy days. You may also seek further information at
these websites:
· http://www.utdallas.edu/BusinessAffairs/Travel_Risk_Activities.htm
· http://www.utdallas.edu/judicialaffairs/index.html
· http://www.utsystem.edu/ogc/intellectualproperty/copypol2.htm
· http://www.utdallas.edu/disability/documentation/index.html
These descriptions and timelines are subject to change at the discretion of the
Professor. Review the updates within e-learning.