The goal of this course is to teach students the design, analysis, implementation, and use of computer algorithms. We will start with introductions to fundamental data structures, sorting, recursive programs, dynamic data structures, memory management, algorithm design techniques and complexity analysis. We then move to applications in optimization problems. Examples will be taken from linear and integer programming, covering, knapsack, graph-theoretic problems, network analysis and scheduling. Grading Students will be graded based on their performance on exams and individual exercises.
Complexity is the prodigy of the world.
Simplicity is the sensation of the universe. Behind complexity, there is always simplicity to be revealed. Inside simplicity, there is always complexity to be discovered. Your Comments and Questions are welcome.