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).
Resources to assist your learning
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.
Technology used and required
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.
Teaching and learning strategy
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:
- Attend lectures, take notes, ask questions
- Study the on-line lecture slides/notes and textbook as directed by the lecturer
- Attend your mixed workshop class and seek feedback from your tutor on your work
- Submit homework weekly and read any feedback provided
- Start working on any assignments as soon as they have been released.
Time management and programming
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.