COMPUTER SCIENCE/IT TECHNOLOGY

BACHELOR OF SCIENCE

COMPUTER SCIENCE/IT TECHNOLOGY

SYLLABUS

The syllabus applies to students admitted in the academic year 2015-16 and thereafter under the four- year curriculum. 

Definition and Terminology 

Each course offered by the Department of Computer Science shall be classified as either introductory level course or advanced level course. 

A Discipline Core course is a compulsory course which a candidate must pass in the manner provided for in the Regulations. 

A Discipline elective course refers to any technical course offered by the Department of Computer Science for the fulfillment of the curriculum requirements of the degree of BEng in Computer Science that are not classified as discipline core course. 

Curriculum 

The Curriculum comprises 240 credits of courses as follows: 

General Engineering Courses
Students are required to complete at least 36 credits of General Engineering Course. 

Discipline Core Courses
Students are required to complete ALL discipline core courses (60 credits), comprising 24 credits of introductory core courses and 36 credits of advanced core courses. 

Discipline Elective Courses
Students are required to complete at least 30 credits of discipline elective courses offered by the Department of Computer Science. 

Elective Courses
Students are required to complete 42 credits of elective course(s) offered by either the Department of Computer Science, or other departments within or outside of the Faculty of Engineering. 

University Requirements Students are required to complete: 

a) 12 credits in English language enhancement, including 6 credits in “CAES1000 Core University English” and 6 credits in “CAES9542 Technical English for computer science”; 

  1. b)  6 credits in Chinese language enhancement course “CENG9001 Practical Chinese for 

engineering students”; and 

  1. c)  36 credits of courses in the Common Core Curriculum, selecting not more than one course 

from each Area of Inquiry within one academic year and at least one but no more than two courses from each Area of Inquiry during the whole period of study. 

Capstone Experience
Students are required to complete the 12-credit “COMP4801 Final year project” to fulfill the capstone experience requirement for the degree of BEng in Computer Science. 

Internship
Students are required to complete the 6-credit internship “COMP3412 Internship”, which normally takes place after their third year of study. 

Degree Classification 

The degree of Bachelor of Engineering shall be awarded in five divisions in accordance with EN16 of the Regulations for the Degree of Bachelor of Engineering and UG9 of the Regulations for the First Degree Curricula. 

The details of the distribution of the above course categories are as follows: 

The curriculum of BEng (Computer Science) comprises 240 credits of courses with the following structure: 

UG 5 Requirements (54 credits)

* Students can select not more than one course from each Area of Inquiry within one academic year and at least one but no more than two courses from each Area of Inquiry during the whole period of study. 

General Engineering Courses (36 credits) 

Course Code Course No. of credits 
CAES1000 Core University English 
CAES9542 Technical English for computer science 
CENG9001 Practical Chinese for engineering students 
CC##XXXX University Common Core Course (6 courses)* 36 
Total for UG5 Requirements 54 
Course Code Course No. of credits 
MATH1851 Calculus and ordinary differential equations 
MATH1853 Linear algebra, probability and statistics 
ENGG1111/ ENGG1112 Computer programming and applications/ Computer programming and applications I 
PHYS1050 Physics for engineering students 
ENGG1202 Introduction to computer science 
ENGG120X Any one of the General Engineering Courses offered by other Departments of the Faculty of Engineering* 
Total for General Engineering Courses 36 

*Choose one General Engineering Course from the following list: 

ENGG1201 ENGG1203 ENGG1204 ENGG1205 ENGG1206 ENGG1207 

Engineering for sustainable development Introduction to electrical and electronic engineering Industrial management and logistics
Introduction to mechanical engineering Introduction to biomedical engineering
Foundation of biochemistry for medical engineering 

Discipline Core Courses (60 credits) 

Introductory Courses (24 credits) 

Course Code Course No. of credits 
COMP2119 Introduction to data structures and algorithms 
COMP2120 Computer organization 
COMP2121 Discrete mathematics 
COMP2123 page2image263031728Programming technologies and tools 

Total for Introductory Discipline Core Courses 24 

Advanced Courses (36 credits) 

Course Code Course No. of credits 
COMP3230 Principles of operation systems 
COMP3234 Computer and communication networks 
COMP3250 Design and analysis of algorithms 
COMP3278 Introduction to database management systems 
COMP3297 Introduction to software engineering 
COMP3311 Legal aspects of computing 
Total for Advanced Discipline Core Courses 36 page3image268133072

Capstone Experience and Internship (18 credits) 

+Capstone Experience
*Training
*Students who are selected to participate in the Undergraduate Research Fellowship Programme are required to complete COMP3413 Research internship and are not required to complete COMP3412 Internship. 

Discipline Elective Courses (30 credits) 

Course Code Course No. of credits 
COMP4801 Final year project+ 12 
COMP3412 Internship* 
Total for Capstone Experience and Internship 18 
Course Code Course No. of credits 
COMP2396 Object-oriented programming and Java 
COMP3231 Computer architecture 
COMP3235 Compiling techniques 
COMP3258 Functional programming 
COMP3259 Principles of programming languages 
COMP3270 Artificial intelligence 
COMP3271 Computer graphics 
COMP3314 Machine learning 
COMP3315 Multimedia computing and applications 
COMP3316 Quantum Information and Computation 
COMP3317 Computer vision 
COMP3320 Electronic commerce technology 
COMP3322 Modern technologies on World Wide Web 
COMP3323 Advanced database systems 
COMP3327 Computer and network security 
COMP3328 Wireless and mobile communication 
COMP3329 Computer game design and programming 
COMP3330 Interactive mobile application design and programming 
COMP3351 Advanced algorithm analysis 
COMP3402 System architecture and distributed computing 
COMP3403 Implementation, testing and maintenance of software systems 
COMP3404 Software quality and project management 
COMP3407 Scientific computing 

COMP3413 Research internship 
Complete at least five discipline elective courses for a total of 30 credits 30 

Elective Courses (42 credits) 

At least 42 credits of courses offered by either the Department of Computer Science, or other departments within or outside of the Faculty of Engineering. 

Summary of curriculum structure of BEng (Computer Science) 

Course Categories No. of credits 
UG5 Requirements 54 
General Engineering Courses 36 
Discipline Core Courses (Introductory) 24 
Discipline Core Courses (Advanced) 36 
Capstone Experience and Internship 18 
Discipline elective Courses 30 
Elective Courses 42 
Total 240 

The proposed syllabus by study year is as follows: 

FIRST YEAR
General Engineering Courses (36 credits) 

MATH1851 MATH1853 ENGG1111 PHYS1050 ENGG1202 ENGG120X 

Calculus and ordinary differential equations Linear algebra, probability and statistics Computer programming and applications Physics for engineering students Introduction to computer science 

Any one of the General Engineering Courses offered by other Departments of the Faculty of Engineering 

University Requirements (UG5) (24 credits) 

CAES1000 Core University English CC##XXXX Three Common Core Courses 

SECOND YEAR
Introductory Core Courses (24 credits) 

COMP2119 COMP2120 COMP2121 COMP2123 

Introduction to data structures and algorithms Computer organization
Discrete mathematics
Programming technologies and tools 

Discipline Elective Courses (6 credits) 

Elective Courses (12 credits) 

University Requirements (UG5) (18 credits) 

CC##XXXX Three Common Core Courses 

THIRD YEAR 

Advanced Core Courses (36 credits) 

COMP3230 COMP3234 COMP3250 COMP3278 COMP3297 COMP3311 

Principles of operation systems
Computer and communication networks Design and analysis of algorithms Introduction to database management systems Introduction to software engineering
Legal aspects of computing 

Internship (6 credits) 

COMP3412 Internship 

University Requirements (UG5) (6 credits) 

CENG9001 Practical Chinese for engineering students 

Discipline Elective Courses (12 credits) Elective Courses (6 credits) 

FOURTH YEAR 

Discipline Elective Courses (12 credits) 

Capstone Experience (12 credits) 

COMP4801 Final year project 

University Requirements (UG5) (6 credits) 

CAES9542 Technical English for computer science 

Elective Courses (24 credits) MAJOR IN COMPUTER SCIENCE 

(for non-BEng(CompSc) students)
The curriculum comprises 84 credits of courses with the following structure: 

Prerequisite: Level 3 or above in Mathematics in the Hong Kong Diploma of Secondary Education (HKDSE) Examination

Introductory Courses (30 credits) 

Advanced Courses (48 credits) 

Course Code Course No. of credits 
COMP1117 Computer programming 
COMP2119 Introduction to data structures and algorithms 
COMP2120 Computer organization 
COMP2121 Discrete mathematics 
COMP2123 Programming technologies and tools 
Total for Introductory Courses 30 
Course Code Course No. of credits 

12 credits of courses to be chosen from the following list: 

Principles of operating systems
Computer and communication networks Introduction to database management systems 

COMP3297 Introduction to software engineering 

36 credits of elective courses to be chosen from the following list: 

Principles of operating systems
Computer and communication networks Introduction to database management systems Introduction to software engineering Object-oriented programming and Java Computer architecture
Compiling techniques
Design and analysis of algorithms
Functional programming
Principles of programming languages Artificial intelligence
Computer graphics 

COMP3351 Advanced algorithm analysis
COMP3402 System architecture and distributed computing
COMP3403 Implementation, testing and maintenance of software systems COMP3404 Software quality and project management 

Legal aspects of computing
Machine learning
Multimedia computing and applications
Quantum Information and Computation
Computer vision
Electronic commerce technology
Modern technologies on World Wide Web
Advanced database systems
Computer and network security
Wireless and mobile communication
Computer game design and programming
Interactive mobile application design and programming 

COMP3407 Scientific computing Total for Advanced Courses 

Capstone Experience (6 credits) 

Note 1 

Course Code Course No. of credits 
COMP4805 Project 
Total for Capstone Experience 

Students who have completed MATH2600 Discrete mathematics are deemed to have completed COMP2121, they are not permitted to take COMP2121 and are required to complete one more elective in Computer Science as replacement. 

Note 2
Computer Science, in consideration of class quota and other academic issues. 

Course enrollment in elective courses is subject to the approval of the Department of 6 

MINOR IN COMPUTER SCIENCE 

(This minor option is not available for BEng(CE) and BEng(CompSc) students) The curriculum comprises 42 credits of courses with the following structure: 

Prerequisite: Level 3 or above in Mathematics in the Hong Kong Diploma of Secondary Education (HKDSE) Examination

Introductory Courses (18 credits) 

Advanced Courses (24 credits) 

Course Code Course No. of credits 
COMP1117 Computer programming 
COMP2119 Introduction to data structures and algorithms 
COMP2123 Programming technologies and tools 
Total for Introductory Courses 18 
Course Course Code No. of credits 
24 credits of courses to be chosen from the following list: 24 
COMP2120 Computer organization 
COMP2121 Discrete mathematics 
COMP2396 Object-oriented programming and Java 
COMP3230 Principles of operation systems 
COMP3231 Computer architecture 
COMP3234 Computer and communication networks 
COMP3235 Compiling techniques 
COMP3250 Design and analysis of algorithms 
COMP3258 Functional programming 
COMP3259 Principles of programming languages 
COMP3270 Artificial intelligence 
COMP3271 Computer graphics 
COMP3278 Introduction to database management systems 
COMP3297 Introduction to software engineering 
COMP3311 Legal aspects of computing 
COMP3314 Machine learning 
COMP3315 Multimedia computing and applications 
COMP3316 Quantum Information and Computation 
COMP3317 Computer vision
COMP3320 Electronic commerce technology 
COMP3322 Modern technologies on World Wide Web 
COMP 3323 Advanced database systems 
COMP 3327 Computer and network security 
COMP 3328 Wireless and mobile communication 
COMP 3329 Computer game design and programming 
COMP3330 Interactive mobile application design and programming 
COMP 3351 Advanced algorithm analysis 
COMP 3402 System architecture and distributed computing 

COMP 3403 Implementation, testing and maintenance of software systems 
COMP 3404 Software quality and project management 
COMP 3407 Scientific computing 
Total for Advanced Courses 24 

Note 1 

BEng students who have completed ENGG1111 Computer programming and applications are deemed to have completed COMP1117 Computer programming, and they are required to complete one more elective in Computer Science as replacement (i.e. a total of 30 credits). 

Note 2
Computer Science, in consideration of class quota and other academic issues. 

ENGG1111 ENGG1112 MATH1851 MATH1853 PHYS1050 ENGG1201 ENGG1202 ENGG1203 ENGG1204 ENGG1205 ENGG1206 ENGG1207 

Please refer 

Computer programming (6 credits)
Computer programming I (6 credits)
Calculus and ordinary differential equations (6 credits)
Linear algebra, probability and statistics (6 credits)
Physics for engineering students (6 credits)
Engineering for sustainable development (6 credits) Foundation of computer science (6 credits)
Introduction to electrical and electronic engineering (6 credits) Industrial management and logistics (6 credits)
Introduction to mechanical engineering (6 credits) Introduction to biomedical engineering (6 credits)
Foundation of biochemistry for medical engineering 

Course enrollment in elective courses is subject to the approval of the Department of 

COURSE DESCRIPTIONS 

Candidates will be required to do the coursework in the respective courses selected. Not all courses are offered every semester. 

General Engineering Courses 

to the General Engineering Courses in the syllabus for the degree of BEng for details. 

University Requirements on Language Enhancement Courses 

CAES1000. Core University English (6 credits)
CENG9001. Practical Chinese for engineering students (6 credits) 

Please refer to the University Language Enhancement Courses in the syllabus for the degree of BEng for details. 

CAES9542. Technical English for computer science (6 credits) 

Running alongside Computer Science project based courses, this one semester, 6-credit course will build and consolidate final year CS and Computing and data analytics students’ ability to compose technical reports, and make technical oral presentations. The focus of this course is on helping students to report on the progress of their Final Year Project in an effective, professional manner in both written and oral communication. Topics include accessing, abstracting, analyzing, organizing and summarizing information; making effective grammatical and lexical choices; technical report writing; and technical presentations. Assessment is wholly by coursework. 

Co-requisite: COMP4801 or COMP4804 Assessment: 100% continuous assessment. 

University Common Core Curriculum 

36 credits of courses in the University Common Core Curriculum, in which students can select not more than one course from each Area of Inquiry within one academic year and at least one but no more than two courses from each Area of Inquiry during the whole period of study: 

• Scientific and Technology Literacy • Humanities
• Global Issues
• China: Culture, State and Society 

Courses with prefix CSISxxxx are offered to students admitted to the 3-year curriculum in 2012/13 and before, courses with prefix COMPxxxx are offered to students admitted to the 4-year curriculum in 2012/13 and thereafter. 

COMP1117 Computer programming (6 credits) 

This course covers both the basic and advanced features of the C/C++ programming languages, including syntax, identifiers, data types, control statements, functions, arrays, file access, objects and classes, class string, structures and pointers. It introduces programming techniques such as recursion, linked lists and dynamic data structures. The concept and skills of program design, implementation and debugging, with emphasis on problem-solving, will also be covered. 

Assessment: 50% continuous assessment, 50% examination 

COMP2121. Discrete mathematics (6 credits) 

This course provides students a solid background on discrete mathematics and structures pertinent to computer science. Topics include logic; set theory; mathematical reasoning; counting techniques; discrete probability; trees, graphs, and related algorithms; modeling computation. 

Assessment: 50% continuous assessment, 50% examination 

COMP2119. Introduction to data structures and algorithms (6 credits)
Arrays, linked lists, trees and graphs; stacks and queues; symbol tables; priority queues, balanced trees; 

sorting algorithms; complexity analysis. 

Prerequisite: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112 Pre-/Co-requisite: CSIS1122 or CSIS1123 or COMP2123
Assessment: 40% continuous assessment, 60% examination 

COMP2120. Computer organization (6 credits) 

Introduction to computer organization and architecture; data representations; instruction sets; machine and assembly languages; basic logic design and integrated devices; the central processing unit and its control; memory and caches; I/O and storage systems; computer arithmetic. 

Co-requisite: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112 Assessment: 50% continuous assessment, 50% examination 

COMP2123. Programming technologies and tools (6 credits) 

This course introduces various technologies and tools that are useful for software development, including Linux, C++ STL, the C language, shell scripts, python and xml. Learning materials will be provided but there will be no lecture. This strengthens the self-learning ability of the students. 

Prerequisite: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112 Assessment: 50% continuous assessment, 50% examination 

COMP2396. Object-oriented programming and Java (6 credits) 

Introduction to object-oriented programming; abstract data types and classes; inheritance and polymorphism; object-oriented program design; Java language and its program development environment; user interfaces and GUI programming; collection class and iteration protocol; program documentation. 

Prerequisite: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112 Assessment: 50% continuous assessment, 50% examination 

COMP3230. Principles of operating systems (6 credits) 

Operating system structures, process and thread, CPU scheduling, process synchronization, deadlocks, memory management, file systems, I/O systems and device driver, mass-storage structure and disk scheduling, case studies. 

Prerequisites: CSIS1122 or CSIS1123 or COMP2123 and CSIS1120 or COMP2120 or ELEC1401 or ELEC2441
Assessment: 50% continuous assessment, 50% examination 

COMP3231. Computer architecture (6 credits) 

Introduction to computer design process; performance and cost analysis; instruction set design; data- path and controller design; pipelining; memory system; I/O design; introduction to advanced topics. 

Prerequisite: CSIS1120 or COMP2120
Assessment: 40% continuous assessment, 60% examination 

COMP3234. Computer and communication networks (6 credits) 

Network structure and architecture; reference models; stop and wait protocol; sliding window protocols; character and bit oriented protocols; virtual circuits and datagrams; routing; flow control; congestion control; local area networks; issues and principles of network interconnection; transport 

protocols and application layer; and examples of network protocols. 

Prerequisite: CSIS1120 or COMP2120 or ELEC1401 or ELEC2441 Assessment: 50% continuous assessment, 50% examination 

COMP3235. Compiling techniques (6 credits) 

Lexical analysis; symbol table management; parsing techniques; error detection; error recovery; error diagnostics; run-time memory management; optimization; code generation. 

Prerequisite: CSIS1119 or COMP2119; and CSIS1122 or CSIS1123 or COMP2123 Assessment: 50% continuous assessment, 50% examination 

COMP3250. Design and analysis of algorithms (6 credits) 

The course studies various algorithm design techniques, such as divide and conquer, and dynamic programming. These techniques are applied to design highly non-trivial algorithms from various areas of computer science. Topics include: advanced data structures; graph algorithms; searching algorithms; geometric algorithms; overview of NP-complete problems. 

Prerequisite: CSIS1119 or COMP2119 or ELEC1502 or ELEC1503 or ELEC2543 Assessment: 50% continuous assessment, 50% examination 

COMP3258. Functional programming (6 credits) 

The course teaches the basics of functional programming using the language Haskell. The main goal is introduce students to fundamental programming concepts such as recursion, abstraction, lambda expressions and higher-order functions and data types. The course will also study the mathematical reasoning involved in the design of functional programs and techniques for proving properties about functions so defined. With the adoption of lambda expressions recent versions of Java, C++ or C#, functional programming and related programming techniques are becoming increasingly more relevant even for programmers of languages that are not traditionally viewed as functional. This course is important to introduce students to such techniques. 

Prerequisite: CSIS1118 or CSIS1121 or COMP2121 Assessment: 50% continuous assessment, 50% examination 

COMP3259. Principles of programming languages (6 credits) 

Syntax and semantics specification; data types; data control and memory management; expressions, precedence and associativity of operators; control structures; comparative study of existing programming languages; advanced topics such as polymorphism, programming paradigms, exception handling and concurrency. 

Prerequisites: CSIS1119 or COMP2119; and CSIS1120 or COMP2120 or ELEC1401 or ELEC2441 Assessment: 40% continuous assessment, 60% examination 

COMP3270. Artificial intelligence (6 credits) 

This is an introduction course on the subject of artificial intelligence. Topics include: intelligent agents; search techniques for problem solving; knowledge representation; logical inference; reasoning under uncertainty; statistical models and machine learning. This course may not be taken with BUSI0088. 

Prerequisite: CSIS1119 or COMP2119 or CSIS1122 or CSIS1123 or COMP2123 Assessment: 50% continuous assessment, 50% examination 

COMP3271. Computer graphics (6 credits) 

Overview of graphics hardware, basic drawing algorithms, 2-D transformations, windowing and clipping, interactive input devices, curves and surfaces, 3-D transformations and viewing, hidden-surface and hidden-line removal, shading and colour models, modelling, illumination models, image synthesis, computer animation. 

Prerequisite: CSIS1119 or COMP2119 or CSIS1122 or CSIS1123 or COMP2123 Assessment: 50% continuous assessment, 50% examination 

COMP3278. Introduction to database management systems (6 credits) 

This course studies the principles, design, administration, and implementation of database management systems. Topics include: entity-relationship model, relational model, relational algebra, database design and normalization, database query languages, indexing schemes, integrity and concurrency control. This course may not be taken with BUSI0052. 

Prerequisite: CSIS1119 or COMP2119 or ELEC1502 or ELEC1503 or ELEC2543 Assessment: 50% continuous assessment, 50% examination 

COMP3297. Introduction to software engineering (6 credits) 

This course introduces the fundamental principles and methodologies of software engineering. It covers the software process and methods and tools employed in the development of modern systems. The use of CASE tools and the UML are emphasized. The course includes a team-based project in which students apply their new knowledge to a full development lifecycle, including maintenance. 

Prerequisite: CSIS1122 or CSIS1123 or COMP2123 Assessment: 50% continuous assessment, 50% examination 

COMP3311. Legal aspects of computing (6 credits) 

To introduce students to the laws affecting computing and the legal issues arising from the technology. Contents include: the legal system of Hong Kong; copyright protection for computer programs; intellectual property issues on the Internet; data privacy; computer-related crimes; codes of professional conduct for computer professionals. 

Prerequisite: CSIS1122 or CSIS1123 or COMP2123 Assessment: 40% continuous assessment, 60% examination 

COMP3314. Machine learning (6 credits) 

An introduction to algorithms and applications of machine learning. Topics include: decision theory; parametric models; supervised learning (classification and regression); unsupervised learning (clustering, mixture models, principal component analysis); Bayesian methods. 

Prerequisite: MATH1853; and CSIS1119 or COMP2119 or ELEC1502 or ELEC1503 or ELEC2543 Assessment: 50% continuous assessment, 50% examination 

COMP3315. Multimedia computing and applications (6 credits) 

This course introduces various aspects of the interdisciplinary and multidisciplinary field of multimedia computing. Current developments of technologies and techniques in multimedia will also be covered. Applications of multimedia techniques are also highlighted through a media production course project. Major topics include: what are media, audio, acoustics and psychoacoustics, MIDI, basic compression techniques, video compression techniques, standards, and current multimedia technologies. This course may not be taken with BUSI0068. 

Prerequisite: CSIS1119 or COMP2119
Assessment: 50% continuous assessment, 50% examination 

COMP3316. Quantum Information and Computation (6 credits) 

This course offers a gentle introduction to the field of quantum information and computation, designed for computer science students. We will start from the basic principles of quantum theory, becoming familiar with the counterintuitive notions of quantum superposition and entanglement. Once the basics have been established, we will explore the cornerstones of quantum information theory: quantum cloning, quantum teleportation, quantum state discrimination, quantum error correction, and cryptography. Finally, we will conclude with an overview of quantum computation and of the main quantum algorithms, including Shor’s algorithm for prime factorization in polynomial time and Grover’s quantum search algorithm. 

Prerequisite: MATH1853 or MATH2101 or equivalent Assessment: 50% continuous assignment, 50% examination 

COMP3317. Computer vision (6 credits) 

This course introduces the principles, mathematical models and applications of computer vision. Topics include: image processing techniques, feature extraction techniques, imaging models and camera calibration techniques, stereo vision, and motion analysis. 

Prerequisite: CSIS1119 or COMP2119 or ELEC1502 or ELEC1503 or ELEC2543 Assessment: 50% continuous assessment, 50% examination 

COMP3320. Electronic commerce technology (6 credits) 

This course aims to help students to understand the technical and managerial challenges they will face as electronic commerce becomes a new locus of economics activities. Topics include Internet and WWW technology, information security technologies, public-key crypto-systems, public-key infrastructure, electronic payment systems, and electronic commerce activities in different sectors. 

Prerequisite: CSIS0278 or COMP3278
Assessment: 30% continuous assessment, 70% examination 

COMP3322. Modern technologies on World Wide Web (6 credits) 

Basics on Internet and network protocols (TCP and IP); Internet applications; Domain Name System; World Wide Web; Web addressing; HTTP; HTML, XML, style sheets, etc.; programming the Web: PHP , JavaScript, etc.; other topics of current interest (AJAX, HTML5, web services, cloud computing). This course may not be taken with BUSI0063. 

Prerequisite: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112 Assessment: 50% continuous assessment, 50% examination 

COMP3323. Advanced database systems (6 credits) 

The course will study some advanced topics and techniques in database systems, with a focus on the system and algorithmic aspects. It will also survey the recent development and progress in selected areas. Topics include: query optimization, spatial-spatiotemporal data management, multimedia and time-series data management, information retrieval and XML, data mining. 

Prerequisite: CSIS0278 or COMP3278
Assessment: 50% continuous assessment, 50% examination 

COMP3327. Computer and network security (6 credits) 

This course introduces the principles, mechanisms and implementation of computer security and data protection. Knowledge about the attack and defend are included. Topics include notion and terms of information security; introduction to encryption: classic and modern encryption technologies include public-key systems; authentication methods; access control methods; system integrity attacks and defences (e.g. viruses); introduction to network/Internet security; analysis and models of secure systems. 

Pre-requisites: CSIS0230 or COMP3230; and CSIS0234 or COMP3234 Assessment: 30% continuous assessment, 70% examination 

COMP3328. Wireless and mobile communication (6 credits) 

This course introduces the basic principles and technologies in various mobile and wireless communication systems. Topics include mobile communication environment; digital modulation; channel coding; medium access technologies; cellular mobile radio systems; wireless LANs; security in wireless systems; internetworking in wireless systems; mobility applications. 

Prerequisite: CSIS0234 or COMP3234; and CSIS0396 or COMP2396 Assessment: 50% continuous assessment, 50% examination 

COMP3329. Computer game design and programming (6 credits) 

The course will study practical topics in game design. Topics includes: types of game, game 14 

platforms, design of game, 3D model and kinematics, rendering techniques, collision detection, project management, AI, UI, sound effects, and networking. 

Pre-requisite: CSIS1119 or COMP2119
Assessment: 50% continuous assessment, 50% examination 

COMP3330. Interactive mobile application design and programming (6 credits) 

This course introduces the Android platform for developing interactive mobile applications. Topics include user interface, parallel computing, graphics, multimedia, sensors, database, and social computing. Students participate in both individual assignments and group projects to practice ideation, reading, writing, coding, and presentation. 

Prerequisite: CSIS0396 or COMP2396
Assessment: Assessment: 50% continuous assessment, 50% examination 

COMP3351. Advanced algorithm analysis (6 credits) 

This class introduces advanced mathematical techniques for analyzing the complexity and correctness of algorithms. NP-complete problems are believed to be not solvable in polynomial time and we study how approximation algorithms could give near optimal solutions. In particular, we will see that probability theory gives us a very powerful tool to tackle problems that are otherwise hard to solve. 

Prerequisite: CSIS0250 or COMP3250; or basic knowledge in probability and algorithms Assessment: 50% continuous assessment, 50% examination 

COMP3402. System architecture and distributed computing (6 credits) 

This course introduces the architecture of modern systems and the concepts and principles of distributed computing. Topics include: client-server computing, multi-tier architectures, data/object persistence, parallel server systems, naming services, transaction processing, middleware and messaging, component technologies, and web services/APIs. 

Prerequisite: CSIS0396 or COMP2396
Assessment: 50% continuous assessment, 50% examination 

COMP3403. Implementation, testing and maintenance of software systems (6 credits) 

This course examines the theory and practice of software implementation, testing and maintenance. Topics in implementation include: detailed design issues and implementation strategies; coding style and standards; the review process; quality metrics; pattern implementation and reuse. Testing covers strategies and techniques for unit and component testing; integration testing; system, performance and acceptance testing; test documentation and test management. Topics in maintenance include maintenance techniques, tools and metrics; software rejuvenation; and refactoring. 

Pre/Co-requisite: CSIS0396 or COMP2396
Assessment: 50% continuous assessment, 50% examination 

COMP3404. Software quality and project management (6 credits) 

Topics in software quality include: software quality models; quality assurance; software quality metrics; quality reviews, inspections and audits. Topics in project management include: project planning, cost estimation and scheduling; project monitoring and control; agile, traditional and extreme process models and their management; risk analysis; configuration management and control; software acquisition; contract management; and process improvement. This course may not be taken with BUSI0060 or BUSI0061. 

Prerequisite: CSIS0297 or COMP3297
Assessment: 40% continuous assessment, 60% examination 

COMP3407. Scientific computing (6 credits) 

This course provides an overview and covers the fundamentals of scientific and numerical computing. Topics include numerical analysis and computation, symbolic computation, scientific visualization, architectures for scientific computing, and applications of scientific computing. 

Prerequisites: CSIS1117 or COMP1117 or ENGG1002 or ENGG1111 or ENGG1112; and CSIS1118 or ENGG1007 or COMP2121
Assessment: 50% continuous assessment, 50% examination 

COMP3412 Internship (6 credits) [for intakes of 2012 and thereafter (4-year curriculum)] 

The course consists of two components: internship and professionalism. Internship requires students to spend a minimum of four weeks employed, full-time, as IT interns or trainees. During this period, they are engaged in work of direct relevance to their programme of study. The Internship provides students with practical, real-world experience and represents a valuable complement to their academic training. Professionalism exposes students to social and professional issues in computing. Students need to understand their professional roles when working as computer professionals as well as the responsibility that they will bear. They also need to develop the ability to ask serious questions about the social impact of computing and to evaluate proposed answers to those questions. Topics include social context of computing, risks, safety and security concerns for computer professionals, professional and ethical responsibilities, and continuing professional development. 

Assessment: 100% continuous assessment 

COMP3413. Research internship (6 credits) 

The student will participate in a research project under the guidance and supervision of a teacher over a prescribed period of time; the results will be presented in an oral and a written report. 

Assessment: 100% continuous assessment 

COMP4801. Final year project (12 credits) 

Student individuals or groups, during the final year of their studies, undertake full end-to-end development of a substantial project, taking it from initial concept through to final delivery. Topics range from applied software development to assignments on basic research. In case of a team project, significant contribution is required from each member and students are assessed individually, such 

that each student is given a separate project title. Strict standards of quality will be enforced throughout the project development. 

Assessment: 100% continuous assessment 

COMP4804 Computing and data analytics project (6-credits) [for candidates pursuing the degree BEng(EngSc) – Computing and Data Analytics] 

Students during the final year of their studies undertake a substantial project, taking it from initial concept through to final delivery, and integrating their knowledge and skills on computing and data analytics. 

Assessment: 100% continuous assessment 

COMP4805 Project (6-credits) [for non-BEng(CompSc) candidates pursuing Computer Science as second major] 

Students during the final year of their studies undertake a substantial project, taking it from initial concept through to final delivery, and integrating their knowledge and skills on computing. 

Assessment: 100% continuous assessment 

Candidates may take up to two MSc(CompSc) courses as electives, subject to the approval of the Head of Department. An MSc(CompSc) course is equivalent to a 6-credit course, by undertaking additional workload than an MSc(CompSc) student in the course concerned.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *