Download Teaching Computer Graphics with Java

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

General-purpose computing on graphics processing units wikipedia , lookup

BSAVE (bitmap format) wikipedia , lookup

Free and open-source graphics device driver wikipedia , lookup

Computer vision wikipedia , lookup

Waveform graphics wikipedia , lookup

Apple II graphics wikipedia , lookup

2.5D wikipedia , lookup

Framebuffer wikipedia , lookup

Video card wikipedia , lookup

Tektronix 4010 wikipedia , lookup

Graphics processing unit wikipedia , lookup

Molecular graphics wikipedia , lookup

Transcript
Teaching Computer Graphics with Java
Dejan Mitrović, Dragan Mašulović
Department of Mathematics and Informatics
Faculty of Sciences
University of Novi Sad, Serbia
Agenda




Background
Computer Graphics I
Grading
Computer Graphics II
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
2/19
Background (pre 2012)
 Two main courses dedicated to teaching computer
graphics offered at the Department:
- Computer Graphics I: CS students, VI semester,
obligatory and elective, B.Sc. Level
- Computer Graphics II: CS students, VII semester,
elective, M.Sc. Level
 CG1: covered 2D and 3D computer graphics
- Lectures were focused on analytical geometry and
linear algebra, exercises on Java 2D and JOGL APIs
 CG2: a wide range of topics, based on students’ research
and seminar papers
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
3/19
Reasons for change
 As of school year 2011/2012, several important changes
were introduced:
- CG1 is now focused mainly on 2D
- CG2 deals with 3D, and the teaching is based on
lectures and exercises
- Additional elective course is introduced (“Advanced
concepts of computer graphics”)
 Main reasons:
- One semester is not enough for a thorough
understanding of both 2D and (especially) 3D concepts
- A relatively high percentage of plagiarism in seminar
papers 
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
4/19
Agenda




Background
Computer Graphics I
Grading
Computer Graphics II
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
5/19
Computer Graphics I
 Main motivation: to create a practical and fun 2D
computer graphics course
 The covered concepts include:
- The basics of drawing
- Fractals
- Image filtering
- Principles of animation
 In the end, the students are also given a short introduction
to Open GL
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
6/19
The basics of drawing





The Java painting process
Window coordinate system
Graphics and Graphics2D classes
Drawing and filling simple geometry and text
Loading and drawing images
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
7/19
Fractals
 Introduction to fractal geometry
 L-Systems
 Turtle graphics
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
8/19
Image filtering
 The RGB color model
 The concepts of image filtering
 Three filter categories: simple, displacement, convolution
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
9/19
Principles of animation




Frame-based animation
Time-based animation
Double-buffering
Geometry and image morphing
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
10/19
Projects
 During the semester, the students also work on two projects:
- JPaint: a MS Paint-like application for drawing fractals and
simple figures, and applying various filters on a canvas
- Shoot ‘em up: implementation of a classical shooter game
 For each application, the students are given a skeleton
implementation, as well as an accompanying documentation
 The main idea is for the students to have two finished software
products at the end of the course, that they have built on their
own
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
11/19
Introduction to Open GL
 In the end, students are given a short introduction to 3D
graphics programming and Open GL / JOGL
 The purpose is to provide them a hint of the Computer Graphics
II course
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
12/19
Agenda




Background
Computer Graphics I
Grading
Computer Graphics II
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
13/19
Grading
 Two practical exams during the semester
- 30 + 40 points
 Minimum passing score: 35
- After the semester ends, there are two additional
make-up exams
 The final (oral) exam: 30 points
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
14/19
Grades – school year 2011/2012
 27 students enrolled the course
 As of August 2012:
- 20 students (74%) passed the practical exams
- 15 students (55%) passed the final exam
- Average score: 7.73 (of 10 max)
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
15/19
Informal feedback
 The students’ informal feedback was highly positive
- In previous official surveys, the average course grade
has been ~ 9.5 (of 10 max)
 The majority of students were motivated to work on the
assignments during the practical exercises as well as at
home
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
16/19
Agenda




Background
Computer Graphics I
Grading
Computer Graphics II
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
17/19
Computer Graphics II
 The upcoming CG2 course will include a number of
introductory, as well as advanced 3D graphics
programming topics:
- 3D transformations
- Texturing (incl. multi-texturing)
- Lighting
- Terrain rendering
- Shaders
- Ray tracing
 In the end, an existing Java-based 3D engine (e.g. Unity 3D)
will be studied
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
18/19
Thank you for your attention!
 Questions? Suggestions?
Teaching computer graphics with Java - DAAD WS, September 2 - 9, 2012, Opatija, Croatia
19/19