Syllabus
Table of contents
Overview
In this course, our aim is to present various algorithms for numerous ‘standard’ algorithmic problems. We will illustrate both algorithm design techniques and the methods employed in algorithm analysis. Moreover, since this course is designed for senior undergraduates, we will provide an introduction to notable subfields within algorithmic research, thereby offering potential directions for further study.
By the end of the course, students will learn:
- the application of fundamental algorithm design techniques.
- the main theoretical tools used in the analysis of algorithms
- the ability for desigining algorithms for some algorithmic problems.
- the ability for analysing given algorithms.
- an outline of the notable subfields within algorithmic research.
Policies
Cheating
You are encouraged to collaborate with your classmates or utilize online resources for any homework, program assignments, or bonus points. Actually, you can also ask for the instructor. However, directly copying and pasting code or answers is prohibited. If I ask you how your code works or why your answers are correct and you do not know, it will be evident that you have copied it. Don’t take the risk.
Homework
The HW, will be released once a week. The main content is the design of algorithms for certain problems and the corresponding algorithm analysis. Please submit the solution via the email qzyang@shnu.edu.cn.
Please note that late submissions will incur a 25% penalty.
Program Assignments
The PA will also be released once a week. We will use the problem on Leet Code. Please submit the solution via the email qzyang@shnu.edu.cn. Here is a sample submission sample.
After each program assignment, the instructor will randomly select one student to present their solutions to the class.
Please note that late submissions will incur a 25% penalty.
Final Exam
This course will have only one exam, the final exam. The more information will be decided later.
Bonus Points
TBA.
Grades
Students’ gradesGrade will be determined by the following components:
- HomeworkHW,
- Program AssignmentsPA ,
- Final ExamExam,
- Bonus PointsBonus.
- The final grade will be calculated using the following equation:
Grade = MIN{25%* HW + 15%* PA+ 60%* Exam +5%* Bonus ,100}
Resources
This course website, Algorithms, will be your one-stop resource for the syllabus, schedule and homework links.
LeetCode
Leet Code is an online platform that offers a wide array of coding challenges and problems, primarily focused on helping individuals improve their programming and problem-solving skills. We will use the website to complete our program assignments.
Reference
Here’re some recommended books:
- [1] M.H. Alsuwaiyel. Algorithms: design techniques and analysis.
- [2] S. Dasgupta, C. H. Papadimitriou, U. V. Vazirani. Algorithms
- [3] T. Cormen, C. Leiserson, R. Rivest, and C. Stein. Introduction to Algorithms
- [4] R. Sedgewick, K. Wayne. Algorithms
- [5] Jeff Erickson. Algorithms
- [6] 王晓东。 计算机算法设计与分析
- [7] 屈婉玲,刘田,张立昂,王捍贫。算法设计与分析