Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba engleza
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MII0003	Virtual Reality	

Semester	Hours: C+S+L+P	Category	Status	
7	2+0+1+1	speciality	optional	

II. Full status faculty members
Name and	Scientific	Didactic	Department	Type of activity	
surname	title	title		C	S	L	
BOIAN Rares Florin	Ph.D.	Lect.	Computer Science	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
Introducing the students to virtual reality environment programming. The students should learn the following concepts: general structure of a virtual reality application, human interaction with the virtual environment through the use of input devices, modeling (visual, physical, tactile, and force), and character animation. In the end the students should be able to create a multi-sensory, interactive virtual reality application.	

IV. Course contents
Lectures
Weeks 1 - 3
1.	Introduction to virtual environments, input/output devices, state of the art
2.	Scene definition
3.	Ray tracing

Weeks 4 - 6
4.	Virtual object modeling (geometric primitives, custom build geometries)
5.	Virtual reality application architecture
6.	Position and orientation representation (position vector, Euler angles, orientation matrix,
7.	JMonkey3D introduction
8.	Scene graph (reference frames, node hierarchy, node types, light nodes, fog)

Weeks 7 - 9
9.	JMonkey3D examples
10.	JMonkey3D examples
11.	Scene optimizations (level of details, textures, cell-segmentation)

Weeks 9 - 12
12.	Collision detection
13.	Simulating spatial phenomena (fog, smoke, fire, fluids)
14.	Physical engines
15.	Character animation	

V. Bibliography
1.	CRAIG J.J., Introduction to Robotics: Mechanics and Control (3rd edition), Prentice Hall, 2003
2.	BURDEA G.C., COIFFET P., Virtual Reality Technology, Second Edition with CD-ROM, Wiley-IEEE Press, 2003
3.	FOLEY J.D., VAN DAM A., FEINER S.K., HUGHES J.F, Computer Graphics: Principles and Practice in C (2nd Edition), Addison-Wesley Professional, 1995
4.	OpenGL Architecture Review Board, SHREINER D, WOO M., NEIDER J., OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2 (5th Edition), Addison-Wesley Professional, 2005
5.	ERICSON C. Real-Time Collision Detection, Morgan Kaufmann, 2004
6.	*** JMonkey3D Documentation, http://jmonkeyengine.com	

VI. Thematic of didactic activities per weeks
1. Introduction to VR modeling tools (Blender)
   2. Ray Tracing and geometrical concepts
   3. Ray Tracing
   4. JMonkey3D introduction
   5. JMonkey3D articulated robot
   6. JMonkey3D articulated robot
   7. JMonkey3D Final project
   8. JMonkey3D Final project
   9. JMonkey3D Final project
  10. JMonkey3D Final project
  11. JMonkey3D Final project
  12. Presentation	

VII. Didactic methods used

VIII. Assessment
The students have to submit during the semester several lab projects and one large semester project. The final grade is a weighted mean between the lab projects average which accounts for 40% of the final grade, and the semester project grade which accounts for 60% of the final grade.

Course requirements and details can be found on the course web-site:
http://www.cs.ubbcluj.ro/~rares/course/ie/vr	

IX. Additional references

	Dean,							Department head,

	Date,							Course responsible,
								Lect. BOIAN Rares Florin, Ph.D.