CSIT-836

Introduction to Data Structures

Instructor: Zare Agazaryan

Course Syllabus

Course Description: Introduction to the study of data structures formed from primitive data types, abstract data types (including stacks, queues, linked lists and binary search trees and their implementation and applications in program design, algorithms and complexity analysis.

Prerequisites

CSIT-839

Student Learning Outcome

Upon successful completion of this course, students will be able to implement computer programs which correctly utilize different abstract data types (ADTs): stacks, queues, linked lists and binary search trees.

Software

All programming assignments for this course can be completed either in C++ or in Java. I recommend that you choose one of those two programming languages and don't change it mid-course.

 

For C++, you can use Microsoft Visual C++. The CSIT lab computers should have Visual Studio IDE installed, which includes Visual C++ in addition to support for other programming languages. I recommend that you install a free version of Visual Studio Community Edition 2017 on your home computer so you can do your class work at home since lab resources at the college are limited. Assuming your home computer's operating system is a reasonably recent version of Windows, you can download Visual Studio 2017 Community Edition directly from Microsoft website. If you are using Linux or Mac operating system, you can use gcc or any variation of GNU C++.

 

For Java, you can use Eclipse, JetBrains IntelliJ IDEA, or Netbeans. Some CSIT lab computers may have Eclipse installed, but it's not guaranteed. I recommend that you install Eclipse on your home computer. Eclipse IDE is available from Eclipse project website. JetBrains has free version of IntelliJ called Community Edition. NetBeans IDE is available from NetBeans website. All three IDEs are available on Windows, Mac, and Linux platforms.

Textbook

Data Structures and Algorithm Analysis (download in PDF format)
Edition 3.2 (C++ Version)
Author: Clifford A. Shaffer
Department of Computer Science, Virginia Tech
March 28, 2013

ISBN-10: 048648582X
ISBN-13: 9780486485829

The textbook and C++ source files can be downloaded from author's website here.

 

Data Structures and Algorithm Analysis (download in PDF format)
Edition 3.2 (Java Version)
Author: Clifford A. Shaffer
Department of Computer Science, Virginia Tech
March 28, 2013

ISBN-10: 0486485811
ISBN-13: 9780486485812

The textbook and C++ source files can be downloaded from author's website here.

Course Progression

Assuming normal course progress, after initial coverage of multiple file projects which separate object definition from implementation, the course will cover the stacks, queues, linked lists and binary search trees, in that order.

Other Supplies

I recommend that you have a USB flash drive to back up your class work. The USB flash drive also may come in handy for your other classes.

Grading Policy

Final exam (or project) - 50%  (see details below)
Assignments - 50% (see details below)
No extra credit.
 

Final Exam

There will a final exam or project. Which is in the instructor's discretion and will be announced ahead of time on the class' CANVAS website. The final exam or project will count towards 50% of the grade.

If there is a final project, it will be announced on the class' CANVAS website, together with the due date and other information about the final project. 

If there is a final exam, it will be during finals week per the Final Exam Schedule, and may take place at school (as opposed to online). The exact date, time and place will be announced will be announced well in advance, and accommodations will be made for another date/time during finals week if you have another final exam at the specified date/time. However, the final exam must be during finals week, not before or after, so you will need to be reasonably available during that time. The college identifies the time period of finals week before the start of the semester, so it is not an excuse that you will be gone on vacation, or a trip for your job, etc., during finals week.

Assignments

There also will be computer programming assignments. The assignments will count towards 50% of the grade, and be weighted among each other in proportion to the maximum points assigned. The assignments and their due dates will be announced on the class' CANVAS website.

CANVAS

This class is online, hosted by CANVAS. Login instructions.

Classroom Accommodations

If you are a student with a disability requiring classroom accommodations, and have not contacted Services for Students with Disabilities ("SSD"), do so in a timely manner. SSD is located in the Student Services Annex, Room 175 or call SSD at (818) 947-2681 or TTD (818) 947-2680 to meet with a SSD counselor. If SSD has already sent the memo to instructor confirming accommodations required by student for this class, please meet with me to discuss arrangements.

Academic Dishonesty

I will follow the official Policy on Academic Dishonesty on pages 199-200 of the LAVC 2018-2019 Catalog.

Contact

The best way to contact me outside of class is by e-mail.  My college e-mail address is agazarz@lavc.edu.