CSE 830: Design and Theory of Algorithms - Computer Science and ...

100 downloads 144 Views 95KB Size Report
Credits: 3. Course web: http://www.cse.msu.edu/∼ cse830. Description: To acquaint students with ... Office hours: Thursday 2-3:30pm and by appointment.
CSE 830: Design and Theory of Algorithms Department of Computer Science and Engineering, Michigan State University

Fall 2015

Credits: 3 Course web: http://www.cse.msu.edu/∼ cse830 Description: To acquaint students with important concepts, techniques, and facts central to computing. To study algorithms, their design, analysis, correctness, and efficiency, and their limitations. To convey the essence of NP-hardness and develop an ability to recognize NP-hard problems. Time and location: Tuesdays and Thursdays 10:20-11:40 AM 1234 Engineering Building Instructor: Yanni Sun, e-mail: [email protected] Web: http://www.cse.msu.edu/∼yannisun/ Office: 3134 Engineering Building Tentative Office hours: Thursday 2-3:30pm and by appointment. Emails and telephone calls are not good for asking technical questions. Prerequisites: Knowledge comparable to that taught in: 1. CSE 260 Discrete Structures in Computer Science 2. CSE 232 Introduction to Programming II Text: Cormen, Leiserson, Rivest, and Stein (2009) Introduction to Algorithms, 3rd Edition, The MIT Press Class notes: The class notes will be posted on the course web site.

1

Graded work: • 2 midterm exams, 15% each • final exam, 15% • homework/programs, 52% • class participation, 3% (decided by the number of submitted in-class exercises, see details below) • Grading: The final grades will be assigned based on the following scale: The instructor reserves ≥ 90% 4.0

85% 3.5

75% 3.0

70% 2.5

60% 2.0

the right to make changes to the grading scale. Specifically, the score required to obtain each mark may be lowered. Exams: Exams are always closed-book and closed-notes. However, you may use one 8.5 by 11 sheet (one side) if desired. Homework: Homework typically will have multiple problems and may require mathematical analysis, analysis of an existing programs or functions, or programming something new. Homework deliverables: Students will submit homework via Handin or in class. Usually, there will be multiple files for programming homework. A .pdf/.txt file (or equivalent) outlining results is always required. If programming is required, program source files, and a Make file, will also be submitted. Data files are also required. Only pdf or txt format files are accepted. Homework and program format: Guidance on report and code format will be provided later. Volunteer grader: I will be asking for student volunteers to help grade the homeworks. Graders will be chosen on a first-come, first-served basis. I usually need two student graders per problem.Depending on how well I feel you did at grading a problem, you may receive extra credit up to the value of the problem you grade. Each student may volunteer to grade one problem (on one problem set) during the semester. I will try not to allow repeat grading, but that depends on student availability. Policy about late work: The submission deadline will be specified for each homework. Generally no late work will be accepted. However, every student gets ONE chance to submit homework late (by 48 hours). For example, if the deadline for the homework is 3PM, you have one chance to turn in the homework by 3PM the day after tomorrow. No work will be accepted/graded passing the extended deadline. Follow the instructions for the one-time late work submission: 1) email the instructor to indicate that you will turn in the homework late, 2) email your homework to the instructor by the extended deadline. In case of a documented crisis, such as illness, the student should submit the an official document to arrange for alternate grading. Advance notification is required for late submission unless this is impossible. In-class exercises Multiple in-class exercised will be distributed and collected in some classes. The class participation score will be decided based on the number of submitted in-class exercises. 70% (e.g. submitted at least 7 out of 10): 3; [70% - 50%): 2.5; [50%-30%): 2; [30%-20%): 1; others: 0 Academic Integrity: Article 2.3.3 of the Academic Freedom Report states: The student shares with the faculty the responsibility for maintaining the integrity of scholarship, grades, and professional standards. In addition, CSE adheres to the policies on academic honesty specified in General Student

2

Regulation 1.0, Protection of Scholarship and Grades; the all-University Policy on Integrity of Scholarship and Grades; and Ordinance 17.00, Examinations. (See Spartan Life: Student Handbook and Resource Guide and/or the MSU Web site.) You are expected to develop original work for this course; therefore, you may not submit course work you completed for another course to satisfy the requirements for this course. Students who violate MSU rules may receive a penalty grade, including but not limited to a failing grade on the assignment or in the course.

Table 1: Tentative course calendar Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Final Exam

Dates 9/3 9/8 9/15 9/22 9/29 10/6 10/13 10/20 10/27 11/3 11/10 11/17 11/24 (only Tuesday) 12/1 12/8

Topics Course intro; algorithm complexity analysis sorting algorithms and algorithm complexity analysis continued Greedy Greedy Dynamic programming Dynamic programming Heap, Exam I Heap, Graph algorithms:DFS, BFS, and topological sorting Shortest path algorithms and Spanning trees Complexity theory and reduction reduction continued, Exam 2 Basic data structures: search trees Data structures String/sequence algorithms String/sequence algorithms, Review for final

Changes: This syllabus is subject to change. The changes will be announced in the class and then reflected in this document.

Acknowledgements: For lectures and assignments, I have used materials from others including Dr. Eric Torng, Dr. Charles Ofria, and Dr. Jeremy Buhler. Parts of the Academic Integrity rules are contributed by Dr. Laura Dillon.

3

Suggest Documents