Introduction to Data Structures and Algorithms - Course Outline
COMP 103: 2012 Trimester 1
This document sets out the workload and assessment requirements for
COMP 103 Introduction to Data Structures and Algorithms, and provides contact information for staff
involved in the course. If the contents of this document are altered
during the course, you will be advised of the change by an
announcement in lectures, and on the course web site.
COMP 103 builds on COMP 102, focusing on the techniques for designing,
building, and analysing computer programs that deal with large
collections of data. The course addresses techniques for programming
with collections of data, and the data structures and algorithms that
are needed to implement these collections. The course expands
students' programming skills, and provides an understanding of the
principles of data abstraction, algorithm design, and the analysis of
algorithms that are fundamental to computer science.
The prerequisite for COMP 103 is COMP 102. It is very important that
you have a COMP 102 level of experience in writing computer programs
in Java. If you have not taken COMP 102 recently you should contact
the Course Organiser as soon as possible.
Students who pass Introduction to Data Structures and Algorithms:
- are able to read pseudocode. (3(d),1,2,4)
- understand a range of basic algorithms: linear search, binary search, several standard sorting algorithms, hashing, tree traversal algorithms, and insertion / deletion in binary trees and priority trees. (3(b),3(d),2)
- understand the principles of designing programs with collection types, and using alternative implementations of the same type. (3(d),1,2)
- have good working knowledge of the properties and differences of a range of collection data types (including sets, bags, maps, stacks, queues, priority queues, trees, and partially ordered trees) and a range of data structures for implementing such data types, based on arrays and on linked structures. (3(b),3(d),1,2)
- are able to use and implement a range of basic generic collection types in Java. (3(d),3(f))
- are able to explain the concepts relating to the complexity analysis of algorithms, apply them to the algorithms discussed in the course, and use the results of the analysis to make good design decisions in building programs. (3(b),3(f),1,2,3,4)
- have some experience of testing.(3(f))
Assignments will allow students to practice the practical aspects of these topics, and help them to understand the basic concepts. The tests and final examination will assess understanding of the topics of the course.
The textbook for COMP 103 is: Lewis, DePasquale and Chase, "Java Foundations: Introduction to Program Design and Data Structures" (2nd Edition)
(Note: some printings have different cover images)
Lectures, Laboratories, Helpdesk and Tutorials
are on Mondays, Wednesday, Fridays at
11:00am-11:50 am, in HM LT002 (lecture theatre 002 in the Hugh Mackenzie building).
For the details see the online
, from where you can download copies
of all the lectures as we proceed. We will also hand out paper copies
of the lecture notes in lectures.
- we don't have fixed laboratory sessions for
COMP103, and you are able to use computers in a variety of places to
work on the assignments. Apart from times when particular labs are booked
for exclusive use by another course, you are free to use computers in
any of several available ECS laboratories.
In the first week of term however we will specify times when there
will be COMP103 teaching assistants (often called "tutors") in
particular labs. This information isn't available before the first
week because it involves coordination between the timetables not just
of COMP103 students, but of the teaching assistants as well.
. In addition to help in the labs, we will also run "Help
Desk" sessions nearby, which are for students who want to discuss
their assignment work in some detail with an experienced tutor.
are optional and aim to help students to
understand the lecture material better through being able to discuss
it with a senior student. The content will vary but might consist of
question-and-answer sessions, revisiting tricky lecture material,
going over past exam questions, and so on. The best tutorial sessions
are driven by students getting involved and taking the chance to get
clarification in areas they're not confident about. This is a good
time to sort out or consolidate your understanding of conceptual
The timetable page gives details of times and places for all the above. The details will be finalised in the first week of teaching.
COMP103 is a 15 point course, and you should plan to spend an average of at least 10 hours per week on it. A plausible breakdown for these hours would be:
- Lectures and tutorials: 4
- Readings: 1
- Assignments: 5
but this breakdown is likely to vary from week to week.
School of Engineering and Computer Science
The School office is located on level three of the Cotton Building (Cotton 358)
The notice board for COMP 103 is located on the second floor of the Cotton Building.
Jack Laurenson (Jack.Laurenson@ecs.vuw.ac.nz
) is the class rep for COMP 103. Class reps can act as a go-between on class-wide issues.
Course coordinator, and lecturers
The course organiser and lecturer for COMP 103 is Alex Potanin
Their contact details are as follows:
- Alex Potanin
- Cotton 262
- +64 4 463 5302
- office hours: by appointment via email please
Your dedicated TAs (teaching assistants) are to be announced.
The Senior Tutor is Ambreen Khan-Evans. See Ambreen in the first instance for issues related to tutoring and the operation of the labs.
Announcements and Communication
The main means of communication outside of lecture will be the
COMP 103 web area at http://ecs.wgtn.ac.nz/Courses/COMP103_2012T1/. There you
will find, among other things, this document, the
lecture schedule and assignment handouts, and the
COMP 103 Forum. The forum is a web-based bulletin board system. Questions and
comments can be posted to the forum, and students and staff will read
these posts and respond to them as needed.
Your grade for COMP 103 will be determined based on the following assessment weightings:
The assignments are deliberately of low weighting, because their
primary function is for learning as opposed to assessment. The
intention is that the tests will be difficult to pass for students who
haven't been doing the assignments. But they are also a mandatory
requirement: you must make reasonable attempts at 6 out of 9.
The test will be held in the lecture timeslot (see the lecture schedule for dates), and will be well advertised in lectures. The
content of questions in the test will be similar that in tests and
exams from previous years.
timetable for final examinations will be available from the University web
site and will be posted on a notice board outside the faculty
office. The final examination will be three hours long. No computers,
electronic calculators or similar device will be allowed in the final
examination, but paper foreign language dictionaries will be
permitted. The study and examination period for trimester
1 is 15 June - 4 Jul.
| assignments (9 at just over 2% each)
| test (45 mins)
| Final Examination (3 hours)
The assignments constitute all the practical work for this
course. There are 9 assignments and they make up 20% of the total
assessment, so they are worth about 2% each. But remember the
mandatory requirement is to do at least 6.
You don't need to sign up for a particular lab stream. Remember that
you can use the computers in the labs at any time the labs are
open. Our main lab is going to be CO237.
Policies and penalties for late submission Assignments submitted
after the due date and time won't be marked and can't contribute to
your final grade or to the mandatory requirements. This is because
model solutions are posted.
Working Together and Plagiarism
We encourage you to discuss the principles of the course and
assignments with other students, to help and seek help with
programming details, problems involving the lab machines. However, any
work you hand in must be your own work.
The School policy on Plagiarism (claiming
other people's work as your own) is available from the course home
page. Please read it. We will penalise anyone we find plagiarising,
whether from students currently doing the course, or from other
sources. Students who knowingly allow other students to copy their
work may also be penalised. If you have had help from someone else
(other than a tutor), it is always safe to state the help that you
got. For example, if you had help from someone else in writing a
component of your code, it is not plagiarism as long as you state (eg,
as a comment in the code) who helped you in writing the method.
Passing COMP 103
To pass COMP 103, a student must
- submit reasonable attempts at 6 assignments, out of the 9 (or obtain an exemption by speaking with the course coordinator). This a mandatory requirement for this course.
- gain at least a C grade overall.
The last date for withdrawal from COMP 103 with entitlement to a
refund of tuition fees is Fri 16 March. The last date for
withdrawal without being regarded as having failed the course is
Fri 18 May. Later withdrawals may be approved by the Dean
in special circumstances.
Rules & Policies
Find key dates, explanations of grades and other useful information at http://www.victoria.ac.nz/home/study.
Find out about academic progress and restricted enrolment at http://www.victoria.ac.nz/home/study/academic-progress.
The University's statutes and policies are available at http://www.victoria.ac.nz/home/about/policy, except qualification statutes, which are available via the Calendar webpage at http://www.victoria.ac.nz/home/study/calendar (See Section C).
Further information about the University's academic processes can be found on the website of the Assistant Vice-Chancellor (Academic) at http://www.victoria.ac.nz/home/about/avcacademic
All students are expected to be familiar with the following regulations and policies, which are available from the school web site:
Student and Staff Conduct
Meeting the Needs of Students with Disabilities
Academic Integrity and Plagiarism
Dates and Deadlines including Withdrawal dates
School Laboratory Hours and Rules
Expectations of Students in ECS courses
The School of Engineering and Computer Science strives to anticipate all problems associated with its courses, laboratories and equipment. We hope you will find that your courses meet your expectations of a quality learning experience.
If you think we have overlooked something or would like to make a suggestion feel free to talk to your course organiser or lecturer.
Course Outline as PDF