Home | Intranet | Privacy | Contact Us
Loading

 
 

The Programme

 

Module description - Computer Systems and Networking

COMP7302. Pervasive and mobile computing

Pervasive computing, often synonymously called ubiquitous computing, is to create ambient intelligence where network devices embedded in the environment provide unobtrusive connectivity and services all the time. These intelligent devices work cooperatively and autonomously to collect, process and transport information, in order to adapt to the associated context and activity, thus improving human experience and quality of life. In this course, we will study the following topics: (1) Software infrastructure for pervasive computing, (2) Sensors architecture and embedded OS, (3) Data routing protocols for wireless sensor networks, (4) Discovery protocols for spontaneous interaction between appliances and services, (5) Context modeling and reasoning techniques for realizing context-aware applications, and (6) Security and privacy solutions to protect access to user context information. Students are expected to complete a context-aware mobile application in a J2ME or Android platform.

Prerequisites: Students are required to have at least one course in networking and operating systems. Programming experience in Java is required.

COMP7303. High-performance computing

This module offers an overview of state-of-the-art parallel architectures and programming languages. The students will learn the issues related to the performance of parallel algorithms, and how to design efficient parallel algorithms for parallel machines. Topics include milestones in the history of HPC and its applications; high-performance computing architectures; performance law; modern CPU design; interconnection network and routing techniques; memory hierarchy and cache coherence protocol; parallel algorithm design; parallel programming models and case studies of supercomputers.

COMP7304. The wireless Internet and mobile network

This module offers students an opportunity to understand the principles and technologies behind data services in a wireless, mobile environment. It introduces the developing areas of mobile computing technology and applications. Topics include key features of 1G, 2G, and 3G mobile technology; wireless LANs; personal area networks and Bluetooth; ad hoc networks; mobile IP, DHCP, IPv6; TCP over wireless; proxy systems; web surfing and WAP; mobile file systems; privacy, authentication, security; mobility and location-dependent/personalized wireless applications.

COMP7305. Cluster and cloud computing

This module offers an overview of current cluster and cloud technologies, and discusses various issues in the design and implementation of cluster and cloud systems. Topics include cluster hardware architecture (e.g., multicore, GPU, high-speed network), middleware design for realizing the concept of single system image (e.g., software distributed shared memory, cluster file systems) and virtualization techniques (e.g., Xen, KVM, Hyper-V) used in current data centers. We will also discuss three types of Cloud computing platforms, including SaaS, PaaS, and IaaS, by providing motivating examples from companies such as Google, Amazon, and Microsoft; and introduce Map/Reduce programming paradigm for large-scale data analysis. Students will be organized into groups for their project work and in-class presentations.

Prerequisites: The students are expected to exercise the systems configuration and administration under a Linux cluster. Basic understanding of Linux operating system and some experiences in system level programming (C/C++ or Java) are required.

COMP7306. Web technologies

This course aims to give students a basic understanding of various Web technologies and their industry applications. Fundamental XML concepts and techniques, such as XML Schema, XSLT, SAX, and DOM, will be introduced. New technologies related to Web 2.0, web services, service oriented architecture (SOA), and cloud computing will be studied, including RSS, ATOM, Ajax, SOAP, WSDL, ebXML.

Prerequisites: basic web programming knowledge, e.g. HTML, JavaScript, and Java.

COMP7307. Advanced real-time embedded systems and applications

This module’s objective is to introduce advanced real-time scheduling techniques, design and implementation considerations for Embedded Systems. It covers topics on real-time scheduling algorithms, microcontroller architecture, Digital Signal Processors (DSP) architecture, System-on-Chips (SoC), real-time operating systems, and case studies on real-time applications.

Prerequisites: CSIS0230 “Operating systems” or equivalent

Department of Computer Science The University of Hong Kong 香港大學 計算機科學系