Department of Computer Science


CS308: Data Structures (Spring 2003)

  • Meets: TR 1:00 - 2:15 pm (SEM 234)

  • Instructor: Dr. George Bebis

  • Teaching Assistant:Aglika Gyaourova

  • Text: N. Dale C++ Plus Data Structures Jones and Bartlett Publishers, 2nd edition, 2001.

  • Other Texts:


  • C++ information
  • Unix information
  • Makefiles and Debugging
  • Other Useful Information


    Course Description

    The purpose of this course is to introduce you to the exciting world of data structures, an issue central to the art of computer programming. At the end of the course you will be equipped with the tools of data organization to enable you to write simple, clear, and efficient programs. The course will be structured around a comprehensive set of computer assignments to enable you to get hands on experience. Our programming language of choice will be C++.

    Course Outline (tentative)

    Exams and Assignments

    There will be one midterm exam and a final. The material covered by the exams will be drawn from the lectures and from the homework. Both exams will be closed books, closed notes. Moreover, there will be 5-6 short quizzes in class (they will be announced at least one class period in advance). Homework problems will be assigned but will not be collected for grading. Also, there will be 4-5 programming assignments. The goal of the assignments is to provide you with hands-on experience with handling various kind of data structures. In the lectures, you will be introduced to data structures at an abstract level and in the assignments you will write code to implement and use these data structures. The set of tasks chosen for your assignments all relate to images (check the web page of the course for more information on how to read, write, and display images). You will design algorithms to perform simple image processing tasks using data structures such as arrays, stacks, queues, trees, and hash tables. These exercises are not only important from a grading standpoint but also are crucial learning tools.

    You will use your Linux accounts to do the assignments. The Engineering Lab contains a number of PCs to host your assignments and is a good place to do your work. You can, of course, remote log in to any of the PCs. The assignments are to be completed in groups of 2-3, however, all the members of the team is expected to fully understand the structure of the code and the implemented algorithms. Discussion of the programming assignments is allowed and encouraged. However, each team is expected to do its own work.


    Ghostview(software for viewing postscript files)
  • Syllabus

  • Image-Processing-Related Material

  • Sample Midterm Exam

  • Mideterm/Final Exam Guide

  • Source Code


  • Lectures


  • Programming Assignments




  • Department of Computer Science, University of Nevada, Reno, NV 89557
    Page created and maintained by: Dr. George Bebis (bebis@cs.unr.edu)