Question Do you have a suggested textbook for this course?
Answer No. I draw upon a number of resources and books to teach this course. Some of them can be found in the resources section. However, I will regularly post handouts with material covered in the class.
Question Will I need to do lots of programming?
Answer Yes. The homework problems will increasingly become tougher and involve more and more programming. Besides, you are expected to do a non-trivial project. If you have never done programing before then you should plan to spend substantial amounts of time on this course.
Question Will I become a guru Python programmer?
Answer You may very well become one, but that is not the goal of this course. For most part we will stick to basic language constructs and simple syntax.
Question Will you teach us how to use standard libraries e.g. for matrix manipulation or sorting?
Answer Yes. We will learn to code many things from scratch but for some of the basic linear algebra routines we will be using the excellent Numpy and Scipy libraries.
Question Will I need lots of maths to understand your lectures?
Answer I expect familiarity with
as pre-requisites. There will be emphasis on rigor even when learning about algorithms and data structures. After all, Computer Science is all about discrete maths!
Question Can I meet you anytime I want?
Answer I will definitely be around during office hours. You are welcome to walk in any other time I am in my office, but do remember that I generally have busy days. To avoid disappointment it is best to book a slot via email.
Question Do you reply to emails?
Answer I try to reply to emails as promptly as possible. If you do not hear back from me within 3 - 4 days then please ping me during the class. Your email may have ended up in my junk mail folder!
Question Can I solve the HW problems collaboratively?
Answer The course policy clearly says:
Group discussions are encouraged to further understand difficult topics. You may consult with other students about homework problems, provided that you indicate such information (whom you consulted with, which problem, to which extent) on your solution sheet. However, you must refrain from getting direct answers from others.
Any violation will result in zero credit for the assignment.
Question How do I submit my HW?
Answer For problems which do not involve coding, neatly type or write the solution and submit in class. I strongly encourage the use of LaTeX and discourage the use of MS Word. For solutions which involve coding, submit a print out in class and send your code via email to the TA before the class. Graded homeworks will be returned in the class.
Question Will you post notes for all topics?
Answer Yes for almost all topics except standard ones for which I will refer you to chapters in a text book or to other standard resources.
Question Will you use slides (e.g. powerpoint) for your lectures?
Answer No. Usually I prefer to lecture on the blackboard. Class notes will be available for download from the course home page shortly after the class.