ITEC 360 - Data Structures and Analysis of Algorithms - Spring 2020

Instructor: Dr. Okie, 219 Davis Hall
Phone: Office: 831-5992; Home: 951-7372 (Before 9:00 p.m., please)
Email: nokie (Feel free to send email. I'll reply as quickly as possible.)
Office Hours: MWF 10-11; TuTh: 1-2, and by appointment. Lunch or meetings may occasionally require me to be a little late on TuTh. You are welcome to come by at any time and if not busy I'd be glad to help you. Except for classes and meetings, I'm usually in most of the day. You may want to check my complete schedule to see when my meetings and classes are normally held.

Content: In this course we will explore advanced algorithms and data structures that are used to develop effective solutions to a variety of problems. We will also analyze the complexity of many algorithms. Common design techniques will be introduced, and NP-completeness will be discussed.

Course Outcomes: Students who complete the course will be able to

  1. Analyze the asymptotic running times of iterative and recursive algorithms in terms of Theta (asymptotic tight bound), Big Oh (asymptotic upper bound) and Omega [aka Lambda] (asymptotic lower bound) notations.
  2. Use appropriate data structures for sorting and searching data.
  3. Apply appropriate algorithmic design methods from among divide and conquer, greedy and dynamic programming to design and implement solutions to various problems (e.g., string matching).
  4. Apply graph theory to design and implement solutions to various problems
  5. Identify the methodology of proving a problem to be NP-complete.
Prerequisite: ITEC 122, ITEC 320, ITEC 324, and either MATH 151 or MATH 171 or MATH 168:169.
Required Text: Introduction to the Design and Analysis of Algorithms, Third Edition, Anany Levitin, Pearson Education/Addison Wesley Publishers, 2011, ISBN-13: 978-0-1323-1681-1.
Semester Schedule: Our plan is to cover selected sections in the entire text. Specific readings will appear in the course web page. Exams will be held about one and two thirds through the semester.

Communication: I will post relevant course information on the course web page as well as send announcements via email.  It is your responsibility to be aware of this information, as well as all information presented in class, of course.

Course web page: http://www.radford.edu/nokie/classes/360. Please remember that I frequently revise my notes pages and they can change at any time, including just before, during, and just after class. As the semester progresses, the notes from last semester will be updated for this semester.

Evaluation:
Per cent Activity
50 Programs, Homework, and In-class Activities
30 Two in-class tests
20 Comprehensive final exam: 10:15 a.m. - 12:15 p.m., Wednesday, May 6, 2020
100 Total

Assignments: Assignments for the course will include both homework problem sets to solve and programs to write.

It is important that you do the problem sets; figuring out the answers to problems is the best way to learn the material.   Also, the problems are worth 50% of your grade.   If there are 10 sets, then each will, obviously, be worth about half of a letter grade for the course!  

Proble sets will be graded on correctnesss and completeness, as well as neatness, clarity, and grammar.

Please use the course grades page to verify that I recorded your grades correctly, and keep all graded work until after you have received your course grade.

Turning in work and Late Policy: Unless otherwise specified, homework problems will be due in class, on paper. Neither late homeworks nor electronic homework submissions will be accepted.

Each student can turn in an homework assignment late, but you must ask for permission.

Unless otherwise specified, programs will be submitted using the submit command, not D2L. Late programs will have a 10% per day penalty.

Attendance: Attendance is not required; however you will find it much easier to learn the material and to make a good grade if you come to class. If you get behind in this course you are likely to find it extremely difficult to catch up!  Learning the concepts takes time, and you must work on the course material regularly for it to sink in.  You will not be allowed to make up any in-class activities that you miss. Good attendance and class participation can be to your benefit if you have a borderline final grade!

Laptops: Laptops and other electronic devices are not to be used during class unless you have permission. Research shows that multitasking hurts learning, and it is also distracting to others. Experience shows that electronic distractions typically lower a student's performance in the course by a full letter grade.

Exams: In exceptional circumstances I may give permission to miss an exam if you contact me in advance. In such cases the weight of your final will be increased. Otherwise a missed exam will be worth 0 points.

Honor Code: This class will be conducted in strict observance of the Honor Code. Please refer to your Student Handbook for details of expected behavior.

Of course, all work that you submit for grading must be your own.  In relation to your assignments, this means that you may discuss with other students what a problem means; however, you may not discuss how to do  the assignment with anyone except me.   Similarly, you may discuss with others what various definitions and theorems mean, but you must not let anyone write your assignments for you and you must not use someone else's solutions as a basis for your own.

If you receive any help of any kind on an assignment (such as using material that you find in a book or on the web), then the work that you turn in must give credit for that help.

Please be aware that if I suspect that you have violated the Honor Code, then I will not hesitate to file charges with the Dean of Students Office.



Dr. Okie's Home Page