Meta
-
Will there be a question asking us to write Java code in the exam?
No. However, you will be expected to understand it.
-
Will I be disadvantaged if I use the 3rd Edition of the textbook? (2)
I haven't read the previous version, but probably not.
-
Where is the online submission option on the website? (3)
The submission system is here.
-
Will solutions be up on the website later? (2)
Yes.
-
What kind of exciting assignments do we get to do? (1)
The assignments will focus on testing, ADT implementation, theory and algorithm development.
-
Can I swap tutes? (1)
If the tutor of the tutorial you intend to attend agrees.
-
Can the lecturer manage the lecture to be more enjoyable?
I can try.
-
Will the exam be very hard?
If you haven't studied the material it will be.
-
Do we have to pass the final exam to pass the course?
Yes. Please refer to the course profile for how you final exam result affects your course result.
-
Can we get lecture notes in advance in regards to material that is covered in later weeks.
I'll look into this.
-
Are there free classes to seek for help apart from tute?
You can come and see me during my consultation time on Monday morning, or you can email to arrange to see me at another time.
-
What is COMP3506 about?
The course profile (available on the course website) describes the course fairly thoroughly. Alternatively you can have a quick look at the textbook at the UQ bookshop to get an idea of what is covered.
Java
-
Where can I find out more about Java? (2)
Java.sun.com is great place for (maybe too much) information about Java.
I would suggest reading through the Java tutorials [sun.com].Also, the CSSE2002 Java Documentation web page provides a lot of Java documentation in a well laid out format.
-
How much Java Programming vs Theory is required? (2)
Java Programming will consist of a significant amount of the assignment assessment.
There will be no programming in the mid-semester and end-of-semester exams, but you will need to answer questions regarding Java examples. -
Why is the Java Language used for this subject (and others)? (1)
Java has many benefits that make it suitable as a language for teaching.
- It is widely used in industry (students should probably learn it)
- It is a cross-platform programming language with a rich class library
- The Java Development Kit (JDK) is available for free on many platforms
- There are very good (and free) Integrated Development Environments (IDEs) available (Eclipse and Netbeans)
Specifically for teaching algorithms and data structures, Java has:
- Explicitly defined interfaces for defining ADTs.
- Strong typing
- Very good testing tools (JUnit)
-
Where can I download the Java Development Kit from?
The JDK is freely available from: java.sun.com
Alternatively, you can download the Java 5.0 JDK from the Eclipse and Java web page.
-
Where can I download eclipse from?
Eclipse can be downloaded from eclipse.org.
Alternatively, you can download Eclipse 3.4 from the Eclipse and Java web page.
Content
-
What are the benefits of each of the number formats - hex, oct, binary.
Socially we are conditioned to use the base 10 number system decimal. However due to the binary nature of computer systems, information stored in computers is more easily manipulated when presented in a number system with a base that is a power of 2 ie. 8 octal (oct), or 16 hexidecimal (hex).
Oct numbers are often used to represent values of 3 bits eg. unix permssion flags.
Hex number are often used to represent values of 4 bits.
-
How important is the knowledge of logarithms with regard to this course? (2)
Quite important. Many algorithms have a logarithmic running time.
This applies to both tree structures as well as search algorithms such as binary search. -
Please explain the factory pattern (1)
Wikipedia is a good source of information on the abstract factory pattern [wikipedia.org].
-
Are we going to have to actually program for the assignment? (1)
Yes.
