o List definition, representation and operations
[Lab 3] Homework and lab for list construction and operations
Week 4. Stack
o Stack definition, representation and operations
[Lab 4] Homework and lab for stack construction and operations
Week 5. Queue
o Queue definition, representation and operations
[Lab 5] Homework and lab for queue construction and operations
Week 6. String (1)
o String definition, logical and storage structure
[Lab 6] Homework and lab for string construction
Week 7. String (2)
o String operations and matching algorithms
[Lab 7] Homework and lab for string matching
Week 8. Mid-term test
o Test
[Lab 8] Project assignment
Week 9. Tree
o Tree definition, representation and mapping from different representations
[Lab 9] Homework and lab for tree construction and operations
Week 10. Binary tree
o Binary tree definition, operations and traversal
[Lab 10] Homework and lab for binary tree construction, operations and traversa
Week 11. Priority queue
o Priority queue definition, representation and operations
[Lab 11] Homework and lab for priority queue construction and operations
Week 12. Graph algorithms (1)
o Graph definition and representation
[Lab 12] Homework and lab for graph construction
Week 13. Graph algorithms (2)
o Graph shortest path algorithms
[Lab 13] Homework and lab for shortest path
Week 14. Graph algorithms (3)
o Network flow problems