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.

The Course

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.

Objectives

Students who pass Introduction to Data Structures and Algorithms:

  1. are able to read pseudocode. (3(d),1,2,4)
  2. 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)
  3. understand the principles of designing programs with collection types, and using alternative implementations of the same type. (3(d),1,2)
  4. 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)
  5. are able to use and implement a range of basic generic collection types in Java. (3(d),3(f))
  6. 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)
  7. 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.

Textbook

The textbook for COMP 103 is: Lewis, DePasquale and Chase, "Java Foundations: Introduction to Program Design and Data Structures" (2nd Edition).

textbook.jpg (Note: some printings have different cover images)

Lectures, Laboratories, Helpdesk and Tutorials

Lectures 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 schedule, 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.

Laboratory hours - 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.

Helpdesk. 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.

Tutorial sessions 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 issues.

The timetable page gives details of times and places for all the above. The details will be finalised in the first week of teaching.

Workload

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.

People

Class representative

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
  • alex@ecs.vuw.ac.nz
  • office hours: by appointment via email please

    Tutors

    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.victoria.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.

    Assessment

    Your grade for COMP 103 will be determined based on the following assessment weightings:
    Item Weight
    assignments (9 at just over 2% each) 20%
    test (45 mins) 20%
    Final Examination (3 hours) 60%

    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.

    The 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.

    Practical Work

    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.

    Plagiarism

    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.

    Withdrawals

    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:

    Grievances
    Student and Staff Conduct
    Meeting the Needs of Students with Disabilities
    Student Support
    Academic Integrity and Plagiarism
    Dates and Deadlines including Withdrawal dates
    School Laboratory Hours and Rules
    Printing Allocations
    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