Title Image

Announcements

  • 2022-5-14
    The Zoom meeting links for the final examination are available here. Please enter your student ID to check the link of your assigned meeting room.

  • 2022-4-11
    Programming assignment 2 has been released. It's due on May 11, 2022, 23:59.

  • 2022-3-29
    The Zoom meeting links for the midterm examination are available here. Please enter your student ID to check the link of your assigned meeting room.

  • 2022-3-5
    Programming assignment 1 has been released. It's due on March 26, 2022, 23:59.

  • 2022-2-4
    The midterm examination will be conducted on 2 April 2022 (Saturday) from 2-4pm. More details about the exam will be announced.

  • 2022-2-4
    Welcome to COMP 2211! For this course, we use our own course webpage (https://course.cse.ust.hk/comp2211/) and grades can be found on Canvas. Also, there will be no labs in the first two weeks (February 7, 8, 9 & February 14, 15, 16?). The first lab starts in Week 3 (February 21, 22, 23).

Course Details


  • The course consists of, per week,
    • 3 hours of lectures
    • 2 hours of lab exercises
    an it gives you 3 credits for successful completion of the course.

Reference Books


AI Crash Course
Thinking in C++
  • Denis Rothman, Matthew Lamons, Rahul Kumar, Abhishek Nagaraja, Amir Ziai, and Ankit Dixit. Python: Beginner's Guide to Artificial Intelligence: Build applications to intelligently interact with the world around you using Python
AI with Python
s2


Topics Covered

  1. Brief history of AI
  2. Search and problem solving
  3. Knowledge representation
  4. Probabilistic reasoning
  5. Machine learning
  6. Computer vision and image processing
  7. Speech and language processing
  8. Robotics
  9. Social and ethical implications of AI
  10. Potential and limitations

Keyword Syllabus

  1. A Brief History of Artificial Intelligence
  2. Naive Bayes
  3. K-Nearest Neighbour
  4. K-Means Clustering
  5. Perceptron and Multi-Layer Perceptron
  6. Fundamentals of Image Processing
  7. Convolutional Neural Networks
  8. Minimax and Alpha-beta Pruning
  9. Artificial Intelligence Ethics

Intended Learning Outcomes

On successful completion of this course, students are expected to be able to:

  1. Demonstrate understanding of the historical perspective and development of artificial intelligence (AI)
  2. Demonstrate understanding of the basic elements of AI thinking
  3. Demonstrate proficiency in applying basic principles and techniques of AI and using AI software tools to solve problems in a range of applications
  4. Demonstrate awareness of the social and ethical implications as well as potential and limitations of AI

Prerequisite & Exclusions

Pre-requisite: COMP 1021 OR COMP 1029P.

Exclusion: COMP 3211, COMP 4211, COMP 4221, COMP 4331, COMP 4332, COMP 4421, COMP 4471, COMP 4901K, COMP 4901L, ELEC 4130, ELEC 4230, IDPO 4110, ISOM 3360, MATH 4336, MATH 4432, RMBI 4310, COMP 5211, COMP 5212, COMP 5213, COMP 5221, COMP 5222, COMP 5223, COMP 5331, COMP 5421

Schedule

Lecture Schedule

Section Date and Time Room / Zoom Link Instructor
L1 Wed & Fri; 01:30pm - 02:50pm Mixed-mode Lite: Rm 2465, Lift 25-26 / Zoom Meeting Link
Online interactive mode only until furher notice
TSOI, Desmond Yau Chat
L2 Mon 01:30pm - 02:50pm
Fri 09:00am - 10:20am
Mon - Mixed-mode Lite: LT-K, Lift 31-32 / Zoom Meeting Link
Fri - Mixed-mode Lite: LT-K, Lift 31-32 / Zoom Meeting Link
Online interactive mode only until furher notice
TSOI, Desmond Yau Chat
L3 Wed & Fri; 04:30pm - 05:50pm Mixed-mode Lite: CYT-G010, Lift 35-36 / Zoom Meeting Link
Online interactive mode only until furher notice
TSOI, Desmond Yau Chat

Lab Schedule

Section Date and Time Room / Zoom Link Teaching Assistant Student Helper
LA1 Wed; 11:00am - 12:50pm Zoom Meeting Link Each lab will be conducted by
different TAs and student helpers.
Please check out the detailed arrangement here.
LA2 Tue; 03:00pm - 04:50pm Zoom Meeting Link
LA3 Mon 03:30pm - 05:20pm Zoom Meeting Link
LA4 This session will have no scheduled meetings. You are expected to access the video-on-demand
recordings of the weekly lab material which you will follow at your own pace
Videos Here

Grading Scheme

Item Percentage
Laboratory exercises 10%
Programming assignment 1 15%
Programming assignment 2 15%
Midterm examination 20%
Final examination 40%

There are two different ways to assess your performance.

  1. Laboratory exercises (10%) + Programming assignments (30%) + Midterm exam (20%) + Final exam (40%)
  2. Laboratory exercises (10%) + Programming assignments (30%) + Final exam (60%)
We will automatically choose the higher score of the two for you.

Please check your own marks from the CANVAS system.

Assessment Rubrics

Course Learning Outcome

Exemplary

Competent

Needs Work

Unsatisfactory

1. Demonstrate understanding of the historical perspective and development of artificial intelligence (AI)

Demonstrate thorough understanding of the historical perspective and development of artificial intelligence (AI).

Demonstrate sufficient understanding of the historical perspective and development of artificial intelligence (AI).

Demonstrate insufficient understanding of the historical perspective and development of artificial intelligence (AI).

Is unable to understand the historical perspective and development of artificial intelligence (AI).

2. Demonstrate understanding of the basic elements of AI thinking.

Demonstrate thorough understanding of the basic elements of AI thinking.

Demonstrate sufficient understanding of the basic elements of AI thinking.

Demonstrate insufficient understanding of the basic elements of AI thinking.

Is unable to understand the basic elements of AI thinking.

3. Demonstrate proficiency in applying basic principles and techniques of AI and using AI software tools to solve problems in a range of applications.

Demonstrate thorough understanding of the basic principles and techniques of AI. Is able to use AI software to solve problems in a wide range of applications.

Demonstrate sufficient understanding of the basic principles and techniques of AI. Is able use AI software to solve problems in standard applications.

Demonstrate marginal understanding of the basic principles and techniques of AI. Is able to use AI software to solve simple applications.

Demonstrate little understanding of the basic principles and techniques of AI. Have great difficulty in using AI software even in simple applications.

4. Demonstrate awareness of the social and ethical implications as well as potential and limitations of AI.

Demonstrates a comprehensive awareness of the social and ethical implications as well as potential and limitations of AI.

Demonstrates a thorough awareness of the social and ethical implications as well as potential and limitations of AI.

Demonstrates a basic awareness of the social and ethical implications as well as potential and limitations of AI.

Demonstrates a lack of awareness of the social and ethical implications as well as potential and limitations of AI.

Download the pdf version here.

People

Instructor

Desmond TSOI, Desmond Yau Chat
Rm 3553
desmond@ust.hk
http://www.cse.ust.hk/~desmond
Office Hour: Every Tuesday from 17:30 - 18:30 (Link: Here)
Find me by PathAdvisor: Click Here

Teaching Assistants

Bing Yen CHANG, Bing Yen
Rm 2532
bychang@connect.ust.hk
Office Hour: Every Tuesday from 17:00 - 18:00 (Link: Here)
Find me by PathAdvisor Click Here
Tsz Ho CHAN, Tsz Ho
CYT-3007
tszho.chan@connect.ust.hk
Office Hour: Every Monday from 17:30 - 18:30 (Link: Here)
Find me by PathAdvisor Click Here
Tsz Ting CHUNG, Tsz Ting
CYT-3007
ttchungac@connect.ust.hk
Office Hour: Every Friday from 12:30 - 13:30 (Link: Here)
Find me by PathAdvisor Click Here
Nai Chit FUNG, Nai Chit
/
ncfung@connect.ust.hk
Office Hour: Every Friday from 18:00 - 19:00 (Link: Here)
Find me by PathAdvisor Click Here
zeyu HUANG, Zeyu
Rm 4203
zhuangbi@connect.ust.hk
Office Hour: Every Wednesday from 15:00 - 16:00 (Link: Here)
Find me by PathAdvisor Click Here
haibo JIN, Haibo
Rm 4204
hjinag@connect.ust.hk
Office Hour: Every Friday from 15:00 - 16:00 (Link: Here)
Find me by PathAdvisor Click Here
Chan Ho PAK, Chan Ho
Rm 4208
chparkaa@connect.ust.hk
Office Hour: Every Thursday from 17:00 - 18:00 (Link: Here)
Find me by PathAdvisor Click Here
zhefan RAO, Zhefan
Rm 4208
zhefan.rao@connect.ust.hk
Office Hour: Every Friday from 11:00 - 12:00 (Link: Here)
Find me by PathAdvisor Click Here

Lectures


The schedule listed below is tentative. Instructor may have some adjustments subject to the progress.


Week# Topics Download Reading Code / Additional Materials
1 Course Logistics Full / 4-page
1 Introduction to Artificial Intelligence Full / 4-page A Complete History of AI: Here
1 Python Fundamentals for Artificial Intelligence Full / 4-page Learning Python, O'Reilly: Here
- Chapter 4-5, 7-18, 20, 22-23, 26-27
2 Naive Bayes Classifier Full / 4-page Python: Beginner's Guide to AI:
- Chapter 12 P.266-P.275
Artificial Intelligence with Python: Here
- Chapter 2 P.42-P.46
Supp. notes 1: Full / 4-Page
Supp. notes 2: Full / 4-Page
3 K-Nearest Neighbors Full / 4-page Python: Beginner's Guide to AI:
- Chapter 8 P.161-P.176
Artificial Intelligence with Python: Here
- Chapter 5 P.132-P.143
Supp. notes 1: Full / 4-Page
Supp. notes 2: Full / 4-Page
4 K-Means Clustering Full / 4-page Python: Beginner's Guide to AI:
- Chapter 6 P.111-P.122
Artificial Intelligence with Python: Here
- Chapter 4 P.97-P.124
Program
Supp. notes - PCA: Full | 4-Page
5 Artificial Neural Network - Perceptron Full / 4-page Artificial Intelligence with Python: Here
- Chapter 14 P.356 - P.366
6 Artificial Neural Network - Multilayer Perceptron Full / 4-page Artificial Intelligence with Python: Here
- Chapter 14 Page 366 - 371
Program
Supp. notes - Derivation of Backpropagation: Full | 4-Page
7 Digital Image Processing Fundamentals Full / 4-page Python Image Processing Cookbook: Here
- Chapter 1.1-1.3, 2.1, 2.5, 4.1-4.2
9 Convolutional Neural Network Full / 4-page Python: Beginner's Guide to AI:
- Chapter 19 P.427-P.465
Artificial Intelligence with Python: Here
- Chapter 16 Page 399 - 416
11 Minimax and Alpha-Beta Pruning Full / 4-page Artificial Intelligence with Python: Here
- Chapter 9 P.236 - P.247
12 Ethics of Artificial Intelligence Full / 4-page


Lecture Attendance via Zoom

Lectures this semester will only be held via Zoom meetings (until we switch to mixed-mode lite of teaching later in the semester, if possible). The links for the meetings are here. Before you join a meeting for the first time, visit this page and sign in to Zoom using your HKUST e-mail, as our lecture meetings will require HKUST user authentication. When attending a lecture meeting, make sure to set up your screen username to:

LASTNAME Firstname studentusername E.g., CHAN Wing Ho cwingho

During a Zoom meeting, please remain muted in order to avoid background noise. If you have questions, you can push the Raise Hand button which will signal this to the instructor who will unmute you. You can also use the Chat function to post questions or comments, if it is enabled by the instructor. We strongly recommend that you join with your camera turned on as this helps create a more interactive online classroom experience. In the first lecture of the semester we will go over the Zoom meeting controls with you but if your have not used Zoom previously we suggest that you play around with it a bit in order to become familiar. You can find a good general set of guidelines here.


Lecture Videos

Zoom lecture videos will be published on the supplementary website (https://www.cse.ust.hk/~desmond/comp2211/Password_Only/) after each lecture class depending on when they become available.

Honor Code

Honesty and integrity are central to academic work. You must observe and uphold the highest standards of academic integrity and honesty in all the work (lab exercises, programming assignments, exams, etc.) you do in this course. We deal with cheating cases seriously and the maximum penalty is a FAIL in the course plus additional disciplinary actions from the CSE Department as well as from the University. Both the copier(s) and the copiee will be punished, and the penalty will be more than just a zero mark in your assignments/exams.

Here are links to the University's Honor code, and the University's Penalties for Cheating.

If you are not sure what is considered plagiarism,
  • Do NOT copy program codes from another student/person.
  • Do NOT look at the actual program codes of another student.
  • Do NOT share actual program codes with other students/people (by paper, emails, blogs, FB, Google Doc, etc.).
  • Do NOT give your program codes to other students who ask for it, and do not ask for a copy of their code either.
  • Do NOT post your program codes anywhere online.
  • Do NOT leave your finished/unfinished program codes unattended.
  • While we encourage discussion among students, you have to write codes on your own.
  • During discussion, you should NOT go to the details such that everyone will end up in the same code.
The list is by no means exhaustive, and you will need to use your own discretion.

Labs

We will use Google Colaboratory (aka Google Colab) as the development platform for AI programming. Please read the following tutorial which will help you get started:


Labs this semester will be conducted online via Zoom meetings

  • When attending the meeting, make sure to set up your screen username to:
    LASTNAME Firstname studentusername E.g., CHAN Wing Ho cwingho.
  • During the lab meeting, "raise hand" if you want to talk to your TA. TA will follow chronological order when handling raise hand request. If you need to share your code, you will be put in a breakout room when it is your turn.
To get point for the lab, you are requied to finish the requirement / program, and submit it to the ZINC (automatic grading system) on or before the deadline as stated on the lab page. Each graded lab is worth 2 points.


Note to all students:

The lab exercises are designed to help you learn a AI programming with on-the-spot advices of a teaching assistant. All the TAs assigned to the course are very experienced in AI programming. It is more a service to you than an exercise for the marks. The 10% mark is only set to encourage you to make good use of the lab time. Although we don't expect you to finish the lab exercise before you attend the lab, we expect you to have read the lab's materials and understand what you are required to do.


[Public holiday exception]
If a day is a public holiday, students are not required to attend the labs held on that day, other students are not affected. However, although a student may not need to attend a non-graded lab on a day that happens to be a public holiday, we strongly encourage the student to still go over the materials of that lab and try to finish it. Labs help students review what they are taught in lectures and get ready for the next lab.

This policy will also apply to situations when classes/labs are cancelled due to, e.g., adverse weather conditions, etc.


Date Topic Solution
February 7, 8, 9 & February 14, 15, 16 No lab in the first two weeks. Lab time will be used to conduct review classes. For details, please refer to the announcement section.
February 21, 22, 23 Lab 1 - NumPy Solution
February 28, March 1, 2 Lab 2 - Naive Bayes Classifier
March 7, 8, 9 Lab 3 - K-Nearest Neighbors Solution
March 14, 15, 16 Lab 4 - K-Means Clustering Solution
March 21, 22, 23 Lab 5 - Simple Perceptron Solution
April 4, 5, 6 Lab 6 - Multilayer Perceptron Solution
April 11, 12, 20 Lab 7 - Digital Image Processing Fundamentals Solution
April 25, 26, 27 Lab 8 - Convolutional Neural Network Solution
May 3, 4, 9 Lab 9 - Minimax and Alpha-Beta Pruning Solution

Exam

Midterm Exam

  • Date: 2 April 2022 (Saturday)
  • Time: 2pm - 4pm
  • Venue: Zoom + Canvas
  • Detailed instructions: Here
  • Zoom Meeting Link: Here
  • Scope:
    • Introduction to Artificial Intelligence
    • Python Fundamentals for Artificial Intelligence
    • Naive Bayes Classifier
    • K-Nearest Neighbors
    • K-Means Clustering
    • Artificial Neural Network - Perceptron
    • Artificial Neural Network - Multilayer Perceptron (P.1 - P.22)
  • Statistics of the Midterm Exam

    • Mean = 67.91
    • Standard deviation = 13.04
    • Median = 67.65
    • Max = 97.25
    • Score Distribution:

  • Exam Papers, Solutions and Marking Scheme:

Final Exam

  • Date: 27 May 2022 (Friday)
  • Time: 12:40pm - 3:30pm
  • Venue: Zoom + Canvas
  • Detailed instructions: Here
  • Zoom Meeting Link: Here
  • Scope:
    • Introduction to Artificial Intelligence
    • Python Fundamentals for Artificial Intelligence
    • Naive Bayes Classifier
    • K-Nearest Neighbors
    • K-Means Clustering
    • Artificial Neural Network - Perceptron
    • Artificial Neural Network - Multilayer Perceptron
    • Digital Image Processing Fundamentals
    • Convolutional Neural Network
    • Minimax and Alpha-Beta Pruning
    • Ethics of Artificial Intelligence
  • All materials including lecture notes, lab exercises and programming assignments may be tested.
  • The final exam will mainly focus on the parts after the midterm. But you may still be tested the materials that we covered before the midterm.
  • Statistics of the final exam:

    • Mean: 66.48
    • Stdev: 13.82
    • Median: 67.00
    • Max: 94.50
    • Score distribution:

  • Exam Papers, Solutions and Marking Scheme:

FAQs

How hard should I work?


Some people say that a 3-unit course takes 8 hours/week. It all depends. You should cultivate an independent learning habit.

Here is a guideline:
  • pre-study (1 hour): what topic/materials will the coming lecture be covering?
  • attend class (3 hours): The A+ students tell you that they pay FULL attention in class and try to understand everything in the class so that it is easy to review the class materials.
    • our notes provide a guideline; also take your own notes
    • ask questions whenever you don't understand
  • attend labs (2 hours)
  • post-study (2 hours): re-reading the notes, book reading

How can I write a program effectively?


You should spend a lot of time in THINKING (stay away from the computer) before you start WRITING. No matter how beautiful your codes are, if the method you use is wrong, they are still wrong codes.

Here is a guideline:
  • planning (30 - 40%) : algorithm design, code design, documentation
  • coding (60 - 70%) : writing code, debugging, testing

What operating system do I use to program for this class?


We will use Colab programming environment, which is a platform-independent solution. So, you can simply open up a browser and run Colab on your PC, Mac, and Linux.

 

Where may I get help on programming problems?


God help those who help themselves! But if you can't find your God, try the following, in that order:
  • Email your question to your TAs. (We do most business using emails here in the university.) Please do not expect an answer right away.
  • Email your question to the instructor.
  • Don't expect the instructors and your TAs to be your debugger! Except for obvious bugs, we won't debug for you.
  • Find it on the Web.

Where may I get more information about the computing facilities in CSE department?


You can't afford to miss the following URL from our cssystem:
http://cssystem.cse.ust.hk/home.php?docbase=UGuides&req_url=UGuides/index.html#ug