CSIT 832 

Advanced Data Structures

Instructor: Zare Agazaryan

Course Syllabus

CSIT 832,  Advanced Data Structures, follows our introductory Data Structures course, CSIT 836, and also uses the C++ programming language. You will learn about sorting, searching, priority queues, graphs, sets and hashing.   

Prerequisites

CSIT 836

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), among which are priority queues, heaps, graphs, sets, sorting, searching, and hashing.

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: 978-0486485829

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

Course Progression

Assuming normal course progress, the course will cover priority queues and heaps, graphs and sets, sorting, searching and hashing, in that approximate order.

Software

We will use Microsoft Visual C++. The CSIT lab computers have the 2013 version of Visual Studio, which includes Visual C++ in addition to support for other programming languages.  I recommend you install a free version of Visual Studio on your home computer so you can do your class work at home since lab time in the classroom and lab resources elsewhere in the college are limited. Assuming your home computer's operating system is Windows XP or newer, I recommend you obtain the Visual Studio Community 2015 edition.  If you are eligible for Microsoft DreamSpark (as you very likely are), you can obtain Visual Studio 2015 Professional edition (and other software) free. If you don't have a DreamSpark account, follow these directions. If you wish, you also can use any other C++ compiler for your homework, but make sure you know how to use Visual C++, since that is the software you will be using in tests you take in the lab.

Other Supplies

I recommend that you purchase 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 - 40% (see details below)
Check-ins - 10% (see details below)
No extra credit.

Final Exam or Project

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 take place at school (not online). The exact date, time and place (probably Engineering 107 but may be another lab classroom) will be announced well in advance on the class' CANVAS website, 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 40% 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. Please see the assignment submission instructions. There will be no make-ups for missed assignment deadlines.

Check-ins

There also will be check-ins. The check-ins will count towards 10% of the grade, and be weighted among each other in proportion to the maximum points assigned. The check-ins will be weekly and their due dates also will be on the class' website. There will be no make-ups for missed check-in deadlines.

Websites

My website has some links with CANVAS Access Instructions for accessing your class' website on Canvas. You should contact LAVC Distance Learning HelpDesk if you're having difficulties.

 

HyperGrade is a new tool that will be used by all my programming classes. I have few brief instructions on HyperGrade on my website. The course code for CSIT-832 is: 10566.

FAQs

My website also has a Class FAQ (Frequently Asked Questions) and an Online FAQ. Read them!

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 at pages 196-197 of the LAVC 2016-2017 Catalog.

Contact

The best way to contact me outside of class is by e-mail.  My college e-mail address is agazarz@lavc.edu. I am adjunct faculty at LAVC, which means I don't have an office on campus and I don't have a campus telephone/extension. I am also teaching CSIT-890 class, which is meeting on Tuesdays 5:45-9:55pm. You are welcome to stop by to see me during the break or during lab hours of that class preferably with prior arrangement via email.