COMP125: Fundamentals of Computer Science
Semester 2, 2011
Faculty: Science; Department: Computing
Credit points: 3
Convenor: Christophe Doche
Prerequisites: COMP115 (P)
Students should read this unit guide carefully at the start of semester. It contains important information about the unit. If anything in it is unclear, please consult one of the teaching staff in the unit.
About This Unit
This unit studies programming as a systematic discipline and introduces more formal software design methods. Programming skills are extended to include elementary data structures and abstract data types. There is a strong emphasis on problem solving and algorithms, including aspects of correctness, complexity and computability.
What is new?
For many years, COMP125 was taught using C++. However, this year we have decided to change the programming language and use Java instead. Java will also be used in COMP225 next year.
|Convener, Lecturer||Christophe Dochefirstname.lastname@example.org||E6A 376||TBA|
|Lecturer||Steve Cassidyemail@example.com||E6A 377||TBA|
|Jojo Sze Meng Wongfirstname.lastname@example.org||TBA||TBA|
All emails related to this unit should contain COMP125 in the subject and must include your full name and your student id number.
Each week you should attend three hours of lectures and a two-hour mixed class (a tutorial and a practical combined in a single session). For details of days, times and rooms consult the timetables webpage.
Note that Mixed Classes commence in week 1.
You should have selected a Mixed Class during enrolment. You should attend the Mixed Class you are enrolled in. If you do not have a class, or if you wish to change one, you should see the enrolment operators in the E7B courtyard during the first two weeks of the semester. Thereafter you should go to the Student Centre.
Please note that you are required to submit work regularly. You will get the help that you need in attending your Mixed Class . Failure to do so may result in you failing the unit (see the precise requirements) or being excluded from the final examination.
Resources to assist your learning
There isn't any prescribed textbook for COMP125 this semester. We suggest below a few references if you feel you need to complement the lecture notes that are provided:
- B. Eckel, Thinking in Java (electronic book, 3rd edition available within iLearn is fine and is free but does not cover data structures)
- A. Drozdek, Data Structures and Algorithms in Java (Cengage) 2nd edition. ISBN 9780534492526 (this book will also be used in COMP225)
- W. Savitch, Absolute Java (Pearson) 4th edition. ISBN 9780131365896 (covers basic Java programming and data structures, ideal for COMP125 but not beyond)
- D. Carlson, Eclipse Distilled (Addison-Wesley) 1st edition. ISBN 9780321288158 (extensive coverage of the software development platform eclipse)
- Eclipse - download Eclipse IDE for Java Developers
- Java SE JDK - download Java SE 6 (not 7) to be compatible with the labs Note that you need the Java JDK which includes the compiler tools, rather than the Java Runtime Environment (JRE) which you might already have installed on your computer to allow you to run Java applications.
- Learning Management System iLearn
The web page for this unit can be found at http://www.comp.mq.edu.au/units/comp125
The unit makes use of forums hosted within iLearn. Please post questions there, they are monitored by the staffs of the unit.
Staff-Student Liaison Committee
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/100-level/
If you have exhausted all other avenues, then you should consult the Head of Department (Prof. Bernard Mans). You are entitled to have your concerns raised, discussed and resolved.
Student Support Services
Macquarie University provides a range of Academic Student Support Services. Details of these services can be accessed at http://www.student.mq.edu.au.
As reflected by the prerequisites, this units requires basic
- understanding of the main components of a computer system;
- problem solving skills to develop algorithms that solve small to medium-sized computational problems;
- skills to design and code implementations of their algorithms in an imperative programming language;
- standard software engineering practices to document, debug and test programs.
Topic List (to be confirmed)
|2||Developing and Testing Java programs||Steve|
|3||Object Oriented Design and Development||Steve|
|5||Software Development Topics||Steve|
|8||Stacks and queues||Christophe|
|9||Implementing linked lists||Christophe|
|10||Recursive Algorithms and data structures||Christophe|
|11||Inheritance and polymorphism||Christophe|
|12||Software Development Topics||Christophe|
Teaching and Learning Strategy
COMP125 is taught via lectures and Mixed classes in the laboratory. The feedback that you receive plays also 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 reinforce the nexus between teaching, research, and learning, a research topic will be discussed every week during the lectures. This additional material will not be assessed as such but may prove useful to complete the assignments.
You learn by processing concepts, not just by hearing them. Mixed 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 for 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 Classes and you will have to present solutions to the tutor. The comments and the solutions provided will help you to understand the material in the unit, prepare you for the work in assignments as well as for the final exam.
Each week you should:
- Attend lectures, take notes, ask questions;
- Attend your Mixed Class and seek feedback from your tutor on your work;
- Start working on any assignment immediately after they have been released.
Lecture notes are made available each week prior to the lectures but these notes are intended as an outline of the lecture only and are not a substitute for your own notes or reading additional material.
- demonstrate enhanced problem solving/algorithmic skills;
- be able to implement programs (from algorithms), showing an understanding of the underlying architecture of the computer;
- implement programs following standard software engineering practices (in particular document, test and debug).
See the different standards corresponding to these learning outcomes.
All academic programs at Macquarie University seek to develop a range of graduate capabilities. One of the aims of this unit is that students develop their skills in the following:
- Discipline Specific Knowledge and skills
- Effective Communication
- Problem Solving and Research Capability
- Creativity and Innovativity
- Commitment to Continuous Learning
The new assessment policy and the associated code of practice imply the use of standards based assessment. In this context, the learning outcomes are aligned with the assessment tasks and the performance of each student is evaluated according to different standards.
The following tables summarizes the different aspects of the assessment in this unit. In particular, it links each task to the learning outcomes of the unit.
|Task||Due Date||Workload||Feedback||Learning outcomes assessed||Weight|
|Tutorial question||End of every odd week||20 min||week following submission via iLearn||#1 and #2||5%|
|Programming exercise||End of every even week||20 min||week following submission via email||#1, #2, and #3||5%|
|Assignment 1||Week 4||5 hours||week 5 via email and iLearn||#1,#2, and #3||6%|
|Assignment 2||Week 8||10 hours||week 9 via email and iLearn||#1,#2, and #3||12%|
|Assignment 3||Week 12||10 hours||week 13 via email and iLearn||#1,#2, and #3||12%|
|Mid-term test||Week 7||2 hours preparation time||Week 8||#1, #2, and #3||10%|
|Final examination||TBA||5 hours preparation time||NA||#1, #2, and #3||50%|
Note that a certain number of requirements must be fulfilled
in order to pass this unit.
If you cannot complete a piece of work please see the convenor before the due date. Check also the special consideration policy.
A more detailed description of each task is given below.
Tutorial questions and programming exercises
Each week, a set of questions and programming exercises will be made available online. At the end of odd weeks (1, 3, 5, ...) you have to submit via iLearn your answer addressing a particular question. At the end of even weeks (2, 4, 6, ...) you have to write a short Java program solving a particular problem and to submit it via iLearn.
There are three assignments that are worth 30% in total. Each assignment includes different components to assess different levels of achievements. See standards for details.
You are encouraged to:
- set your personal deadline earlier than the actual one;
- keep backups of all your important files;
- make sure that no-one else picks up your printouts;
- make sure that you log off when you leave the labs.
Late work will not be accepted. If you cannot submit on time because of illness or other circumstances, please contact the lecturer before the due date.
A one hour long written examination worth 10% will be held in week 7 during class time. It will test your understanding of material covered in weeks 1 to 6. You will receive some feedback that will allow you to be better prepared for the final examination.
A three hour examination worth 50% will be held at the end of the semester. More details on the structure of the examination will be provided towards the end of the semester.
Regarding the examination process, note that
- you must attend all required classes and submit all required assessment, otherwise the Executive Dean of the Faculty or delegated authority has the power to refuse permission to attend the final examination
- the University Examination period in for End-of-Year 2011 is from Monday 14th November to Friday 2nd December 2011
- you are expected to present yourself for examination at the time and place designated in the University Examination Timetable
- the timetable will be available in Draft form approximately eight weeks before the commencement of the examinations and in Final form approximately four weeks before the commencement of examinations
- no early examinations for individuals or groups of students will be set. All students are expected to ensure that they are available until the end of the teaching semester, that is the final day of the official examination period
- the only exception to not sitting an examination at the designated time is because of documented illness or unavoidable disruption. In these circumstances you may wish to consider applying for Special Consideration.
Four standards, namely Developing, Functional, Proficient, and Advanced, summarize as many different levels of achievement. Each standard is precisely defined to help students know what kind of performance is expected to deserve a certain mark. The standards corresponding to the learning outcomes of this unit are given below:
At the end of the semester, you will receive a grade that reflects your achievement in the unit
- Fail (F): does not provide evidence of attainment of all learning outcomes. There is missing or partial or superficial or faulty understanding and application of the fundamental concepts in the field of study; and incomplete, confusing or lacking communication of ideas in ways that give little attention to the conventions of the discipline.
- Pass (P): provides sufficient evidence of the achievement of learning outcomes. There is demonstration of understanding and application of fundamental concepts of the field of study; and communication of information and ideas adequately in terms of the conventions of the discipline. The learning attainment is considered satisfactory or adequate or competent or capable in relation to the specified outcomes.
- Credit (Cr): provides evidence of learning that goes beyond replication of content knowledge or skills relevant to the learning outcomes. There is demonstration of substantial understanding of fundamental concepts in the field of study and the ability to apply these concepts in a variety of contexts; plus communication of ideas fluently and clearly in terms of the conventions of the discipline.
- Distinction (D): provides evidence of integration and evaluation of critical ideas, principles and theories, distinctive insight and ability in applying relevant skills and concepts in relation to learning outcomes. There is demonstration of frequent originality in defining and analysing issues or problems and providing solutions; and the use of means of communication appropriate to the discipline and the audience.
- High Distinction (HD): provides consistent evidence of deep and critical understanding in relation to the learning outcomes. There is substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critical evaluation of problems, their solutions and their implications; creativity in application.
In this unit, your final grade depends on your performance for each component of the assessment. Indeed, for each task, you receive a mark that captures your standard of performance regarding each learning outcome assessed by this task. Then the different component marks are added up to determine your total mark out of 100. Your grade then depends on this total mark and your overall standard of performance.Concretely, you will pass the unit, if
- your total mark is at least 50 out of 100; and
- you pass the mid term test + final examination (i.e. obtain an aggregate mark of at least 30 out of 60).
In order to obtain a higher grade than a Pass, you must fulfill the conditions for a Pass and have a total mark of at least
- 85 for High Distinction;
- 75 for Distinction;
- 65 for Credit.
Macquarie is developing a number of policies in the area of learning and teaching. Approved policies and associated guidelines can be found at Policy Central. Refer to the Science Centre regarding the implementation of these policies (e.g. precise procedures, forms, deadlines, etc).
Special Consideration is intended for a student who is prevented by serious and unavoidable disruption
from completing any unit requirements in accordance with their ability.
This application form needs to be filled and submitted to
the Science centre along with some evidence to support your case.
Depending on the circumstances presented, the convenor may choose to give you an alternate assessment,
additional time for an assessment, make-up exam, etc.
details of the Special Consideration policy specific to the
Department of Computing, see the Department's policy
In particular, if your application concerns the final examination and is approved
In case of problems arising with your final grade, the first step is to organise a review. The Department recommends that you request an appointment with the convenor of the unit in order to review your grade. If the review does not solve the problem, a formal Grade Appeal can be lodged. See the grade appeal policy.
Academic Honesty and Plagiarism
Plagiarism involves using the work of another person and presenting it as one's own. The Department, in line with University policy, treats all cases seriously. In particular, the Department, keeps a record of all plagiarism cases. This record is referred to so that an appropriate penalty can be applied to each case.