Introductory Programming In Java
Welcome to COMP6700 for 2013
Wed May 13
The instructions on how to submit your homework 6 and 7 and Assignment 2 are now finalised. Read them on How to submit your work to a Mercurial repository. If you have problems, do not hesitate to contact me. The due dates for homework 6 and 7 are flexible (though officially they do not change — 14.05 and 21.05, respectively), so do not get nervous if "hg"-problems don't let you to submit on time (but do contact me to resolve it).
Wed May 09
Complete set of Block 5 and Block 6 lecture slides is available. Past exam synopsis, papers and code is also released.
This is a Java-based introductory programming course which includes basics of object-oriented programming, algorithms and data structures, graphical user interface, good programming practice and software engineering.
The course will run in a semi-intensive mode for the first half of the First Semester (weeks 1–9). The following topics will be discussed:
Syllabus
- Java's Syntax and Program Structure
- Objects, Classes and Object-Oriented Programming
- Introductory Algorithms and Data Structures; Java Collections Framework
- Graphical User Interface Programming: principles, Swing and JavaFX Frameworks
- Annotations and Self-Documentation of Java Programs
- Good Programming Practices and Software Development Principles
- Java.next: Mutable Objects, Concurrency, Objects and Functions, Functional Programming with Objects, Languages of JVM: Scala
Learning Outcomes
By the end of this course, you should be able to:
- Read and understand a Java-based software code of medium-to-high complexity
- Write and appropriately document a Java application of medium complexity (consisting multiple classes)
- To use standard and third-party Java's API when writing your own applications
- Understand the principles of object-oriented programming
- Create simple Java applications with graphical user interface (GUI) using packages like Swing and JavaFX and standard GUI programming principles
- Understand fundamental concepts of computer science: structure of computational process, algorithms and complexity of computation
- Understand the basic approaches to designing software application and implementing the design using Java programming language
Course Organisation
The timetable and location of activities is shown on the University web page COMP6700 Timetable.
In our lecture activities, we shall have two hours of lectures on Tuesday (2—4pm) and two hours of lectures on Wednesday (10am—12pm) every week, starting from the week 1 through to week 9 inclusive, possibly skipping the schedule once or twice (depending on how the material delivery will progress).
The laboratory practicum (aka labs) will begin in the week 2 and will run weekly till week 8 included. Over the semester, you will attend 7 supervised two-hour practical classes ("labs"). The labs will be used to practice program design, implementation and testing skills by doing prescribed exercises. The attendance and exercise solution will be marked; the marks will contribute towards the final course mark (see Assessment page for a detailed assessment scheme). Problems similar to your lab exercises will be part of your final practical examination.
In the course of the semester you will be given larger sets of tasks in a form of two assignments which you will have to complete and submit for evaluation after four or five weeks after its release. The submission procedure will be explained in the assignment papers (we will use a modern version control system called Mercurial).
The access to the lecture and lab contents, as well as the schedule of assignment releases and due dates, is available on the schedule web page. The schedule of lecture topics is approximate and may slightly deviate as we live through this autumn.
The two-page long course compendium can be downloaded and printed as a reference.
News
Make sure you check the forum message boards on a regular basis:
-
COMP6700.Announcements: I will post relevant announcements for the course on this notice board. These announcements will be also sent as emails to your ANU email address (would it be more in tune with the time to a have a Twitter account and make the students follow it ☺).
-
COMP6700.Talk: This is for you as students to discuss everything which may be relevant the our course.
Consultations
If you have a problem and need help, first check out the Assistance web page. If you cannot resolve your problem, or have another reason to meet me in person, this can be arranged:
No need to make an appointment if you want to see me at the official consultation time in my office N214:
Day Time Tuesday 11am–12pm Friday 2pm–3pm
(even weeks)To see me at different time, a prior arrangement is necessary — use email.
Course Assessments
-
The total course mark is comprised of marks for the lab and homework exercises (15%), the two assignments (15% +20% = 35%) and the final theory/practical exam, 50%.
The assessment items will test the learning outcomes as follows:
Assessment Item Weight Assesses Outcomes Labs/Homeworks 15% 1–4 Assignment 1 15% 1–4,6,7 Assignment 2 20% 1–4,5,7,8 Final Exam 50% 1–4,6,7 For greater details including the Final Course Mark, the Final Grade and the conditions for getting the Supplementary Examination, see the assessment scheme.
Final marks are moderated in departmental examiners' meetings at the semester end and may be scaled as a result of this moderation.
Course Information
The Study@ANU entry for COMP6700 shows details of the course including pre-requisites.
Additional Information
Additional information about COMP6700 can be found by using the links at the left of this page.
