CS 300

CS 300 – Data Structures

Spring 2018

3 credits, prerequisites: CS 204



Google Docs link

Recitations and Office Hours

Teaching Assistants

Baran Usta, Omid Kazemy


  • Midterm will be on July 17 Tuesday 18:40-20:40
  • Final exam will be on August 13 Monday 12:30-15:30. 


  • When: Tuesday 12:40-15:30 and Wednesday 12:40-15:30.
  • Where: FASS G049.


Data Structures & Algorithm Analysis in C++, (2 nd, 3rd, or 4th edition), Mark Allen Weiss, Pearson, 2014, ISBN 0-273-76938-3 (4th edition).

We may not stick to the textbook all the time, you are responsible for all material covered in class.

The syllabus that is/will be distributed in the first class is here. The course description and the a list of topics that will be covered in class are there.

Lecture Notes and Codes

Lecture notes discussed in class are distributed here.

Course Tools Installation guide

You can install Visual Studio 2012 from \\software\microsoft\VisualStudio\Visual_Studio_2012.

Here is a step-by-step installation guide.

If you want to use is on your Mac machine, you need to install Windows virtual machine first, here is a video with the guidelines  to put Windows installation on your MAC.

Homework – assigned and collected at SUCourse.

There will be 4 programming homework. They will be assigned and collected at SUCourse. Recitations will be used for clarification about the homework. Late penalty is 10% of full grade (only 1 late day is allowed).

If the homework is not done by you, you will get -100. If you do it again, you will fail the class.

Tentative Grading

  • Midterm (30%): July 17 Tuesday 18:40-20:40
  • Final Exam (34% ): August 13 Monday 12:30-15:30
  • Homeworks (32% total) – 5 homework will be assigned and they might not have equal weight
  • Recitation Attendance (%4): %2 is left to the TA as “kanaat”/”self-opinion”
  • Important Notice about grading: Weighted average is not the only criterion in letter grading; exam average may also be taken into consideration.

Expectations from Students

  • Students are expected to attend all classes, recitations and labs. Learning a programming language is much easier when a person explains it. You have to spend more time to compensate a missed class. So absenteeism does not buy time.
  • Students are responsible for the material covered in class even if it is not part of the lecture notes published on the website (Sometimes we explain some stuff on the board). That is why attendance is important.
  • Students are responsible to check their emails (Sabanci University accounts), SUCourse and course website daily for any announcements related to this course.
  • PLAGIARISM WILL NOT BE TOLERATED. Please read the policy on plagiarism.

  • Please also read the make-up policy, if you ever plan to take a medical report for any exam.