Sunteți pe pagina 1din 8

Spring 2011 Course Syllabus

Course Number & Title: CS 1335.001 Computer Science I (non-majors)


Time & Location: TTh 8:30am-9:45am ECSS 2.410
Instructor: Dr. Jey Veerasamy
Office: ECSS 3.231
Office Phone: 972-883-4241 (you can call me during office hours)
E-Mail: jeyv@utdallas.edu (emails within elearning are preferred)
Web Site: www.utdallas.edu/~jeyv

Office Hours: Tuesdays & Thursdays 9:45am - 11:15am


Additional hours by appointment.

TA: Sundarajan Srinivasan


Office: ECSS 2.104.A1 (Within Open Access lab opposite of our classroom)
Office hours: Mondays & Wednesdays 10am - 12 noon
Email: Use elearning email (select "All Teaching Assistants")

Prerequisites: CS 1336 or equivalent programming experience. (3-0) S

Catalog Description:

CS 1335 - Computer Science I for Non-Majors (3 semester hours) Introduction to


object-oriented software analysis, design, and development. Classes and objects. Object
composition and polymorphism. Sorting and searching. Strings using core classes.
Inheritance and interfaces. Graphical User Interfaces. This class cannot be used to fulfill
degree requirements for majors in the School of Engineering and Computer Science.
Computer Science and Engineering majors may NOT take this course. Students who have
taken CS 1337 cannot receive credit for this course. Prerequisite: CS 1336 with a grade of
C or better or equivalent. (3-0) S

Course Expectations:

After successful completion of this course, the student should have an:

1. Ability to develop object oriented software solutions


2. Ability to express multi-class relationships among objects
3. Ability to implement graphical user interfaces
4. Ability to develop event driven programs
5. Ability to implement algorithms to search and sort objects
6. Ability to develop recursive programs

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).

Academic Calendar (Look for updates in elearning):

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.

Class Date Class Activity Assignment

1 Tuesday, January 11 Review of Syllabus Self-assessment

2 Thursday, January Java Fundamentals: Basics Read Chapter 1 and 2


13

3 Tuesday, January 18 Java Fundamentals: Decision Read Chapter 3 and 4


structures Program 1 start
and Loops

4 Thursday, January Java Fundamentals: Methods Read Chapter 5


20

Tuesday, January 25 Classes Read Chapter 6

5 Thursday, January Classes ... Program 1 due


27

6 Tuesday, February 1 Text Processing Read Chapter 10

7 Thursday, February Text Processing ...


3

8 Tuesday, February 8 Arrays Read Chapter 8

9 Thursday, February Arrays ... Program 2 start


10 Program 3 start

10 Tuesday, February GUI Applications Read Chapter 7


15

11 Thursday, February GUI Applications ...


17

12 Tuesday, February Mid-term Exam Review Program 2 due


22

13 Thursday, February Mid-term Exam – Ch 1-8


24

14 Tuesday, March 1 Classes and Objects Read Chapter 9

15 Thursday, March 3 Classes and Objects ... Program 3 due


Program 4 start

16 Tuesday, March 8 Inheritance Read Chapter 11


Mid-term grades (online) Form Program 6
teams

17 Thursday, March 10 Inheritance ...

Tuesday, March 15 Spring Break, no class

Thursday, March 17 Spring Break, no class

18 Tuesday, March 22 Advanced GUI Read Chapter 13

19 Thursday, March 24 Advanced GUI ... Program 4 due


Program 6 start

20 Tuesday, March 29 Applets Read Chapter 14

21 Thursday, March 31 Applets ... Program 5 start

22 Tuesday, April 5 Recursion Read Chapter 15

23 Thursday, April 7 Program 6 Group Meetings Program 7 start

24 Tuesday, April 12 Recursion ...

25 Thursday, April 14 Program 6 Group Meetings Program 5 due

26 Tuesday, April 19 Exceptions Read Chapter 12

27 Thursday, April 21 Program 6 Group Meetings

28 Tuesday, April 26 Exceptions ... Program 6 due

29 Thursday, April 28 Final Exam Review,


final day of class

Tuesday, May 3 Reading day, no class

Thursday, May 5 No class Program 7 due

30 Tuesday, May 10 Final exam @ 8am – Chapters 9


@ 8am - 15

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

Source Code Overall design 40%

Formatting 10%

Naming 10%
Capitalization 10%

Execution Nominal cases 25%

Special cases 5%

Total 100%

Programming assignments should be turned in by means of eLearning. You need to submit


only .java files for individual assignments. For program 6, in addition to the source code,
you need to include a document/PowerPoint presentation with UML diagrams for all the
classes as well (10% for documentation, 60% for Source Code and 30% for execution).

Course & Instructor Policies:

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.

The final grade will be computed as follows:

Quizzes 15% average of quiz scores will be used, but 1 lowest score will be
dropped before computing the average.

Projects 35% 7 assignments contributing 5% each

Mid-term 25% covers Chapters 1 - 8


exam

Final exam 25% covers Chapters 9 - 15, but it will use lot of concepts from earlier
concepts, effectively making it a comprehensive final exam.

Letter grades will be assigned as follows:

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

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.

Assignment: Write a program that consists of the classes listed below.

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.

Assignment: Enhance Program #3 to include the Game class listed below.

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.

Your program should display the following information:

For each game:

Display the final score for the game.


Display the name of the highest scoring player(s) in the game, the score and the name of
his team.

For each team:

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

Purpose: Demonstrate the ability to utilize graphical interfaces in Java

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

Purpose: Demonstrate the ability to write a complex Java application.

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.

In addition to the source code, you need to include a document/PowerPoint presentation


with UML diagrams for all the classes as well (10% for documentation, 60% for Source
Code and 30% for execution).
Program #7

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.

Off-campus Instruction and Course Activities

No off-campus activities are scheduled.


Policies and Procedures for Students

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.

S-ar putea să vă placă și