Course syllabus

This page gives a basic overview of CS220 for Semester 1 2021. All course material is in Modules.

Course Overview Digital Course Outline Staff
Class Representatives Meeting Times Course Resources
Assessments Course Expectations Getting Started

 

Course Overview

This course extends the algorithm and data structure material taught at Stage 1, and examines practical and theoretical aspects of program performance. You will learn how to store and process data efficiently and how to assess how well your program scales when it needs to handle more data. A course such as this is a standard part of a Computer Science degrees worldwide and the material is equally important in many areas of practical and theoretical computer science.

Specifically, this course builds on the basic data structures that are covered in  COMPSCI 105/107/130, uses them to implement problem-solving methods, and analyzes the resulting algorithms. Such an analysis shows how efficient an algorithm is. A good algorithm can make the difference between a program being practically useful or useless. We will learn how to analyze an algorithm for efficiency, and which data structure to use when programming the algorithm. In doing so, we encounter some classical algorithms. One such example are graph algorithms. Due to their natural structure, graphs have many real-world applications. By studying some fundamental graph concepts and key algorithms we will answer questions such as ``How does Google Maps find the shortest driving distance?'' between two cities.

 

Digital Course Outline

A full overview of the course is provided in the Digital Course Outline

Please note that the Digital Course Outline lists a "test" under "Assessments". Due to the ongoing pandemic, we have replaced this test with an "online quiz" this semester. This is so that all students (regardless of whether on campus or offshore) have to complete the same type of assessments. Information about the online quiz can be found below.

 

Staff

The course coordinator for this course is Dr Simone Linz. She is the contact for administrative questions about the course.

For all questions about the course content, contact the relevant lecturer or your tutor.

  • Dr Tanya Gvozdeva (lecturer Weeks 1-6), room 303-415, t.gvozdeva@auckland.ac.nz
      • Office hours

      •  

        Wednesday (June 9th) from 10.30am to 1pm.

        Online office hours: by appointment.

        Join Zoom Meeting
        https://auckland.zoom.us/j/3554909156

        Meeting ID: 355 490 9156

  • Dr Simone Linz (course coordinator and lecturer Weeks 7-12), room 303S-481, s.linz@auckland.ac.nz
    • Office hours: Monday 12.30pm - 1.30pm or by appointment. If you are studying from offshore, drop me an email for the Zoom link.
  • Michael Chen (tutor): xche182@aucklanduni.ac.nz
  • Richard Hua (tutor): rwan074@aucklanduni.ac.nz

 

Class Representatives

Class reps can act as an intermediary between students in the class and the lecturers and tutors. You can share with them any suggestions/complaints/remarks about the lectures. The class reps are not a part of the teaching team.

1) Gali Mortimer-Webster gmor924@aucklanduni.ac.nz

2) Jinhua Fan jfan200@aucklanduni.ac.nz

 

Jinhua's  Wechat account:

IMG_8341.jpg 

 

Meeting times

We have three lectures per week and one tutorial per week. We strongly recommend you attend these in person whenever possible. Tutorials start in Week 2 of the semester (i.e. March 8).

Check SSO for rooms and times.

Lecture recordings will be posted about 6 hours after each lecture. On-campus tutorials will not be recorded.

Tutorials.

Tutorial time

Zoom ID

(only under Alert Level 2, 3, or 4)

Room

(only under Alert Level 1)

Monday 9-10 775 395 2231  CAG16/114-G16
Monday 12-1    487 793 2569 303-G14
Monday 4-5   775 395 2231 119-G30
Tuesday 3-4     775 395 2231 119-130
Tuesday 5-6   775 395 2231 303-G16
Wednesday 12-1     487 793 2569 303-B07
Wednesday 4-5     487 793 2569 303-B07
Thursday 3-4      487 793 2569 ClockT032/105-032

 

In addition we have two weekly online tutorials via Zoom that are primarily for offshore students. These take place regardless of the alert level in Auckland, and start in Week 2.

Online tutorials with Richard: Wednesdays 5-6pm, ZoomID: 487 793 2569

Online tutorials with Michael: Mondays 8-9pm,  Zoom ID: 775 395 2231  

If you are an offshore student, you can attend any online tutorial you like for as long or as little as you like.

 

Course Resources and Getting Help

Piazza: Piazza is the main forum we will be using for asking and answering questions. In a large class like this it works well so you are encouraged to participate asking and answering questions there.

To encourage students' responses, we as lecturers will follow a "6 hour" rule: during the first 6 hours of any post about the material in COMPSCI 220, we will not respond.  Note that this does not mean that we will respond immediately after 6 hours!  Depending on when your question goes up, we may be in meetings, teaching another course, or it may be after work.  In general, we'll get responses up as soon as we are able to do so during workdays.  If you haven't seen a response in two working days, please repost or email us.

Note that all official announcements will be made on Canvas and not necessarily also on Piazza.  We therefore ask you to check Canvas and your university email regularly.

Coursebook and textbook: The course follows the coursebook closely. The coursebook can be downloaded from Canvas and is available to purchase for $10 for the Science Student Resource Centre. If you would go a little deeper than the coursebook, we recommend the textbook.  Both books are freely available for download - see Getting Started. (Note that the coursebook that is available from the Science Student Resource Centre is last semesters copy and may contain some typos that have been corrected in the latest version that you can download from Canvas.)

Pre-recorded short videos that cover most topics in the course are available on Mark Wilson's Youtube Channel for the first half of the course  and on David Welch's channel for the second half of the course. These lectures are intended to supplement the in-person lectures. 

 

Assessments and Pass Requirements

This course will have:

  • 30% four assignments (7.5% each)
  • 15% online quiz (APRIL 28, 6-7pm), the quiz will cover the first six weeks of the course, 
  • 55% final online exam, the exam will cover all twelve weeks of the course

All four assignments will be posted well before their due dates as Assignments on Canvas

Assignment 1: Out 9 March / Due 19 March, 7pm

Assignment 2: Out 1 April / Due 23 April, 7pm

Assignment 3: Out 4 May / Due 14 May, 7pm

Assignment 4: Out 18 May / Due 28 May, 7pm

Late assignments will not be marked.

The online quiz will be held April 28 from 6-7pm. 

To pass the course you must achieve an overall pass, and achieve a pass in the Theory component of the course (quiz and exam) and the Practical component of the course (assignments).

 

Course Expectations

A document that outlines student learning expectations in the School of Computer Science can be found here.

More information on Academic Integrity here.

 

Getting Started

The course material is arranged in Modules, with the basics in the Getting Started Module.

 

 

Course summary:

Date Details Due