CS-335

Graphics and Multimedia
Fall 2008
TR 2:00 - 3:15pm (Funkhouser 306A)

Course Description:
This course will teach the basic principles of 2D computer graphics, user interface design, and digital image manipulation using the Java programming language. Students will be evaluated based on work in the form of programming projects, homeworks and examinations.

Prerequisites: CS216
Professor:
Dr. Fuhua (Frank) Cheng
763B Anderson Hall
Phone: 257-6760
Email: cheng@cs.engr.uky.edu
URL: http://www.cs.engr.uky.edu/~cheng/
TA for this class:
Mr. Wuwei Liang
Email: xuwei.liang@uky.edu

Office Hours:
Tuesdays and Thursdays 5:00 - 6:00 pm and by appointment

Required Text:
JAVA HOW TO PROGRAM, Seventh edition
Authors: H. Deitel & P. Deitel
Publisher: Prentice Hall, 2007
ISBN: 0-13-222220-5
Reference Text:
Computer Graphics: C version, second edition
Authors: Donald Hearn and Pauline Baker
Publisher: Prentice Hall, 1997
ISBN: 0-13-530924-7

Grading Policy:
Programming Assignments ----- 40%
Homeworks ----- 30%
Midterm ------ 15%
Final -------- 15%

* Programming assignments are to be completed by each student using the Java programming language. Homeworks are problem sets to be completed individually. Midterm and Final will be given in class.

Late Penalty:
I will accept programs and homework up to two days late for a penalty of 20% (10% each day). Programs and homework more than two days late will not be considered for a grade.

Scale:
88 -100 .... A
78 - 87 ..... B
68 - 77 ..... C
58 - 67 ..... D
0 - 57 ....... E

Plagiarism and Cheating:
Plagiarism and cheating are serious academic offenses. The minimum penalty for those academic offenses is final grade E in the course. The university regulations pertaining to this matter can be found at

http://www.uky.edu/StudentAffairs/Code/

Of particular relevance is Part II, SELECTED RULES OF THE UNIVERSITY SENATE GOVERNING ACADEMIC RELATIONSHIPS, Section 6.3 that can be found at

http://www.uky.edu/StudentAffairs/Code/part2.html

(These rules in particular say:
6.3.1 PLAGIARISM All academic work, written or otherwise, submitted by students to their instructors or other academic supervisors, is expected to be the result of their own thought, or self-expression. In cases where students feel unsure about a question of plagiarism involving their work, they are obliged to consult their instructors or the matter before submission. When students submit work purporting to be their own, but which in any way borrows ideas, organization, wording or anything else from another source without appropriate acknowledgment of the face, the students are guilty of plagiarism.

Plagiarism includes reproducing someone else's work, whether it be published article, chapter of a book, a paper from a friend or some file, or whatever. Plagiarism also includes the practice of employing or allowing another person to alter or revise the work which a student submits as his/her own, whoever that other person may be. Students may discuss assignments among themselves or with an instructor or tutor, but when the actual work is done, it must be done by the student and the student alone.

When a student's assignment involves research in outside resources or information, the student must carefully acknowledge exactly what, where, and how he/she has employed them. If the words of someone else are used, the student must put quotation marks around the passage in question and add an appropriate indication of its origin. Making simple changes while leaving the organization, content, and phraseology intact is plagiaristic. However, nothing in these Rules shall apply to those ideas which are so generally and freely circulated as to be a part of the public domain.

6.3.2 CHEATING Cheating is defined by its general usage. It includes, but is not limited to, the wrongfully giving, taking, or presenting any information or material by a student with the intent of aiding himself/herself or another on any academic work which is considered in any way in the determination of the final grade. Any question of definition shall be referred to the University Appeals Board.)

I want to emphasize that in this class students are allowed to discuss ideas and are allowed to help others by explaining concepts and possible solutions. However, all the work that is submitted must be performed by the students individually. Any sharing of electronic files, printouts and other materials developed by the students is not allowed. If any fragments of text appearing in books, journals, conference proceedings, web pages, etc. are used, students must provide appropriate citations. Any help from others must also be acknowledged.

Computer Facilities:
If you do not have a computer you can use to do Java programming, you can request from me an account for this course in the Computer Science Multilab. This is a PC laboratory administered by the Computer Science Department.

Lab Location:: 203 EE Annex, 257-5256
Lab Hours :: Monday-Friday 8:30am - 8:30pm

For information regarding this lab, see links under "facilities" from the Computer Science Department's homepage: www.cs.uky.edu.

You may use alternative computer systems for developing and testing your owrk. But your submitted work must compile and run under the proper software environment. This semester we will be using Java @SE 6 from Sun as the development platform.

Educational Objectives:
This course will help you achieve the following educational objectives:

* learn the Java programming language
* understand fundamental techniques in 2D graphics and graphics systems
* learn how to build computer programs that manipulate images, using 2D computer graphics operations
* learn how to build user interface

Course Contents:
Subjects Topics covered
1. Object-Oriented Programming Using Java:: object-oriented concepts - a tour, objects,
applets, control structures, methods,
arrays, object-based programming,
object-oriented programming, strings
2. 2D Graphics Techniques:: Graphics systems,
2D Graphics primitives,
2D transformations,
rendering and scan-conversion, curves,
polygon primitives, smooth regions
(circles and ellipses)
3. User Interface Design:: basic concepts, event handling, layout
management, graphics algorithms and
toolkits, UGI design, managing text
areas, canvases, costom components
4. Exception-Handling and Multithreading:: understanding, performing and using
exception-handling, understanding and
using multithreading
5. Multimedia:: image creation and display, image formats,
simple animation*, animation and threads*,
rendering and displaying, animated
sequences*, image maps*
* Optional

Important Dates:
Midterm - 10/21/08 (Tuesday)
Last day to withdraw from a course - 10/24/08 (Friday)
Last day of classes - 12/11/08 (Thursday)
Final Exam - 12/18/08 (Thursday 10:30am)