Information

Class: Monday and Wednesday 3:30 PM - 4:50 PM
Date Range: Aug 28, 2017 - Dec 20, 2017
Location: Tuttleman Learning Center 302
Labs: SERC 206, 1:00 pm - 2:50 pm

Instructor Info
Name: Eduard C. Dragut
Email: edragut@temple.edu
Office: SERC 348
Office Hours: Wednesday 10:00AM - 12:00 AM or by email appointment

Teaching Assistants
Gamal Sallam [tug43066@temple.edu]
Office Hours: Thursday, 12:00PM - 2:00PM

Course Descriptions

The course introduces basic data structures, e.g. linked lists, stacks, queues, trees and graphs. Along with these, algorithms to utilize these data structures are introduced, e.g. insertion, deletion into lists, or tree traversal. The knowledge of these data structures is indispensable to be considered as a serious programmer in industry or research.
MAIN GOAL: to be familiar with a variety of basic data structures, to be able to implement them, to analyze their behavior, and to know when to utilize which data structure. This course will empower you to master these tasks. This course is at the heart of many challenges you will encounter in your programming life. It might also change your approach to solve problems outside of a programming environment. In short, it will give you a new perspective on organizing your data in professional, and probably private life. The class topics will be motivated by their use in serious computer science areas, such as search engines, databases, game programming or computer vision. Data structures and Algorithms will be implemented/examined using JAVA, and, although the theoretical part of this class is valid for all usual programming languages, this course will be heavy on JAVA object oriented programming. Weekly programming assignments, discussed in the lab, will support the more theoretical classes.

Textbook

Recommended: Data Structures: Abstraction and Design Using Java, Second Edition
Older editions are accepted. They may even be cheaper.

Workload

- Weekly quizzes Quizes
- Bi-Weekly programing assignments
- Midterm Exam (Date: TBD)
- Final Exam (Date: TBD) . Final exam is cumulative.

Grading

The final grade will be based upon the following:
- Quizes: 25%. The weakest two grades in your quizes will not be considered.
- Programing assignments: 25%.
- Midterm Exam: 20%
- Final Exam: 30%
- Extra-credit points may be given, up to 5%, based on the activity in class and the labs. The TA input will be taken into consideration.

Classroom Requirements

  • Cell phones must be turned off or set on vibrate during class.
  • Laptop/notebook computers and tablets cannot be used during class.

Late Submission Policy

Late submission is subject to a 10% penalty for each day late. After three days, late submissions will not be accepted. Students are strongly advised that any act of cheating will result in a score of 0 for the entire assignment and repeat offences will be reported to the Office of the Dean of Students and will result in an automatic F grade. You are encouraged to discuss problems and ideas but the final solution or code must be your own.

Disability Disclosure

Any student who has a need for accommodation based on the impact of a disability should contact me privately to discuss the specific situation as soon as possible. Contact Disability Resources and Services at 215-204-1280 in Room 100, Ritter Annex to coordinate reasonable accommodations for students with documented disabilities.