CS2310 Multimedia Software Engineering

Prof. S.K. Chang
Department of Computer Science
University of Pittsburgh
Pittsburgh, PA 15260, USA
Phone +1-412-624-8423
E-mail chang@cs.pitt.edu
Office: 6101 Sennott Building
Office Hours: 2:15pm to 3pm TuTh



Grader: Hui Ling
Office: 6410 Sennott Square
Office Hours: Tu Th 12:10pm-2:10pm and 5:15pm-6:15pm
Telephone: 624-8442
E-mail: hling@cs.pitt.edu

Time and Classroom: TuTh 4pm to 5:15pm 5313 Sennott Building

Course Description: The course concentrates on the investigation of the dual role of multimedia software engineering to apply software engineering principles to the design of multimedia systems, and to apply multimedia technologies to the practice of software engineering.

Textbook: Shi-Kuo Chang, Multimedia Software Engineering, Kluwer Academic Publishers, 2000. A sample chapter in pdf format is at www.cs.pittt.edu/~chang/231/c01.pdf.

Prerequisites: CS1530/1631 or understanding of general principles of software engineering; C/C++ programming; Web programming.

Course Structure:

(Part I) (First eight weeks) The instructor will present a framework of multimedia software engineering based upon a theory of multidimensional languages. Four exercises (32%) will be given. The first exercise is on paper only and sometimes it is a mini-essay (exercises change from year to year). The second and third exercises are programming exercises that require the use of c/c++/Java, TAOML, IC_compiler, IC_manager, etc. developed by the instructor's research group, constituting the components of MICE (multimedia information custom engineering) environment.

Midterm Exam: The midterm exam (20%) covers the essence of the theory, as well as relevant aspects of the experimental MICE environment. Please read grading policy for exams, projects and assignments.

(Part II) (Second five weeks) In the introduction to Part I the instructor has presented a general survey on the current research in multimedia software engineering. Each student will then study one or several related papers to present one aspect of multimedia software engineering in class (10%). The presentation is intended to stimulate discussions and will lead to a project formulation assignment (8%) designed to motivate the students to explore various issues in multimedia software engineering. (Sometimes this is replaced by a project milestone if the nature of the project is cleaer.)

(Part III) (Final two weeks) Each student will do a term project (30%). In lieu of classroom lectures sometimes there will be one-on-one discussions on projects, or small-group teleconferences provided that our teleconferencing system is working by that time. Individual meetings, teleconferences and classroom lectures will be scheduled by e-mail.

On-line interactions: In addition to classroom lectures, this course will emphasize on-line interactions. In fact, the instructor hopes to offer this course (and other courses) by distance learning in the future. Therefore, on-line interactions will be an important, necessary component of this course. The course materials, announcements and exercises will all be available from the Internet. Impromptu meetings and schedule changes will be announced by e-mail. Therefore, the first thing a student should do is to register online.

Please register using the registration form!

Bulletin Board: Use it to communicate with your instructor, your classmates or to post a message to all.

Virtual Classroom can be found at: http://www.cs.pitt.edu/~flying/VC/student.htm. A link to user manual is also offered there.

Part I: The Theory

Week-1

Chapter 1: David against Goliath

Exercise 1 (8%) is due on Week-2-Lec-2 (See Calendar).

Chapter 2: Introduction and general survey

Week-2

Chapter 3: Syntax: Visual Languages (Discussion of visual patterns from Alexander's pattern language)

Week-3

Chapter 4: Multimedia languages ( S. K. Chang, "Visual Languages and Programming", in Encyclopedia of Electrical and Electronics Engineering, John Wiley and Sons, 1998).

Week-4

Chapter 5: Active index technology ( S. K. Chang, "Towards a Theory of Active Index" , Journal of Visual Languages and Computing, Vol. 6, No. 1, March 1995, 101-118; and Introduction to Petri Nets). Visual languages with dynamic multimedia objects derived from other multimedia objects using active index technology.

Exercise 2 (8%) is due on Week-4-Lec-2 (See Calendar).

Week-5

Chapter 6: Complex multimedia objects TAO. ( H. Chang, S. K. Chang, T. Hou and A. Hsu, "The Management and Applications of Tele-Action Objects" , ACM Journal of Multimedia Systems, Springer Verlag, Volume 3, Issue 5-6, 1995, 204-216)

Project Discussion: The Chronobot and main paper on Chronobot

Exercise 3 (8%) is due on Week-5-Lec-2 (See Calendar).

Week-6

Chapter 7: Multimedia Information Custom Engineering (MICE) (MICE Developer's Guide and MICE Application Development Steps).

Chapter 8: Prototyping multimedia applications

Project Discussion: Standard interface for the Virtual Classroom

Week-7

Chapter 9: The Design of Multimedia Languages

Chapter 10: Distributed Multimedia Systems Design ( C. C. Lin, S. K. Chang and J. X. Xiang, "Transformation and Exchange of Multimedia Objects in Distributed Multimedia Systems" , ACM Journal of Multimedia Systems, Springer Verlag, Volume 4, Issue 1, 1996, 12-29.)

Exercise 4 (8%) is due on Week-7-Lec-2 (See Calendar).

Week-8

Chapter 11: Specification of Multimedia Applications Multimedia objects TAO constructed from other media objects using grammar-based approach and different types of links.

Multimedia Software Engineering Life Cycle

Midterm Week-8-Lec-2 (See Calendar).

Part II: Survey of current research

Weeks 9 to 12

Each student will study one topic and give a presentation (see class presentation guidelines) and critical evaluation of the papers assigned by the instructor and/or found by the student. If a selected paper is available in electronic form, a link will be made to that file -- usually in pdf format, so an Acrobat Reader should first be downloaded. Some of the papers can be obtained from the instructor in hard copy (hc). The remaining papers are available from journals, proceedings etc., and the student should search the library. (Topics studied in 2003, Topics studied in 2001, topics studied in 2000, topics studied in 1999. New topics or extension of old topics will be made available)

CVS, Maven, CruiseControl, Bugzilla Debugger Tutorial (final report on VC Teacher Tool)

seminar on http://www.cs.pitt.edu/~chang/231/server/doc/ (final report on VC Teacher Tool)

SCORM (final report on VC Teacher Tool)

XML Soap Programmer tools and development (final report on VC Image Server for FaceAlive Icons)

Java for limited devices (final report on VC client for limited devices)

Migrating to J# (final report on VC client for CE)

indexing techniques (final report on VC Student Tool with Indexing)

mining and indexing techniques (final report on VC Indexing and Searching)

knowledge management and yellow pages for expertise, user profile paper (final report on VC Student Tool with Yellow Pages)

service oriented architecture, ActiveMQ (final report on VC Message Server)

XML servers (final report on Remote Control and VC Message Server)

Labview visual programming (final report on VC Indexing and Searching using Labview)

heuristic algorithm for time scheduling (final report on Nurse Scheduling)

literature on negotiations (final report on Formal Model for Negotiation Protocols and paper)

literature on negotiation protocols (final report on Patterns for Negotiation Protocols and paper)

design patterns using Java (project presentation and final report on Patterns for Bidding Negotiations)

network security for VC (final report on VC Student Tool with XML)

Project Milestone #1 (8%) is due on Week-12-Lec-2 (See Calendar).

Part III: The Practice

Weeks 13 and 14

Projects for this course are centered on the multimedia software engineering methodology.

Project report should be prepared following the project report guidelines. Report (30%) is due on Week-14-Lec-2 (See Calendar).

Project Examples