Department of Computer Science, The University of Hong Kong
Software Engineering side banner
Overview|Regulations & Syllabuses|Selected Staff |Our Students|Useful Links|FAQ|Intranet
Software Engineering side banner
Regulations & Syllabuses
 
Printable version in PDF format

REGULATIONS FOR THE DEGREE OF
BACHELOR OF ENGINEERING (BEng) [ 1 ]

(see also General Regulations and Regulations for First Degree Curricula)

 

EN 1 Admission to the Degree

To be eligible for admission to the degree of B.Eng., a candidate shall

  1. comply with the General Regulations;
  2. comply with the Regulations for First Degree Curricula;
  3. satisfy all the requirements of the curriculum in accordance with the regulations that follow and the syllabuses of the degree.

 

EN 2 Length of Study

The curriculum shall normally require six semesters of full-time study, spread over three academic years.

 

EN 3 Curriculum Requirements

To complete the curriculum, a candidate shall

  1. satisfy the requirements prescribed in UG 3 of the Regulations for the First Degree Curricula;
  2. in addition to the requirements in EN 3(a) above, satisfactorily complete altogether 6 credit-units of courses in English language enhancement;
  3. complete not less than 180 credit-units of courses, in the manner specified in the syllabuses; candidates are required to pass all core courses as specified in the syllabuses and satisfactorily complete prerequisite courses in order to enrol in a succeeding course; and
  4. for students opting for minor programme, satisfy all required courses as prescribed in the minor curriculum, as specified in the syllabuses.

 

EN 4 Candidates shall normally select not less than 30 and not more than 36 credit-units of courses in each semester, unless otherwise permitted or required by the Board of the Faculty. Candidates who have overloaded in preceding semesters will be allowed to reduce the load by up to the equivalent number of credit-units they have passed in excess of the normal load in a subsequent semester without having to seek prior approval.

 

EN 5 Candidates with unsatisfactory academic progress may be required by the Board of the Faculty to take a reduced study load.

 

EN 6 Selection of Courses

Candidates shall select their courses in accordance with these regulations and the guidelines specified in the syllabuses before the beginning of each academic year.

 

EN 7 Assessment and Grades

Candidates shall be assessed for each of the courses which they have registered for, and assessment may be conducted in any one or any combination of the following manners: written examinations or tests, continuous assessment, laboratory work, field work, project reports, or in any other manner as specified in the syllabuses. Grades shall be awarded in accordance with UG 5 of the Regulations for the First Degree Curricula.

 

EN 8 Written examinations or tests shall normally be held at the end of each semester unless otherwise specified in the syllabuses.

 

EN 9 Candidates who fail in any course may be required by the Board of the Faculty to repeat the same course or to take a special examination at a time and in a manner specified by the Board. The grades for all attempts made by candidates will be recorded in their transcripts.

 

EN 10 Candidates shall not be permitted to repeat a course for which they have received a grade D or above for upgrading purposes.

 

EN 11 A candidate will normally be recommended for discontinuation if

  1. his/her yearly average of Semester GPA is unsatisfactory for two consecutive academic years;
  2. he/she has failed in a core course three times; or
  3. he/she has accumulated less than half of the credit-units expected of a normal load for two consecutive years.

 

EN 12 Advanced Standing

Advanced standing may be granted to candidates in recognition of studies completed successfully elsewhere. The amount of advanced credit-units to be granted shall be determined by the Board of the Faculty, in accordance with the following principles:

  1. a minimum of two years of study at this University shall be required before the candidate is considered for the award of the degree; and
  2. a minimum of 120 credit-units shall be gained in this University.

Advanced credit-units granted shall not be included in the calculation of the cumulative GPA.

 

EN 13 Degree Classification

The degree of Bachelor of Engineering shall be awarded in five divisions:

First Class Honours
Second Class Honours Division One
Second Class Honours Division Two
Third Class Honours
Pass

 

EN 14 The classification of honours shall be determined by the Board of the Faculty at its full discretion by taking the overall performance of candidates, the best 180 credit-units as specified in the syllabuses of respective programmes, and other relevant factors into consideration [ 2 ].

 

[ 1 ] These Regulations apply to students admitted to the first year of study for the degree of B.Eng. in the academic year 1998-99 and thereafter.

[ 2 ] Regulation EN14 is applied to students who graduate in June 2003 and beyond irrespective of their year of intake.


Last updated:
Printable version in PDF format

PROGRAMME STRUCTURES AND SYLLABUSES FOR THE DEGREE OF BACHELOR OF ENGINEERING (BENG)

 

SOFTWARE ENGINEERING

THE CURRICULUM

The following curriculum applies to students admitted in or after 2003. Other students should consult the curriculum pertaining to their actual year of entry.

The curriculum shall comprise 186 credit-units of courses:

  1. Sixteen compulsory courses in the areas of software engineering and computing fundamentals (93 credit-units)
  2. Complementary studies courses comprising (39 credit-units):
    1. English for computer science (3 credit-units)
    2. Professional and technical communication for computer science (3 credit-units)
    3. Practical Chinese language course for engineering students (3 credit-units)
    4. Engineering organization and management (3 credit-units)
    5. Engineering and society (3 credit-units)
    6. Engineering economics and finance (3 credit-units)
    7. 6 credit-units of broadening courses, including one 3 credit-unit course in Humanities and Social Sciences Studies and one 3 credit-unit course in Culture and Value studies or an area of studies outside this degree curriculum
    8. 15 credit-units of other courses offered outside this degree curriculum
  3. System integration project (6 credit-units)
  4. Software engineering project (12 credit-units)
  5. Five elective courses in computer science and related areas (30 credit-units)
  6. Workshop training (3 credit-units)
  7. Industrial training (3 credit-units)

To complete the curriculum, a candidate must pass all the courses listed under (a), (b)(i), (ii), (iii), (vii), (c), (d), (e), (f) and (g), and a combination of other courses totalling at least 180 credit-units. In addition, a candidate must satisfy any other requirements as stipulated in the University or Faculty of Engineering regulations.

The following is a typical course selection plan. Students are, however, allowed to submit their own course selection plans provided that they satisfy the requirements defined in the regulations, curriculum and syllabuses. CSIS1xxx courses in the syllabuses are level 1 courses assigned a weight of 1, and CSIS0xxx courses are level 2 courses assigned a weight of 2.

 
Year 2
(60 + 3 credit-units)
Year 3
(60 + 3 credit-units)
I. Software Engineering
  • Analysis and design of software systems
  • System architecture and distributed computing
  • Implementation, testing, and maintenance of software systems

(sub-total: 18 credit-units)

  • Software quality and project management
  • Professionalism and ethics
  • Real-time and embedded systems

(sub-total: 15 credit-units)

II. Computing Fundamentals
  • Principles of operating systems
  • Introduction to database management systems

(sub-total: 12 credit-units)

  • Computer and communications networks

(sub-total: 6 credit-units)

III. Complementary Studies
  • Engineering organization and management
  • Engineering and society
  • Broadening courses

(sub-total: 12 credit-units)

  • Engineering economics and finance
  • Broadening course(s)

(sub-total: 9 credit-units)

Project
  • System integration project

(sub-total: 6 credit-units)

  • Software engineering project

(sub-total: 12 credit-units)

Electives in CS and Related Areas
  • 2 courses

(sub-total: 12 credit-units)

  • 3 courses

(sub-total: 18 credit-units)

Training
  • Workshop Training [the summer following Year 1]

(sub-total: 3 credit-units)

  • Industrial Training [the summer following Year 2]

(sub-total: 3 credit-units)

 

The degree classification shall be based on the best 180 credit-units from:

(a) All compulsory courses in the areas of software engineering and computing fundamentals;

(b) All compulsory complementary studies courses on languages and communication;

(c) System integration and software engineering projects;

(d) The best 30 credit-units out of elective courses from computer science and related areas;

(e) The best 24 credit-units out of other complementary studies courses; and

(f) Workshop training and industrial training, with a weight of zero. [A weight of zero is given so that the Pass/Fail grade will not lower the classification.]

 

The degree classification shall be based on the best 180 credit-units from:

  1. All compulsory courses in the areas of software engineering and computing fundamentals;
  2. All compulsory complementary studies courses on languages and communication;
  3. System integration and software engineering projects;
  4. The best 30 credit-units out of elective courses from computer science and related areas;
  5. The best 24 credit-units out of other complementary studies courses; and
  6. Workshop training and industrial training, with a weight of zero. [A weight of zero is given so that the Pass/Fail grade will not lower the classification.]

 

SYLLABUSES FOR LEVEL 2 COURSES

The following syllabuses apply to students admitted in or after 2003. Other students should consult the curriculum pertaining to their actual year of entry.

Area I: Software Engineering

CSIS0401. Analysis and design of software systems (6 credit-units)

This course elaborates on software analysis and design. Topics in analysis include: feasibility analysis and the system proposal; requirements discovery; information modelling and analysis; process modelling and object-oriented analysis. Topics in design include: process design, input and output design, user-interface design and object-oriented design.

This course may not be taken with CSIS1401.

Prerequisite: CSIS0297

 

CSIS0402. System architecture and distributed computing (6 credit-units)

This course introduces the architecture of modern systems and the concepts and principles of distributed computing. Topics include: transaction processing, client-server computing, multi-tier architectures, middleware and messaging, component technology, and distributed object computing.

Prerequisite: CSIS0396

 

CSIS0403. Implementation, testing and maintenance of software systems (6 credit-units)

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; individual software process and metrics; and reuse. Also examined are the implementation aspects of contemporary approaches such as generic programming, design patterns, and design by contract. Testing covers unit and component testing; integration testing; system, performance and acceptance testing; and test documentation. Testing techniques for OO software are examined in detail. Topics in maintenance include maintenance techniques, tools and metrics; software rejuvenation; and refactoring.

Pre/Co-requisite: CSIS0297 or CSIS0401

 

CSIS0404. Software quality and project management (6 credit-units)

This course covers software quality and project management. Topics in software quality include software quality assurance; software quality metrics; review; inspection and audits. Topics in project management include project planning and scheduling; project control; risk analysis; planning and monitoring; process management and process improvement; configuration management and control; software acquisition; contract briefing, negotiation and management.

This course may not be taken with BUSI0060 or BUSI0061.

Prerequisite: CSIS0297

 

CSIS0405. Professionalism and ethics (3 credit-units)

This course exposes students to issues of professionalism in computing. Topics included professional societies and ethics, professional competency and life-long learning, methods and tools of analysis, risks and liabilities of computer-based systems, intellectual property and software law, information security and privacy, and the social impacts of computing.

 

CSIS0406. Real-time and embedded systems (6 credit-units)

Topics include: specification of real-time software requirements; design, implementation, and evaluation of real-time software; analysis and verification of real-time computing system performance.

Prerequisite: CSIS0230

 

Area II: Computing Fundamentals

CSIS0230. Principles of operating systems (6 credit-units)

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, network structure, distributed systems, case studies.

Prerequisites: CSIS1119; and CSIS1120 or ELEC1401 or ELEC1613

 

CSIS0278. Introduction to database management systems (6 credit-units)

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

This course may not be taken with BUSI0052.

Prerequisite: CSIS1119 or CSIS0912 or ELEC1501

 

CSIS0234. Computer and communication networks (6 credit-units)

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.

Prerequisites: CSIS1120 or ELEC1401 or ELEC1613

 

Area III: Complementary Studies

ELEC2802. Engineering organization and management (3 credit-units)

Management concepts, decision making processes, project management, leadership, management control, marketing.

 

ELEC2803. Engineering and society (3 credit-units)

Interaction between engineers and society; impact of technologies on society; environmental and safety issues; professional conduct and responsibility; contract law; law of tort; professional negligence and intellectual property law.

 

ELEC2804. Engineering economics and finance (3 credit-units)

Macroeconomics; financial instruments; accounting concepts and financial statements; cost and profit; economic evaluation.

 

Project

CSIS0803. System integration project (6 credit-units)

This is a team project involving development and integration of software components. The objective is to put the concepts and theories covered in the core courses into practice. The output will be a distributed software system based on well-defined requirements. Software tools will be used and system programming is a compulsory part of the project.

 

CSIS0802. Software engineering project (12 credit-units)

This is a team project, to be taken in the final year, which requires substantial individual contribution from every team member. The project requires students to complete end-to-end development of a software product for a real-world client. Students take their project from an initial concept through to final delivery and deployment, applying modern software process and strict standards of quality throughout. This may not be taken with CSIS0801 Final Year Project.

 

Summer Training

CSIS1411. Workshop training (3 credit-units)

This is a compulsory course taken after completing the first year of studies. Workshop Training is structured as a series of modules in which students gain direct, hands-on experience of various industry-standard software tools and technologies. As well as providing an exposure to current "tools of the trade", the course also emphasizes the application of engineering principles to the development and use of software systems.

 

CSIS1410. Industrial training (3 credit-units)

Industrial Training requires students to spend a minimum of six 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. CSIS1410 provides students with practical, real-world experience and represents a valuable complement to their academic training.

 

Electives in Computer Science and Related Areas

Requirements for CS and Related Areas Electives:

Students are required to take a total of 5 elective courses in computer science and related areas.

 

  • Computer Science Area
    • Level 2 courses offered by the Department of Computer Science
  • Related Areas
    • Level 3 courses from the Computer Engineering Programme
    • Level 3 courses from the Information Engineering Programme

 

Last updated:
 
Copyright © 2003 Department of Computer Science, The University of Hong Kong
Contact Us Link to CS homepage Home