Description: To learn the fundamental concepts and techniques behind object-oriented programming. They include: abstract data types; creation, initialization, and destruction of objects; class hierarchies; polymorphism, inheritance and dynamic binding; generic programming using templates. To learn the object-oriented view of data structures: linked lists, queues, stacks, trees, and algorithms such as searching, sorting, and hashing algorithms.
Official Course WebsiteDescription: This course aims to give a gentle introduction to the basic elements of artificial intelligence (AI) through understanding examples from various applications and hands-on experimentation using AI software tools. In addition to covering the technical aspect of AI through such topics as search and problem solving, knowledge representation, probabilistic reasoning, machine learning, computer vision and image processing, speech and language processing, and robotics, this course will also study the historical perspective, social and ethical implications, as well as potential and limitations of AI.
Official Course WebsiteDescription: Independent studies or projects under the directed guidance of a faculty member on a computer science topic. A written report, presentation, and/or an examination are required. Enrollment in the course requires prior approval of the course instructor, and credits assigned depend on the workload. May be repeated for credits.
Description: This course is designed to provide undergraduate students with a unique and real-life teaching experience. Through pre-teaching training, consultation sessions, reflection sessions, and a mini teaching conference, students will acquire important knowledge and practice core competencies essential for teaching. The course aims to help students design, implement, and evaluate appropriate learning, teaching, and assessment strategies to cater to learners’ Individual learning differences. Students will learn to identify and address educational issues by adopting appropriate strategies to arouse learners’ Interest. Additionally, students will learn to reflect on and make reasoned analysis on their teaching. Upon completion of this course, students will be equipped with the necessary skills to accurately and effectively explain subject knowledge to learners and practice effective pedagogical instructions. For students in year 3 or above.
Dr. Desmond Tsoi joined HKUST in 2016 and is currently an Associate Professor of Engineering Education in the Department of Computer Science and Engineering (CSE). He received his PhD from Nanyang Technological University in 2009 and taught at various universities in Singapore and Hong Kong before joining HKUST. His research interests lie in multimedia technology, computer vision, web technologies and engineering. Dr. Tsoi has made exemplary efforts to improve teaching efficiency by embracing educational innovations. In collaboration with his research assistants and Final Year Project groups, he developed an online assignment submission and grader system. The system has served about 3,700 users, including teaching assistants and students and graded more than 250,000 assignments over the past three years. In recognition of his passion for education, he has received a number of teaching awards. In 2017, just a year after joining the University, he was named one of the University's Best Ten Lecturers and nominated for the Common Core Teaching Excellence Award. Moreover, he is a two-time winner of the School of Engineering's Distinguished Teaching Award, first in 2018-2019 and again in 2021-22. In 2022, HKUST awarded him its highest teaching honor, the Michael G. Gale Medal for Distinguished Teaching.
Personality Dimensions Facilitator (Level I)
This summer programming workshop aims to introduce students a popuar client-side script for the development of dynamic webpages. Topics to be covered include:
This summer programming workshop aims to introduce students a popuar language for solving real world problems.Topics to be covered include:
This summer programming workshop aims to introduce students a popuar language for solving real world problems.Topics to be covered include:
This summer programming workshop aims to help students who have taken a course in OOP to manage one more popular programming language in a short time frame. Topics to be covered include: Comparisons among C#, C++ and Java, Delegates, Events and Exception Handling andGUI Concepts. In addition, practices on Graphics and Multimedia aspects will also be given during the lesson so as to give you a thorough understanding on the application development process.
This summer programming workshop aims to equip students with the ability to construct dynamic websites using popular script languages. Contents to be covered include: HTML, CSS, JavaScript, PHP with DB support, and Session Control. This workshop lasted for 2 consecutive days. Theory of some web technology was introduced together with some hands-on practice.
This summer workshop aims to introduce students the basics of mobile apps development with the use of Eclipse and Android SDK. This is a one day workshop.
This summer programming workshop aims to prepare students for their Final Year Project (FYP) as well as to introduce the foundation of web programming. This workshop lasted for 3 consecutive days. Theory of some web technology was introduced together with some hands-on practice.
This summer programming workshop aims to give students an overview on Windows application development using one of the most popular programming languages, C# (pronounced as "C Sharp"). This is a one day workshop. During the class, students will be introduced to Visual Studio .NET IDE, exception handling and GUI concept. In addition, practices on Graphics and Multimedia aspects will also be given during the lesson so as to give you a thorough understanding on the application development process.
Google Android bases on Linux kernel, is one of the most popular mobile OS nowadays. This workshop aims to introduce students the basics of Android and the development process of Android mobile applications. This is a one day workshp. During the class, students will be introduced to: (1) Eclipse IDE, (2) Android application framework and (3) UI design and coding.
This summer programming workshop aims to prepare students for their Final Year Project (FYP) as well as to introduce thefoundation of web programming. This workshop lasted for 3 consecutive days. Theory of some web technology was introduced together with some hands-on practice.
This summer programming workshop aims to introduce students the idea and the production of image morphing and panorama. This workshop lasted for one day. Theory of morphing and panorama was discussed together with some hands-on practice.
This summer programming workshop aims to prepare students for their Final Year Project (FYP) as well as to introduce the foundation of web programming, particularly on JavaScript programming. This workshop will last for 2 consecutive days. Theory of some web technology will be discussed together with some hands-on practice.
Copyright © 2024 Desmond Tsoi. All Rights Reserved.