Unit convenor and teaching staff |
Unit convenor and teaching staff
Lecturer
Scott McCallum
Contact via scott.mccallum@mq.edu.au
E6A 375
By appointment
Convenor, Lecturer
Len Hamey
Contact via email
E6A 327
By appointment
Tutor
Peter Reeves
Contact via email
Tutor
Matt Cabanag
Contact via email
|
---|---|
Credit points |
Credit points
3
|
Prerequisites |
Prerequisites
39cp including ((COMP225 or COMP229) and (DMTH137 or DMTH237))
|
Corequisites |
Corequisites
|
Co-badged status |
Co-badged status
|
Unit description |
Unit description
This unit is the study of pictures, images and animations generated by computers, as well as tools used to produce these pictures. This unit introduces the mathematical foundations of computer graphics, examines how to model three-dimensional objects, introduces techniques for creating animations, and explores how realistic scenes are rendered. Practical work involves using a graphics library, such as OpenGL, under Unix or Windows platforms.
|
Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates
On successful completion of this unit, you will be able to:
Name | Weighting | Due |
---|---|---|
Assignment 1 | 15% | Week 5 |
Assignment 2 | 5% | Week 7 |
Assignment 3 | 20% | Week 12 |
Online quizzes | 5% | Bi-Weekly |
Mid-semester quiz | 5% | Week 7 |
Final exam | 50% | TBA |
Due: Week 5
Weighting: 15%
You will develop an interactive 2D graphics application using OpenGL and C++. This application will provide a graphical user interface which will allow the user to create and save a 2D drawing.
Submit your work via iLearn.
Due: Week 7
Weighting: 5%
You will practise using geometric transformations both conceptually and in graphics programming. Composition of transformations is a key concept to master.
This will be mainly a paper based Assignment.
Submit your work into the COMP330 assignment box located on level 1 of building E6A.
Due: Week 12
Weighting: 20%
You will create an interactive 3D graphics application using OpenGL and C++. Your program will read a text file containing a description of a 3D object or scene, and will display on the screen the 3D appearance of the scene described.
Submit your work via iLearn.
Due: Bi-Weekly
Weighting: 5%
There will be online quizzes, one approximately every two weeks, worth a total of 5%. You can attempt each quizz multiple times.
Due: Week 7
Weighting: 5%
The mid-semester quiz will be held in class in week 7. It is worth 5%. It will provide feedback on your learning in the first half of the unit.
Due: TBA
Weighting: 50%
Your performance in the final exam constitutes 50% of your final mark. The exam will focus on material that was covered in the lectures, on-line lecture notes and mixed workshop classes. There could also be some exam questions designed to test how well you understood the assignments you did. The final exam will be a closed book three hour paper and will be held in the examination period at the end of the semester. The final examination will consist of two parts, which roughly correspond to the following two topic groupings: * 2D and raster graphics, geometric transformations * 3D graphics including modelling, viewing and rendering Within each part there is a mixture of short answer questions and more complex questions. The more complex questions could require you to write a few paragraphs of prose, to develop some code, or to perform some mathematical computations. Regarding the examination process, note that:
Each week you should attend three hours of lectures. Each week you should also attend your two hour mixed workshop class (the first hour of this class is supervised and includes tutorial material; the second hour is unsupervised practical time). Most weeks some assessable work will need to be submitted after your workshop (details are provided under Assessment). For details of days, times and rooms for classes consult the timetables webpage. Note that mixed workshop classes commence in week 1. You should have selected a mixed workshop class during enrolment. You should attend the mixed workshop class which you are enrolled in. If you do not have a class, or if you wish to change one, you should follow the usual procedures for change of enrolment. Please note that you are required to attend and submit work after your mixed workshop classes. Failure to do so may result in you failing the unit or being excluded from the exam (see the rules regarding the examination process which are detailed below).
Echo360 Lecture Recordings (previously known as iLecture) are available. For more information see Echo360 student guide.
Students are required to purchase ONE of the two alternative textbooks for this unit. The first alternative textbook is: Hill, F.S., Kelley, S.M., Computer Graphics Using Open GL (3rd Edition), Pearson Education, Sydney, 2007. The second alternative textbook is: Hearn, D., Baker, P., Carithers, W., Computer Graphics with OpenGL (4th Edition PNIE), Pearson Prectice Hall, 2014. A useful reference work is: Shreiner, Woo, Neider, Davis, OpenGL Programming Guide (4th Edition), Addison Wesley, Boston, 2004. The textbooks are available from the University Co-op Bookshop. You should purchase a copy of a textbook, or an earlier edition. We will use the textbook as our primary source for the conceptual and theoretical issues in computer graphics.
The OpenGL Programming Guide ("The Red Book") is available online and can be downloaded from the unit web page. This book provides a number of valuable examples in using OpenGL. You do not need to purchase the Red Book (RB), and you do not need to print RB (remember your print quotas). You should skim the readings for the week before the lecture (see Unit Schedule). The lectures will focus and expand on key areas.
There are a number of online resources about OpenGL. You can use http://www.opengl.org/, as your starting point or use Google to look for specific items.
An Eclipse SDK (software development kit) package, with the C/C++ development toolkit (CDT), MinGW (gcc compiler and tools), and OpenGL/freeglut libraries, is being installed on the computers in the 300-level laboratory. (It is expected that the lab will be ready for the first workshop classes.) A Windows package containing these resources is available for you from the COMP330 unit pages (see Support Materials section) on iLearn, if you wish to install it on your home machine (if running Windows). Installation hints for both Windows and nonWindows machines are also available there.
We will be using the University's online learning system iLearn. Students should check COMP330 on iLearn regularly for updates.
We will use the forums hosted within iLearn. Feel free to post questions there. Important announcements (such as tips and clarifications on assignments) will often be posted there.
COMP330 is taught via lectures in a lecture room and mixed workshop classes in a laboratory. The work you do and the feedback that you receive play a crucial role in your learning. Lectures are used to introduce new material, give examples of the use of programming methods and techniques and put them in a wider context. Furthermore, to highlight the relationship between teaching, research and learning, an advanced topic will occasionally be introduced during the lectures. This additional material will not be examined as such but may prove useful to complete the assignments.
You learn by processing concepts, not just by hearing them. Mixed workshop classes are small group classes in the laboratories which give you the opportunity to do exactly that by interacting with a tutor who has a sound knowledge of the subject and with your peers. This also gives you a chance to practice your programming skills. You have many opportunities to seek and to receive feedback. During lectures, you are encouraged to ask the lecturer questions to clarify anything you might not be sure of. Each week, you will be given problems to solve in the mixed workshop classes and you will have to submit your solutions to some of these problems via iLearn after your class. The comments and the solutions provided will help you to understand the material in the unit, to do the work for the assignments, and to prepare you for the final exam. It is important that you keep up with these problems every week. Each week you should:
COMP330 is a three credit point unit. You are therefore expected to spend approximately nine hours per week on this unit. Since each week each student should attend three hours of lectures, and attend a two hour mixed workshop, the remaining four hours per week will be spent on assigned assessable work outside of class. A significant portion of the outside time will be spent on programming. Mastering some basic skills early in the semester can save you tenfold in time and energy. In particular, many students have difficulty managing large projects and have problems with some of the trickier aspects of C/C++. There are many C/C++ tutorials and online books available. Go through a couple of them - or simply look back over your notes, textbooks and programs from previous programming units - to refresh your memory (if you have studied C++ before). You cannot learn graphics programming - or any kind of programming for that matter - simply by reading a textbook. You could make a start by copying some of the programs from the unit website, then modifying and running the programs to gain an understanding of how they work. Make sure you try to understand each line of code. Programming is a science and an art; it is not magic. The assignments in this unit could take many hours to complete. Don't expect to complete any of the assignments over a single weekend. Start each assignment early, get some basic functionality going, and try to become proficient in the parts of OpenGL that will be necessary for the assignment. It is often a good idea to write sample programs that let you test a single feature you are exploring before embedding it in the large project.
The following lecture schedule is provisional. In the Reading column HK stands for the first alternative textbook by Hill and Kelley, HBC stands for the second alternative textbook by Hearn, Baker and Carithers, and RB stands for the red book (OpenGL Programming Guide).
Week |
Topic (with Subtopics) |
Reading |
1 |
Introduction 1: Introduction to unit, computer graphics and OpenGL 2: Applications of graphics and graphics pipeline 3: Introduction to C++ programming |
HK: Ch1, 2.1, 2.2; HBC: Chs 1-2; RB: Ch1; opengl.org: Beginner FAQ |
2 |
Drawing Figures 1: Drawing in 2D with OpenGL, dot plots of functions 2: Line drawings, interaction with mouse and keyboard 3: Use of random numbers in drawing |
HK: Ch 2.2, 2.3, 2.4; HBC: Chs 3, 4; RB: Ch 2 |
3 |
Additional Drawing Tools 1: More on interaction with mouse, bitwise logical operations 2: Menus, world windows and viewports, clipping 3: Circles and tilings |
HK: Ch 2.5, 3; HBC: Chs 5, 7 |
4 |
Geometric Transformations - 2D 1: Vectors and matrices 2: 2D transformations 3: Composing 2D transformations |
HK: Ch 4, 5.2; HBC: Appendix A, Ch 6 |
5 |
Geometric Transformations - 3D 1: Rotations in 3D 2: Affine transformations in 3D 3: Composing 3D transformations 6 April (11 pm): Assign 1 due |
HK: Ch 5.3; HBC: Ch 8; RB Ch 3 |
6 |
Object Hierarchy & Drawing 3D Scenes 1: Matrix stacks and object hierarchy 2: Drawing 3D scenes with OpenGL 3: Simple 3D hierarchical structures |
HK: Ch 5.5, 5.6; HBC: Ch 10, Secs 9-1 through 9-6; RB: Ch 3 |
Recess | ||
7 |
3D Modelling 1: 3D modelling and data structures 2: Object representation techniques 3: 3D modelling in OpenGL in practice 4 May (11 pm): Assign 2 due |
HK: Ch 6; HBC: Ch 12 |
8 |
Lighting, Shading, Textures 1: Lighting models, shading 2: Textures 3: Programming aspects |
HK: Ch 8; HBC: Chs 15, 16 |
9 |
3D Viewing 1: 3D perspective projections 2: 3D perspective viewing in OpenGL 3: 3D viewing in OpenGL in practice |
HK: Ch 7; HBC: Ch 9; RB: Ch 3 |
10 |
Animation 1: Introduction to animation techniques 2: Use of Buffers 3: Demos of modelling and animation in OpenGL |
HK: Ch 5.6, 6; HBC: Ch 11 |
11 |
More Rendering 1: Hidden surface removal 2: More about lighting, shading and textures 3: Programming aspects |
HK: Ch 8; HBC: Ch 14 |
12 |
Further Topics 1: Graphics and computer games 2: Introduction to virtual reality 8 June 11 pm: Assign 3 due |
|
13 | Revision -- Exam preparation |
Macquarie University policies and procedures are accessible from Policy Central. Students should be aware of the following policies in particular with regard to Learning and Teaching:
Academic Honesty Policy http://mq.edu.au/policy/docs/academic_honesty/policy.html
New Assessment Policy in effect from Session 2 2016 http://mq.edu.au/policy/docs/assessment/policy_2016.html. For more information visit http://students.mq.edu.au/events/2016/07/19/new_assessment_policy_in_place_from_session_2/
Assessment Policy prior to Session 2 2016 http://mq.edu.au/policy/docs/assessment/policy.html
Grading Policy prior to Session 2 2016 http://mq.edu.au/policy/docs/grading/policy.html
Grade Appeal Policy http://mq.edu.au/policy/docs/gradeappeal/policy.html
Complaint Management Procedure for Students and Members of the Public http://www.mq.edu.au/policy/docs/complaint_management/procedure.html
Disruption to Studies Policy http://www.mq.edu.au/policy/docs/disruption_studies/policy.html The Disruption to Studies Policy is effective from March 3 2014 and replaces the Special Consideration Policy.
In addition, a number of other policies can be found in the Learning and Teaching Category of Policy Central.
Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/support/student_conduct/
Results shown in iLearn, or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au.
No extensions will be granted. Students who have not submitted their work for the task prior to the deadline will be awarded a mark of 0 for the task, except for cases in which an application for special consideration is made and approved.
The Department has established a Staff-Student Liaison Committee at each level (100, 200, 300) to provide all students studying a Computing unit the opportunity to discuss related issues or problems with both students and staff.
The committee meets three times during the semester. For each meeting, an agenda is issued and minutes are taken. These are posted on the web at http://www.comp.mq.edu.au/undergrad/info/liaison/
If you have exhausted all other avenues, then you should consult the Director of Teaching (Dr. Christophe Doche) or the Head of Department (Prof. Bernard Mans). You are entitled to have your concerns raised, discussed and resolved.
Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/
Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to improve your marks and take control of your study.
Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.
For all student enquiries, visit Student Connect at ask.mq.edu.au
For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/.
When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.
Our graduates will also be capable of creative thinking and of creating knowledge. They will be imaginative and open to experience and capable of innovation at work and in the community. We want them to be engaged in applying their critical, creative thinking.
This graduate capability is supported by:
We want our graduates to have emotional intelligence and sound interpersonal skills and to demonstrate discernment and common sense in their professional and personal judgement. They will exercise initiative as needed. They will be capable of risk assessment, and be able to handle ambiguity and complexity, enabling them to be adaptable in diverse and changing environments.
This graduate capability is supported by:
Our graduates will have enquiring minds and a literate curiosity which will lead them to pursue knowledge for its own sake. They will continue to pursue learning in their careers and as they participate in the world. They will be capable of reflecting on their experiences and relationships with others and the environment, learning from them, and growing - personally, professionally and socially.
This graduate capability is supported by:
Our graduates will take with them the intellectual development, depth and breadth of knowledge, scholarly understanding, and specific subject content in their chosen fields to make them competent and confident in their subject or profession. They will be able to demonstrate, where relevant, professional technical competence and meet professional standards. They will be able to articulate the structure of knowledge of their discipline, be able to adapt discipline-specific knowledge to novel situations, and be able to contribute from their discipline to inter-disciplinary solutions to problems.
This graduate capability is supported by:
We want our graduates to be capable of reasoning, questioning and analysing, and to integrate and synthesise learning and knowledge from a range of sources and environments; to be able to critique constraints, assumptions and limitations; to be able to think independently and systemically in relation to scholarly activity, in the workplace, and in the world. We want them to have a level of scientific and information technology literacy.
This graduate capability is supported by:
Our graduates should be capable of researching; of analysing, and interpreting and assessing data and information in various forms; of drawing connections across fields of knowledge; and they should be able to relate their knowledge to complex situations at work or in the world, in order to diagnose and solve problems. We want them to have the confidence to take the initiative in doing so, within an awareness of their own limitations.
This graduate capability is supported by:
We want to develop in our students the ability to communicate and convey their views in forms effective with different audiences. We want our graduates to take with them the capability to read, listen, question, gather and evaluate information resources in a variety of formats, assess, write clearly, speak effectively, and to use visual communication and communication technologies as appropriate.
This graduate capability is supported by:
Weekly homework submissions have been replaced with online quizzes and a mid-semester quiz. This is to provide more timely and detailed feedback.
At the end of the semester, you will receive a final grade that reflects your overall achievement in the unit including the final exam. Your overall mark out of 100 (which incorporates the marks for all of your assessment tasks with their appropriate weightings) together with your final exam mark will be the key determiners of your final grade. The different possible final grades are defined in general and more concrete terms below.