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:
- Sixteen compulsory
courses in the areas of
software engineering and
computing fundamentals
(93 credit-units)
- Complementary
studies courses
comprising (39
credit-units):
- English for
computer science (3
credit-units)
- Professional and
technical
communication for
computer science (3
credit-units)
- Practical
Chinese language
course for
engineering students
(3 credit-units)
- Engineering
organization and
management (3
credit-units)
- Engineering and
society (3
credit-units)
- Engineering
economics and
finance (3
credit-units)
- 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
- 15 credit-units
of other courses
offered outside this
degree curriculum
- System integration
project (6 credit-units)
- Software engineering
project (12
credit-units)
- Five elective
courses in computer
science and related
areas (30 credit-units)
- Workshop training (3
credit-units)
- 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 |
(sub-total: 12
credit-units) |
(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:
- All compulsory
courses in the areas of
software engineering and
computing fundamentals;
- All compulsory
complementary studies
courses on languages and
communication;
- System integration
and software engineering
projects;
- The best 30
credit-units out of
elective courses from
computer science and
related areas;
- The best 24
credit-units out of
other complementary
studies courses; and
- 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
|