[Teaching home]

ELL781: Software Fundamentals for Computer Technology

If you're doing the course, please join the Piazza forum (the access code has been announced in class).

Instructor: Sumeet Agarwal
TAs: Tarun Mahajan, Shahid K. I., Priya Shree, Himanshu Varshney
3 credits (3-0-0)
Pre-requisites: COL106
I Semester 2016–17
M Th 9:30–10:50, IIA 305 (Bharti building)

Evaluation components

References

  1. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and Algorithms (AHU). Addison-Wesley, 1983.
  2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms (CLRS). MIT Press, 3rd Edition, 2009.
  3. Michael Huth and Mark Ryan. Logic in Computer Science (LCS). Cambridge University Press, 2nd Edition, 2004.

Planned outline

Class(es) Topics References
1 Introduction
2–4 Data structures for combinatorial optimisation AHU Chapters 1, 2
5–8 Asymptotic analysis; NP-completeness AHU Chapters 1, 9; CLRS Chapters 3, 4, 34
9–12 Additional data structures AHU Chapters 3, 4, 5
13–19 Divide and conquer, dynamic programming, and graph algorithms AHU Chapters 6, 7, 8, 10
20–21 Network flows; linear and integer programming CLRS Chapter 26
22–23 Approximation algorithms CLRS Chapter 35
24–26 Randomised algorithms CLRS Chapters 5, 35
26–28 Software design UML slides; Formal Verification slides; LTL slides; LCS Chapter 3

[Teaching home]