การวิเคราะห์ความซับซ้อนของขั้นตอนวิธี วิธีการแก้สมการเวียนเกิด การออกแบบขั้นตอนวิธีแบบต่างๆ รวมทั้ง การแบ่งและเอาชนะ การเขียนโปรแกรมแบบพลวัต ขั้นตอนวิธีกรีดี้ ขั้นตอนวิธีฮิวรีสติกส์และการประมาณ ขั้นตอนวิธีทางกราฟ และโครงสร้างข้อมูลขั้นสูง ความซับซ้อนทางด้านพื้นที่และเวลา เอ็นพีคอมพลีตเบื้องต้น ตัวอย่างที่ใช้ขั้นตอนวิธีที่กล่าวข้างต้น

Complexity analysis of algorithms. Methods of solving recurrence equations. Various algorithm design techniques including divide and conquer, dynamic programming, greedy algorithms, heuristics and approximation algorithms. Graph algorithms and advanced data structures. Space and time complexities. Introduction to NP-completeness. Practical examples that use the aforementioned algorithms.