Programming Interest Group

Department of Computer Science

Hong Kong Baptist University


Dr. Xiaowen Chu

Office: RRS719

Phone: 3411 5998



Tutorial 1


   Introduction: Get familiar with your weapon


Tutorial 2



   Data Structures


Tutorial 3



   Strings and Sorting


Tutorial 4



   High-Precision Arithmetic


Tutorial 5



   Combinatorics and Number Theory


Tutorial 6



   Divide and Conquer & Backtracking


Tutorial 7



   Dynamic Programming


Tutorial 8



   Computational Geometry


C++ Workshops:

Workshop 1

Introducing Object Technology

Workshop 2

Introduction to Classes and Objects

Workshop 3

Classes: A Deeper Look, Part 1

Workshop 4

Classes: A Deeper Look, Part 2

Workshop 5

Operator Overloading

Workshop 6


Workshop 7

Introduction to STL

Acknowledgement: Some PPTs used in the workshops are from the book "C How to Program" by P.J. Deitel and H.M. Deitel.


  • Steven S. Skiena and Miguel Revilla, Programming Challenges, the Programming Contest Training Manual, Springer, 2003.
  • Ahmed Shamsul Arefin, Art of Programming Contest, 2nd Edition, 2007.
  • M.A. Weiss, Data Structures and Algorithm Analysis in C, 2nd Edition, Addison-Wesley, 1997.
  • P.J. Deitel and H.M. Deitel, C How To Program, 5th Edition, Pearson Education, 2007.
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 3rd Edition, The MIT Press, 2009.
  • Robert Sedgewick, Bundle of Algorithms in Java, Third Edition (Parts 1-5): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms, 3rd Edition, Addison-Wesley Professional, 2003.

Useful Links and Resources:

·        Guided Studies on Theoretical Computer Science

·        Programming Challenges


·        C/C++ References

·        The C Cheat Sheet

·        C Reference Card (ANSI)

·        STL Quick Reference

·        ACM International Collegiate Programming Contest

·        ACM Collegiate Programming Contest (Hong Kong)