CIS 658 Multimedia Computing Instructor: Timothy Arndt Office Phone: (216) 687-4779 E-Mail: arndt@cis.csuohio.edu Meeting time : M-Th 8pm-10pm Credit: 4 credits (with W on transcript) Office location: BU 331 Office hours: M-Th 7:30pm-8pm or by appt. Home Page: http://cis.csuohio.edu/~arndt Meeting place: LB 241 Prerequisite: CIS 506, 535, 540 Drop Dates Friday May 29; Friday June 22 Course Description This class will introduce students to digital capture, representation, processing and playback of multimedia data – audio, video and images as well as computer graphics and computer animation. The Java programming language may be used for some programming assignments (other high level languages may be used as well) and the associated Java media APIs will be studied and used. The C language will be used for most programming examples. Commercial products for multimedia capture, editing and broadcast will also be used. By the end of the class, you should understand what multimedia computing is, be familiar with how multimedia data is stored and processed by computers, be able to use the Java media APIs for media processing, and be able to use commercial tools for multimedia capture and editing. Laboratory BU 014 is the laboratory assigned for this class. This lab is equipped with 4 Power Macs and 1 Powerbook running Mac OS X (one of the Power Macs runs the server version of OS X). The Power Macs all have DVD burning capability and Firewire connectivity. Software installed on one or more of the machines includes: Final Cut Pro (for digital video editing); DVD Studio Pro (for professional DVD production); Logic Studio Pro (for digital audio editing); Quicktime Broadcaster, Quicktime Streaming Server and Cleaner (for webcasting live or recorded video); Adobe Photoshop and Photoshop Elements (for Image Processing); Apache web server; and Microsoft Office. Other equipment includes: 2 consumer digital video camcorders; one professional digital video camcorder; microphones; a portable Firewire hard drive; a TV monitor; and a set-top DVD player for testing purposes. Textbooks Required: Fundamentals of Multimedia by Ze-Nian Li and Mark S. Drew, Pearson Prentice-Hall, 2004. Reference (not required): Essential JMF: Developer's Java Media Players by Rob Gordon and Stephen Talley, Prentice-Hall PTR, 1999. Method of Instruction This course will use both traditional lectures as well as directed tutorials in the multimedia lab during class period or an alternative time. During these tutorials, students will (under supervision) carry out a sequence of tasks in order to become familiar with some commercial products or technologies. These tutorials will replace some lectures. A high degree of student interaction is encouraged. Since the instructor is not an expert in all of the commercial tools, APIs, etc., students are encouraged to become expert in one of these areas and to share their expertise with their classmates both inside and outside of class. While no extra credit will be received for doing this (nor will there be a penalty for not doing this), this is a chance for you – cooperatively – to greatly enhance your learning experience in this course. Grading Programming Assignments (3 – one audio, one image and one video processing) 25%; Exams (3) 60%; Tutorials (3) 5%. Presentation (1) 10%. I reserve the right to change the weighting and number of assignments. The following grading scale will be used to calculate final grades (subject to curving if class grades on exams are substantially below expected): Total percentage earned 93 - 100% 90 - 92% 87 - 89% 83 - 86% A AB+ B Total percentage earned 80 - 82% 70 – 79% 59% and under BC F Grading Criteria No extra credit will be given. For programming assignments, in order to receive a grade of 100, the program must be extensively commented, well formatted, and must meet all program requirements as stated in the assignment. A document containing (as a minimum) the name of the programmer, complete instructions for running the program (including any assumptions about the test environment), any limitations of the program, and a test procedure. This document must be formatted as text (not Word) unless explicit permission is given. Any test data needed for testing (e.g. media files) must be provided as well. Deductions will be made for violations of any of the above criteria. A program that does not run at all will not receive a grade above 70. A program that always fails to produce correct results will not receive a grade above 80. Programs that work on some (but not all) test cases (both those provided by the student and those provided by the instructor) will have a maximum grade of between 81 and 95, depending on the number of cases in which the program produces incorrect results. For exams, problems will be multiple choice/true false/short answer as well as problem solving and descriptive problems. For problem solving type questions, mistakes in arithmetic will result in only small deductions while failure to use the correct technique will result in a larger deduction. Any assumptions that you make in answering these types of questions should be written as part of the answer to the question. A small deduction will be made if your answer is very hard to read, so be neat. Illegible answers will receive no credit. For descriptive type questions, if you describe some other entity rather than one asked for, you will receive no credit. For tutorials, in order to receive 100% you should successfully complete all assigned tasks. Failure to show up at a reserved time period will result in a deduction. Course policy (1) Class participation and preparation Class participation and regular attendance are expected. If a student misses a class, the student is responsible for bringing herself/himself up-to-date on class material and assignments. All students are expected to read the assigned chapters prior to coming to class. All cell phones and pagers must be turned off during class. Notebook computers may be used only for taking notes and for no other purpose. Abuse of this privilege will cause all students to lose the privilege. Chatting is not allowed during class periods. If you have a question about material being presented in class, please ask the instructor. (2) Exams Exams will be based on the combination of: material covered in lectures, the assigned reading from the textbooks, material covered in the notes, and lab practice. All exams are closed books and closed notes. No makeup exams will be given! (3) Homework assignments All homework assignments are due at the beginning of class on the specified date. An assignment turned in one day late will get a 10% penalty, two days late will get a 20% penalty, etc. Assignments turned in after the beginning of class on the due date will be counted as one day late and will receive a 10% penalty. All assignments must be individually and independently completed. Should two or more students turn in substantially the same solution or program, in the judgment of the instructor, the solution will be considered a group effort. All involved in a group effort homework will receive a zero grade for that assignment. No late assignment will be accepted after the assignment is graded and returned. See the CSU student conduct code for further information. (5) Class cancellation: If I need to cancel class for any reason, I will try to put an announcement on the course web page as early as possible. (6) Grading mistakes All grading mistakes must be corrected within 2 days of the return of the assignment or quiz. No exceptions. It is your responsibility to verify that your exams/assignments have been graded correctly. Week Week 1 Week 2 Week 3 Week 4 Week 5 Tentative Course Schedule Topics covered Reading Introduction to Multimedia; Introduction to Lab; Chapters 1 and 2 Introduction to Mac OS X; Overview of Software Packages; Multimedia Authoring; Multimedia research resources. SMIL tutorial and assignment. Audio Technology: Digital Audio Representation; Chapter 6 MIDI; Speech. Programming Assignment #1. Digital Image Representation: Computer Graphics. Chapters 3 and 4 Image Processing: Java Advanced Imaging API. Programming Assignment #2. Video Technology: Digital Video Representation; Chapter 5 Television Systems; High-Definition Television (HDTV). Java Media Framework: JMF Architecture; Player Control; Synchronizing Multiple Players; Streaming Media Sources. Programming Assignment #3. Data Compression: JPEG; MPEG Audio. Chapters 7, 8 and 9 (parts) Data Compression: MPEG 1; MPEG 2; MPEG 4; Chapters 10, 11, and 12 (parts) MPEG 7; MPEG 21. Audio Compression; MPEG Audio Chapters 13 and 14 Week 6 Presentations Final Exam Thursday July 2, 8pm-10pm Student Conduct: Students are expected to do their own work. Academic misconduct, student misconduct, cheating and plagiarism will not be tolerated. You may not ask for or contract help via the Internet. Such action will be regarded as plagiarism. Violations will be subject to disciplinary action as specified in the CSU Student Conduct Code. A copy can be obtained on the web page at: http://www.csuohio.edu/student-life/student_handbook/index.html or by contacting Valerie Hinton Hannah, Judicial Affairs Officer in the Department of Student Life.