Q: 
How difficulty is CS5240 for me if I don't have the prerequisites? 
A: 
CS5240 uses linear algebra extensively. If you do not know linear algebra, then this course is not suitable for you.
Please download Exercise 1 and Exercise 2 and try them out.
If you cannot do these exercises by yourself, then this course is not suitable for you. 


Q: 
Do we get to practice what we learn in class? 
A: 
Yes. You will get to practice applying the knowledge learned. This practice comes in two forms: assignments and team project. Assignments cover mainly the foundational topics and methods. Project covers the application of the methods to problem solving. 


Q: 
Why is programming minimum? 
A: 
Past experience of teaching CS5240 shows that students are already wellversed with programming. Moreover, many students already know Python programming. CS5240 familiarizes students with Python programming for numerical computation with NumPy. 


Q: 
For the assignments, is programming required? 
A: 
Yes, one of the assignments is a simple Python programming exercise. 


Q: 
For the homework exercises, will the answer be explained, or only text answers will be released? 
A: 
Most homework exercises are selflearning materials meant to sharpen your math skills. The answers are already given in the questions. If you have difficulty working out the answers, you may email me for help. 


Q: 
Will the answers for assignments be explained, or only text answers are released? 
A: 
If necessary, for example when many students make the same mistake, I will provide feedback during lecture time. 


Q: 
What is the objective of the team project? 
A: 
In team project, you practice problem formulation and algorithm design, with minimum programming.
For problem formulation, you practice describing what are required and why they are required.
For algorithm design, you practice describing how the algorithm works and why it works.
Programming is optional in team project. 


Q: 
What are the types of projects? Can we propose our own project? 
A: 
The project topics must match the scope of this module. Click here for example project topics.
Yes, you are encouraged to propose your own project. In fact, many project topics in the past years were proposed by the students.
But, do not try to tackle very difficult problems because you may run into difficulties solving them. 


Q: 
What are the deliverables of the team project? 
A: 
The main deliverables are the problem definition and algorithm for your project topic.
Programming is optional. 


Q: 
For the team project, is demo required? 
A: 
Demo is not needed. 


Q: 
How is the team project evaluated? 
A: 
The team project is evaluated according to how well you apply the skills and methods taught in the lecture for problem formulation and algorithm design.
You don't need to get the optimal solution to get good project grade. Please read the project information provided in Canvas for more details.



Q: 
Can I do a project on a topic with known algorithms? 
A: 
You need to apply the methods taught in the lecture to design your algorithm.
It is not enough just to show an algorithm without discussing how you design it.
In other words, it is about the way you design the algorithm, not so much the algorithm itself. 


Q: 
Can you elaborate on the 10% participation? 
A: 
I will meet each project team at least once to discuss your project progress and to give you pointers. Your participation at these
project discussions will contribute to the participation mark. In addition, during final project presentation,
you will be given opportunities to raise good questions regarding other teams' presentations. This will also count towards your
participation mark. 


Q: 
Do we need to buy any textbooks? 
A: 
Good news! I have completed the second draft of a textbook on Foundation of Media Computing.
You can download it from Canvas. 


Q: 
Will we need any high computing resources for this course? 
A: 
The high computing resources that you need for this course is you brain. A lot of emphasis is placed on understanding, analysis, reasoning and justifcation that are important for problem solving. 