Design & Analysis of Algorithms - CS 4/56101
Spring 2018

MW 12:30 pm - 01:45 pm

MSB 104

 

Instructor
Office Hours
 

Email 
Telephone

Dr. Feodor Dragan 
Room 254 MSB
MW 1:45 - 3:45 PM

or by appointment
dragan at cs dot kent dot edu
(330) 672-9058

Grading Assistant
Office Hours
 

Email 

Ahmed AL-BAGHDADI

Room 253 MSB 
W 10 am to 12 pm

or by appointment 

aalbaghd@kent.edu

  • WWW:  http://www.cs.kent.edu/~dragan/CS4-56101-D&AofAlgS18.html
  • Prerequisites:  Data Structures - CS 23001
  • Course Description:  This course is an introductory undergraduate/graduate course on the design and analysis of algorithms. The course builds on the study of the analysis and implementation of data structures and algorithms from CS 33001. The goal is to introduce a number of important algorithm design techniques as well as basic algorithms that are interesting both from a theoretical and also practical point of view. We will cover basic algorithm design techniques such as divide-and-conquer, dynamic programming, and greedy techniques for optimization. We will cover techniques for proof of the correctness of algorithms and also asymptotic analysis of algorithm time bounds by the solution of recurrence equations. We will apply these design and analysis techniques to derive algorithms for a variety of tasks such as sorting, searching, and graph problems. Some specific algorithm topics include: deterministic and randomized sorting and searching algorithms, depth and breadth first search graph algorithms for finding paths and matchings, and algebraic algorithms for fast multiplication and linear system solving.
  • Learning objectives: Students will learn (i) advanced data structures and their analysis; (ii) to think algorithmically like a "real" computer scientist; (iii) different techniques and methods for designing efficient algorithms for solving computational problems. Students will develop (i) the ability to design efficient algorithms; (ii) the ability to prove correctness and evaluate efficiency of algorithms.
  • Goals:  This course has several goals.
    • Study important data structures and algorithmic techniques not normally covered in CS 33001.
    • Develop ability to design efficient algorithms.
    • Develop ability to prove correctness and evaluate efficiency of algorithms.

The main goal of the course is to learn to think algorithmically like a ``real'' computer scientist.

  • Textbook

Algorithm Design: Foundations, Analysis, and Internet Examples, Wiley, 2002, ISBN 0-471-38365-1
(by   Michael T. Goodrich and Roberto Tamassia)   Book's web site

  • Topics will include: We will cover the following topics (the topics and order listed are tentative and subject to change; some topics may only be quickly surveyed to add breadth, while others will be covered in reasonable depth).
    • Algorithm Analysis
    • Data Structures (Elementary Data Structures, Vectors,  Stacks, Queues,  Sequences, Trees, Heaps, Priority Queues, Hash Tables, Dictionaries)
    • Searching ( Binary Search Trees,  AVL Trees, Red-Black Trees, Skip Lists, Locators)
    • Sorting (Merge Sort, Quick Sort, Sorting Lower Bound, Sets, Radix Sort, Selection)
    • Fundamental Techniques (Greedy Method, Divide-and-Conquer, Dynamic Programming)
    • Graphs Algorithms (Graphs, Depth-First Search, Breadth-First Search, Biconnectivity, Directed Graphs)
    • Weighted Graphs (Shortest Paths, Minimum Spanning Tree)
    • Network Flow and Matching
    • Text Processing (Pattern Matching)
  • Course Requirements

Homework 

40% 

Midterm Exam

 ???????

 March ??, 2018

12:30 - 1:45 p.m.

30% 

Final Exam

Tuesday

May 8, 2018

10:15 - 12:30 p.m.

30%

Homework is very important. It is expected that most of your learning will come from the process of solving the homework problems. Exams will in large part be based on the homework.

  • Milestone for successful completion of the course
    • Attend the classes regularly,
    • Perform the homework thoroughly and independently,
    • Read the book carefully and several times.
  • Make-up and Late policy:  Attendance at times exams are given is a course requirement. Missed tests are only excused if absence was essential and can be fully documented. Homework must be turned in before or after the class on due date (otherwise, there will be some penalty points). Unexcused late homework is normally not accepted after 11:59:99 pm of due date. Class extensions on homework will be announced in class. They may also be announced by email and at the course website.
  • Homework and Collaboration: You will need to devote a considerable amount of time to homework. You may discuss the homework with other students, but you must write your solutions independently.  Study groups should limit their size to 2-3 so that each collaborator can participate in solution. If you obtain a solution to a homework problem through research (e.g., from books or journals), you are expected to acknowledge your sources in your writeup and  also to write up your solution independently.
  • Registration Requirement: The official registration deadline for this course is Jan. 28, 2018. University policy requires all students to be officially registered in each class they are attending. Students who are not officially registered for a course by published deadlines should not be attending classes and will not receive credit or a grade for the course. Each student must confirm enrollment by checking his/her class schedule (using Student Tools in FlashFast) prior to the deadline indicated. Registration errors must be corrected prior to the deadline. The last day to withdraw is March 25, 2018.
  • Student Accessibility Policy: University Policy 3342-3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessibility Services (contact 330-672-3391 or visit www.kent.edu/sas for more information on registration procedures).
  • STUDENT CHEATING AND PLAGIARISM: Condensed Version [For the complete policy and procedure, go to www.kent.edu/policyregister and search for policy 3342-3-01.8, or see http://www.kent.edu/policyreg/chap3/3-01-8.cfm or http://www.kent.edu/policyreg/chap3/upload/3342.3.01.8.pdf]

 

Cheating and plagiarism constitute fraudulent misrepresentation for which no credit can be given and for which appropriate sanctions are warranted and will be applied. The university affirms that acts of cheating and plagiarism by students constitute a subversion of the goals of the institution, have no place in the university and are serious offenses to academic goals and objectives, as well as to the rights of fellow students.

 

"Cheat" means to intentionally misrepresent the source, nature, or other conditions of academic work so as to accrue undeserved credit, or to cooperate with someone else in such misrepresentation. Cheating includes, but is not limited to:

 

1.       Obtaining or retaining partial or whole copies of examinations, tests or quizzes before these are distributed for student use;

2.       Using notes, textbooks or other information in examinations, tests and quizzes, except as expressly permitted;

3.       Obtaining confidential information about examinations, tests or quizzes other than that released by the instructor;

4.       Securing, giving or exchanging information during examinations;

5.       Presenting data or other material gathered by another person or group as one's own;

6.       Falsifying experimental data or information;

7.       Having another person take one's place for any academic performance without the specific knowledge and permission of the instructor;

8.       Cooperating with another to do one or more of the above;

9.       Using a substantial portion of a piece of work previously submitted for another course or program to meet the requirements of the present course or program without notifying the instructor to whom the work is presented; and

10.    Presenting falsified information in order to postpone or avoid examinations, tests, quizzes, or other academic work.

 

"Plagiarize" means to take and present as one's own a material portion of the ideas or words of another or to present as one's own an idea or work derived from an existing source without full and proper credit to the source of the ideas, words, or works. As defined, plagiarize includes, but is not limited to:

 

a.       The copying of words, sentences and paragraphs directly from the work of another without proper credit;

b.       The copying of illustrations, figures, photographs, drawings, models, or other visual and nonverbal materials, including recordings of another without proper credit; and

c.        The presentation of work prepared by another in final or draft form as one's own without citing the source, such as the use of purchased research papers.

 

Academic Sanctions, From Section D The following academic sanctions are provided by this rule for offenses of cheating or plagiarism. Kent campus instructors shall notify the department chairperson and the student conduct office each time a sanction is imposed. Regional campus instructors shall notify the regional campus dean and the student conduct officer each time a sanction is imposed. Regional campus student conduct officer shall notify the Kent student conduct office each time a sanction is imposed by a regional campus Instructor. The following academic sanctions are provided by this rule for offenses of cheating or plagiarism. In those cases the instructor may:

 

1.       Refuse to accept the work for credit; or

2.       Assign a grade of "F" or zero for the project, test, paper, examination or other work in which the cheating or plagiarism took place; or

3.       Assign a grade of "F" for the course in which the cheating or plagiarism took place; and/or;

4.       Recommend to the department chair or regional campus dean that further action specified in the rule be taken. The department chairperson or regional campus dean shall determine whether or not to forward to the academic dean or to the vice president for the extended university a recommendation for further sanction under this rule.

 

Procedures for invoking sanctions. (From Section E)

 

(1)            Academic administrative procedures pertaining to paragraph (D)(1)(a) of this rule. In the event that an instructor determines that it is more probable than not that a student in a course or program under the instructor's supervision has presented work for university credit which involves an act of cheating, plagiarism or cooperation in either, then the instructor shall:

 

(a)            Inform the student as soon as is practical, in person or by mail, of the belief that an act of cheating or plagiarism has occurred. If the student cannot be reached in a reasonable period of time, the instructor may proceed with sanctions, notifying the student in writing as promptly as possible of the belief and the procedural steps the instructor has taken.

(b)            Provide the student an opportunity to explain orally, in writing, or both, why the student believes the evaluation of the facts is erroneous.  

(c)            If the explanation is deemed by the instructor to be inadequate or if no explanation is offered, the instructor may impose one of the academic sanctions listed in paragraph (D)(1)(a) of this rule. Where appropriate, the instructor may recommend the imposition of academic sanctions listed in paragraph (D)(1)(b) of this rule. In addition, the instructor may refer the matter to the dean of the college, campus, or school in which the student is enrolled for imposition of academic sanctions listed in paragraph (D)(1)(b) of this rule.  

(d)            The instructor shall notify the office of judicial affairs of the circumstances and action taken. Such notification will be used as background information in the event that formal conduct charges are initiated against the student.  

(e)            The instructor shall inform the student in writing of the right to appeal, and the procedure to follow.  

(f)             The instructor shall keep the evidence of cheating or plagiarism in a secure place and provide it upon request to any appeals officer or the conduct officer. The instructor shall provide copies on request to the student at the student's expense.  

(g)            The instructor shall cooperate with academic and student conduct personnel in any appeal of the decision, and/or in adjudication of any disciplinary proceedings.



F. F. Dragan
dragan at cs dot kent dot edu
Spring 2018