BSc in Computer Science
(4-Year Curriculum, for HKDSE Applicants)



Computer Science: Study Scheme



Applicable to students admitted in 2012-13

Major Programme Requirement

Students are required to complete a minimum of 75 units of courses as follows:

  Units
1. Faculty Package: 9
  ENGG1100, 1110 or 1200, 2600  
2. Foundation Science Courses: 9
(a) 6 units of Physics:  
(i) For students without Senior Secondary Physics background:
PHYS1003, 1110
 
(ii) For students who have taken HKDSE Physics or Combined Science with Physics component:
ENGG2520, PHYS1110
 
(b) 3 units of other Science Course:
CHEM1070, 1280, 1380, LSCI1001, 1003
 
3. Foundation Mathematics Courses: 12
  ENGG1410, 2420, 2430, MATH1510  
4. Required Courses:
(a) CSCI2100, 2110, 3100, 3150, 3160, ENGG2020 18
(b) Two Research Component Courses:
ENGG4010, 4020
6
5. Choose any ONE from the following six options: 21
(a) General Computer Science
Elective Courses:
Choose 21 units from the CENG / CSCI major courses of which at least 15 units must be from courses coded 3000 or above
 
(b) Stream 1: Intelligence Science
Required Courses:
CSCI3230, 5180
Elective Courses: (Choose at least 9 units)
CSCI3130, 3180, 3210, 3220, 4170, 5150, 5160, 5170, 5240, 5250, 5280, 5310, 5330, 5350, 5390, 5430
Remaining units from the CENG / CSCI major courses
 
(c) Stream 2: Database and Information Systems
Required Courses:
CSCI3170, 5120
Elective Courses: (Choose at least 9 units)
CSCI3130, 3180, 3220, 3420, 4130, 4140, 4160, 4430, 5110, 5180, 5250, 5330, 5340, 5470
Remaining units from the CENG / CSCI major courses
 
(d) Stream 3: Rich Media
Required Courses:
CSCI3260, 3280
Elective Courses: (Choose at least 9 units)
CSCI3290, 3420, 4120, 4160, 4170, 4430, 5210, 5280, 5310, 5390, 5460
Remaining units from the CENG / CSCI major courses
 
(e) Stream 4: Distributed Systems, Networks and Security
Required Courses:
CSCI4430, 5470
Elective Courses: (Choose at least 9 units)
CSCI3310, 3420, 4130, 4140, 4160, 4170, 4180, 4190, 5340, 5360, 5390, 5420, 5440
Remaining units from the CENG / CSCI major courses
 
(f) Stream 5: Theoretical Computer Science
Required Courses:
CSCI3130, 3180
Elective Courses: (Choose at least 9 units)
CSCI3120, 3220, 5160, 5170, 5230, 5240, 5320, 5330, 5350, 5370, 5430, 5440, 5450
Remaining units from the CENG / CSCI major courses
 
  Total: 75
Explanatory Note:
1. BMEG, CENG, CSCI, ELEG, ENGG, IERG, MAEG, SEEM courses at 2000 level and above will be included in the calculation of the Major GPA for honours classification.

Course List

Course Code Course Title Unit(s)
CSCI1010 Hands-on Introduction to C 1
CSCI1020 Hands-on Introduction to C++ 1
CSCI1030 Hands-on Introduction to Java 1
CSCI1040 Hands-on Introduction to Python 1
CSCI1050 Hands-on Introduction to Matlab 1
CSCI1110 Introduction to Computing Using C 3
CSCI1120 Introduction to Computing Using C++ 3
CSCI1130 Introduction to Computing Using Java 3
CSCI1140 Programming Laboratory 1
CSCI1410 Digital Logic 3
CSCI1510 Computer Principles and C Programming 3
CSCI1520 Computer Principles and C++ Programming 3
CSCI1530 Computer Principles and Java Programming 3
CSCI1580 Visual Programming 3
CSCI1740 Modern Computer Systems 3
CSCI2100 Data Structures 3
CSCI2110 Discrete Mathematics 3
CSCI2120 Introduction to Software Engineering 2
CSCI2510 Computer Organization 3
CSCI2520 Data Structures and Applications 3
CSCI2720 Building Web Applications 3
CSCI2800 Numerical Computation 3
CSCI3100 Software Engineering 3
CSCI3120 Compiler Construction 3
CSCI3130 Formal Languages and Automata Theory 3
CSCI3150 Introduction to Operating Systems 3
CSCI3160 Design and Analysis of Algorithms 3
CSCI3170 Introduction to Database Systems 3
CSCI3180 Principles of Programming Languages 3
CSCI3190 Introduction to Discrete Mathematics and Algorithms 3
CSCI3210 Principles of Multiagent Systems 3
CSCI3220 Algorithms for Bioinformatics 3
CSCI3230 Fundamentals of Artificial Intelligence 3
CSCI3250 Computers and Society 2
CSCI3260 Principles of Computer Graphics 3
CSCI3270 Advanced Programming Laboratory 2
CSCI3280 Introduction to Multimedia Systems 3
CSCI3290 Computational Photography 3
CSCI3310 Mobile Computing and Applications Development 3
CSCI3420 Computer System Architectures 3
CSCI3510 Computer Game Software Development 3
CSCI3530 Software Technology 3
CSCI3550 Introduction to Computer Graphics 3
CSCI3640 Introduction to Theoretical Computer Science 3
CSCI4010 Final Project I 4
CSCI4020 Final Project II 4
CSCI4120 Principles of Computer Game Software 3
CSCI4130 Introduction to System Administration Laboratory 1
CSCI4140 Open-Source Software Project Development 3
CSCI4160 Distributed and Parallel Computing 3
CSCI4170 Web Intelligence and Social Computing 3
CSCI4180 Introduction to Cloud Computing 3
CSCI4190 Introduction to Social Networks 3
CSCI4260 Current Topics in Computing Techniques 3
CSCI4430 Data Communication and Computer Networks 3
CSCI4510 Programming Languages and Compilers 3
CSCI4640 Computer Structures 3
CSCI5110 Advanced Topics in Software Engineering 3
CSCI5120 Advanced Topics in Database Systems 3
CSCI5150 Learning Theory and Computational Finance 3
CSCI5160 Topics in Algorithms 3
CSCI5170 Theory of Computation Complexity 3
CSCI5180 Techniques for Data Mining 3
CSCI5210 Advanced Topics in Computer Graphics and Visualization 3
CSCI5230 Advanced Topics in Compiler Construction 3
CSCI5240 Combinatorial Search and Optimization with Constraints 3
CSCI5250 Information Retrieval and Search Engines 3
CSCI5280 Image Processing and Computer Vision 3
CSCI5310 Topics in Biometrics 3
CSCI5320 Topics in Graph Algorithms 3
CSCI5330 Advanced Algorithms for Bioinformatics 3
CSCI5340 Advanced Topics in Distributed Software Systems 3
CSCI5350 Game Theory in Computer Science 3
CSCI5360 Grid Computing 3
CSCI5370 Quantum Computing 3
CSCI5390 Advanced Topics in GPU Programming 3
CSCI5420 Computer System Performance Evaluation 3
CSCI5430 Autonomous Agents and Multiagent Systems 3
CSCI5440 Theory of Cryptography 3
CSCI5450 Randomness and Computation 3
CSCI5460 Virtual and Augmented Reality 3
CSCI5470 Computer and Network Security 3
ENGG1410 Engineering Maths I 3
ENGG2020 Digital Logic and Systems 3
ENGG2420 Engineering Maths II 3
ENGG2430 Engineering Maths III 3
ENGG2520 Engineering Physics II 3
ENGG4010 Final Year Project I 3
ENGG4020 Final Year Project II 3