Home


Welcome from President

Getting to know NTU

Undergraduate Studies

Graduate Studies and Research

Teaching and Learning

Campus Life

Conduct and Discipline

Academic Calendar

Campus Map

Past Issues

Site Map

 

     
     
     
  Undergraduate Studies  
   
 

 
 

School of Computer Engineering

 
 

1.3.2 Description of courses


Computer Engineering



Year 1


CPE101 Electronics Principles

AUs: 4, Prerequisites: NIL, Both semesters
Introduction to passive RLC circuits: Kirchoff’s Laws, circuit simplification and analysis, Thevenin’s and superposition theorems. Transient response of passive circuits under DC step excitation. Power in DC circuits. Introduction to semiconductor materials and the operation of npn and pnp junctions for bipolar transistor operation. MOSFET Structures. The semiconductor diode, its characteristics and application in half and full wave rectifiers. The Zener diode. The transistor as a switch. Low frequency operation. Speed/power, noise margins, fan-in, fan-out. Operating principles of TTL and CMOS switching circuits.


CPE102 Introduction to Programming

AUs: 4, Prerequisites: NIL, Both semesters
Basic concepts of structured programming. Programming concepts in C: data types (basic types, arrays, structures and pointers), control constructs (decision, loops, subprogramme [activation parameter passing, variable scopes, side effects]), I/O (files, records, logical devices). Steps in programme development. Good programming practices and programme quality.


CPE103 Mathematics I

AUs: 4, Prerequisites: NIL, Both semesters
Calculus: Limits and continuity, derivatives, integration, sequences and series. Linear algebra: complex numbers, vectors, matrices, systems of linear equations. Probability and statistics: summarising data, probability theory, random variables and distributions, estimation theory, random processes.


CPE104 Logic Design

AUs: 4, Prerequisites: NIL, Both semesters
Numbers and codes: binary, octal, hexadecimal, floating-point numbers, BCD, excess-3, gray, alphanumeric codes; Logic gates and Boolean algebra: truth tables, Boolean theorems, logic gates; Combinational logic circuits: S-O-P and P-O-S forms, minimisation methods; Flip-flops and related devices: basic latches, clocked flip-flops, timing consideration, monostable and astable multivibrators, Schmitt-trigger; Counters and registers: asynchronous counters, decoding and glitches, shift-registers, BCD counters, data registers; Digital arithmetic: signed numbers, arithmetic operations, BCD addition.


CPE105 Data Structures and Object-oriented Programming

AUs: 4, Prerequisites: CPE102, CM102 and G168 or CM101 and CM102, Both semesters
Object-oriented programming fundamentals: inheritance, class hierarchies, polymorphism, abstract and interface classes; Principles of object-oriented programming: encapsulation and information hiding, separation of behaviour and implementation, interface and implementation; Recursion; Abstract data types; Basic data structures: reference variables, dynamic memory allocation, vectors, lists, container/collection classes and iterators, stacks, queues; Trees: binary trees, binary search trees, tree traversals, Graphs: representations, graph traversal (DFS, BFS).


CPE106 Mathematics II

AUs: 4, Prerequisites: CPE103 (may be taken concurrently), Both semesters
Introduction to signals and spectra; System modelling and analysis; Fourier analysis: trigonometric and complex exponential Fourier series, Fourier transform, system analysis with Fourier transform; Laplace transforms, solving differential equations using Laplace transforms; Discrete-time signals and systems. Convolution theorem.


CPE110 C Language Proficiency

AUs: 2, Prerequisites: CPE102 Special Session (after Year 1)
C programme format; Comparison of Java and C: data constructs, control constructs, storage classes (automatic, static and extern variables), simple I/O and file I/O; Pointers: pointer types, pointer operations, array and pointers, dynamic memory allocation, functions and argument passing; The C preprocessor and the #define, #include directives. This course is based on e-learning and on-line tests.


Year 2


CPE201 Digital Circuits and Systems

AUs: 4, Prerequisites: CPE101, Both semesters
Introduction to digital system design and system-level symbology; Combinational digital systems; Sequential circuits; Application of digital modules: Datapath and control unit structures; Logic families; Interfacing techniques in digital design; Additional real world topics.


CPE202 Microprocessor Programming

AUs: 4, Prerequisites: CPE104, Both semesters
Overall Structure of a 16/32-bit microprocessor; programming model; data types and representation; Memory organisation. Assembly Language Programming for the H8S processor: Software development tools; Basic assembly language structure; Addressing modes; Stack manipulation; Instruction set; Modular programming; Structured programming. Embedded C programming; Memory Systems: Memory terminologies, technologies and characteristics, memory hierarchy. Exception Handling and Programming: Types of exception; exception vector table; stacks and its role in exception processing; Interrupts and Interrupt service routines; Interrupt priority. Basic I/O and I/O Programming: I/O organisation and structure, I/O ports and their configuration; serial interface; Polling techniques; interrupt-driven I/O.


CPE203 Software Systems and Models

AUs: 4, Prerequisites: CPE105, Both semesters
Concurrency Models: basic concepts and notations, active and passive objects; Event Driven Programming: call backs and event-handling methods, event propagation, exception handling, modelling of dynamic behaviour, concurrent event-driven programming; GUI Development: Java event model, basic Java GUI classes, AWT and Swing, model-view-controller architecture; Concurrent Programming: processes and threads, FSP and LTS, mutual exclusion, condition synchronisation; Mechanisms for Process Interaction: overview of mechanisms, shared memory approaches, message passing approaches, concurrent architectures; Analysis of Properties: deadlock, safety and liveness properties, starvation, dining philosophers, readers and writers.


CPE204 Discrete Mathematics and Algorithms

AUs: 4, Prerequisites: CPE105, Both semesters
Sets: operations on sets, Cartesian products, power sets. Mathematical Logic: propositional logic, predicate logic. Proof techniques, mathematical induction. Functions: definition of functions, bijective functions, composite functions. Relations: properties of relations, equivalence relations, composite relations. Introduction to graph theory: simple graphs, complete graphs, paths, circuits. Algorithm analysis: Asymptotic analysis of algorithms, asymptotic notations. Basic sorting methods: Insertionsort, Mergesort, Quicksort, Heapsort. Basic searching techniques: Binary Search, hashing. Graph algorithms: Dijkstra’s shortest path, Prim’s minimum spanning trees


CPE205 Operating Systems

AUs: 4, Prerequisites: CPE203, Both semesters
Basic concepts: structures, services, shell user view versus system calls, evolution of operating systems; Process management: notion of process and its states, interrupts and context switch, threads versus processes, interprocess communication and synchronisation, deadlocks, scheduling; Memory management: storage organisations, storage placement strategies, VM implementation, page replacement algorithms; I/O systems: device-independent interface, disk, clock, and terminals drivers, disk scheduling policies;File systems: file system structure, fi le management, file allocation, file reliability; Security and protection: specifi c and general protection schemes, access control list, capabilities, encryption; Case study on Unix, Linux and Windows NT.


CPE206 Microcontroller Systems Design

AUs: 4, Prerequisites: CPE201, CPE202, Both semesters
Organisation of H8S. Memory interfacing and timing diagram analysis. Exceptions and Associated Interface Considerations. Serial interface: asynchronous versus synchronous, I2C, SPI, IrDA, serial communication standards. Parallel I/O and Timers: Centronics interface, applications using timer modules, interface to display ICs. Direct Memory Access: Implicit/explicit transfers, organisation of a DMA/DTC, transfer protocols. Timer and Mixed Signal Interface: the timer (TMR), timer-pulse (TPU) units, the programmable pulse generator (PPG), watchdog (WDG) timer, H8S ADC/DAC units interfacing techniques. Power Management: CPU operation modes; Expanded/ Advanced mode of operations. Power-down modes of H8S; Various power-down modes supported); Transition between modes; Peripheral operations in various modes; Power consumption in different modes.


CPE207 Software Engineering

AUs: 4, Prerequisites: CPE102, Both semesters
Course Introduction; Part one - Getting Started: Introduction to Software Engineering, Modelling with UML, and Project Organisation and Communications; Part two - Dealing With Complexity: Requirements Elicitation Analysis, System Design (Decomposing System and Addressing Design Goals), Object Design (Reusing Patterns and Specifying Interfaces), Mapping Models to Code, and Testing; Part three - Dealing With Complexity: Rationale Management, Configuration, Project Management, Software Life Cycle, and Methodologies; eLearning Module: Functional-oriented Analysis and Design; Guest Lecturers: Software Vendor, CASE Tools, and Software Implementation.


CPE208 Instrumentation and Data Acquisition

AUs: 4, Prerequisites: CPE101, Both semesters
Signal Conditioning - Amplification: Operational amplifiers: ideal and practical operation; Typical applications and circuits: inverter, non-inverter, buffer, integrator, differentiator, summer, difference, comparator; Introduction to instrumentation and isolation amplifiers: CMRR, off-set currents and voltages; Filters: active and passive filters, simple filter design, analogue filter design with common circuit; Basic Interference Problems. Data acquisition systems: sampling theorem, sample and hold, multiplexers, analogue to digital conversion, design of a data acquisition system, digital to analogue conversion. Transducers: properties of analogue sensors for temperature, force and pressure; Operation of an analogue actuator: the DC server motor.


CPE279 Design and Development Project

AUs: 4, Prerequisites: Carried out with CPE206 Microcontroller Systems Design and CPE207 Software Engineering, Both semesters
The Design and Development Project (DDP) emphasises practical aspects of analysis, design and construction, testing and reliability. The work undertaken reinforces theories, concepts and issues introduced in formal lectures through team-based implementation of a project that integrates both hardware and software-related exercises.


Year 3


CPE301 Digital Communications

AUs: 4, Prerequisites: CPE106 and CPE201, Both semesters
Signal analysis. Signal transmission. Random signal and noise. Baseband data transmission. Bandwidth consideration. Digital modulation systems (amplitude-shift keying, phase-shift keying and frequency-shift keying). Data and phase synchronisation. Data multiplexing. Error control techniques. Information theory and source coding.


CPE302 Computer Networks

AUs: 4, Prerequisites: CPE301 (Should be taken concurrently), Both semesters
Open system interconnect reference model network architecture; TCP/IP protocol suite and its operation; Protocols and standards at different layers; HDLC protocol; Local area networks; Performance analysis; Internetworking; Routing; Congestion control; X.25; Frame-relay network; ATM; Internet protocol; TCP and UDP protocols; The roles of transport and applications layers; Network applications.


CPE303 Database Systems

AUs: 4, Prerequisites: CPE204, Both semesters
Database models; Access methods and file systems; Relational database system design; Query processing: Relational algebra, SQL; Introduction to transaction processing, concurrency and recovery; Database security and integrity; Trends in database systems.


CPE379 Industrial Attachment (IA)

AUs: 10, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semester of study, Semester 2 (22 weeks)
The 22-week Industrial Attachment aims to extend the knowledge gained throughout the academic course and to develop skills needed to work in an industrial environment. As computer technology applications are carried out in environments where production, engineering and management problems exist, the student will be able to gain first-hand experience applying knowledge in such an industrial situation. There is also an opportunity to develop the social, technical and communication skills needed to work effectively in a team.

Note:

  • The Accelerated Stream students will undertake the Industrial Attachment in Semester 1.
  • Alternative Industrial Attachment options are also available (Please see the next three options).


CPE376 Industrial Orientation (IO)

AUs: 4, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study.

For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (10 weeks)

Placement will be sourced by students or the school. Students taking this option will need to make up 6AUs of Unrestricted Electives.


CPE377 Enhanced Industrial Attachment (EIA)

AUs: 13, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (30 weeks)
Students taking this option can reduce the Unrestricted Electives by 3AUs.


CPE378 International Research Attachment (IRA)

AUs: 13, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (30 weeks)
Students taking this option can reduce the Unrestricted Electives by 3AUs.


Year 4


CPE479 Project

AUs: 1, Prerequisites: CPE379, Both semesters
This major project offers students the scope to develop initiative, creativity and design ability. The work, carried out through two semesters, provides an opportunity to undertake design, analysis and implementation of a substantial project in any particular area of Computer Engineering. Projects may be based on staff research interests or industrial collaboration. Students are expected to document their work and report their findings in formal reports and give oral presentations at the conclusion of their projects.


Prescribed Electives

  • A total of SIX electives are to be selected.
  • A maximum of FOUR electives are to be taken each semester
  • Not all prescribed electives are necessarily available in any one year.
  • Prescribed electives are normally only available to Year 4 students.
  • Some Prescribed electives may have Prerequisites. These will be clearly stated in the STARS systems.
  • The groupings given below are merely to guide students as to which courses would be relevant to a particular field of study. Student may select all six electives from the same area or any combination of courses from any of the specialisation.


Embedded Systems


CPE404 Advanced Microprocessor Systems

AUs: 4, Prerequisites: NIL, Semester 1
Survey of advanced microprocessors. Intel 32-bit CISC processors: 80386: real mode architecture, protected mode architecture, on-chip memory management unit, bus cycles, memory and I/O interface, interrupts. Introduction to 80466. Introduction to Pentium architecture. Motorola MC68030: on-chip instruction and data caches, cache policies, instruction pipeline, virtual memory management, paged memory management unit, address translation cache, table search and address translation response. MC68030 based system design: dynamic bus sizing, bus cycles, memory design techniques, external cache interface considerations. Introduction to Motorola MC68040. Introduction to PC bus standards eg. PCI bus, ISA bus.


CPE409 Computer Architecture

AUs: 4, Prerequisites: NIL, Semester 1
The elements of computer architecture; Arithmetic logic unit; Control unit; Memory and storage systems; Instruction set processor architecture; Pipelined processors; System interconnections; Parallel architectures.


CPE422 Neural Networks

AUs: 4, Prerequisites: NIL, Semester 1
Biological neural systems; Introduction to artificial neural networks; Supervised and unsupervised learning; Merits and limitations of neurocomputing; Perceptron as a linear classifier; Perceptron learning algorithms: ADALINE, MADALINE; Multilayer perceptron; Generalised delta-rule; Backpropagation learning; Linear associated memory networks; Bidirectional memory; Recurrent networks; Hopfield networks; Stochastic neural networks; Boltzmann machine; Simulated annealing; Kohonen networks; Self¬organising feature maps; Adaptive resonance theory: ART1 architecture; Hybrid networks; Radial basis function networks; Counterpropagation networks; Fuzzy neural networks; Genetic algorithms; Hardware implementation of neural networks; Application of neural networks.


CPE426 Real-Time Systems

AUs: 4, Prerequisites: NIL, Semester 1
Characteristics. Examples. General hardware requirement. Architectural support for real-time systems and concurrent software. RT languages: requirement and support to real-time software, language approach to embedded systems, implementation techniques, scheduling. RT O/S: features and selection criteria. Multi-tasking and schedulability tests. Fault tolerant techniques. Primitives for concurrent software. Analysis: sequential programme correctness, Petri-net and reachability analysis. Testing of real-time software. Performance analysis.


CPE405 Analogue and Digital Control

AUs: 4, Prerequisites: NIL, Semester 2
Control Signal conditioning and data acquisition; Analogue feedback control system: Linear time invariant system, open and closed loop, time response, stability analysis and root locus of closed loop system, simple Third-Term controller design, controller design procedure.

Digital feedback control system: Discrete-time systems, difference equation, Z-plane analysis, realisation of digital controllers and filters, signal reconstruction, transient response of digital control system, stability analysis and root locus of discrete-time closed loop system, digital controller design based on root locus and frequency response method, digital proportional controller; Introduction to adaptive control system: performance measure, model reference control, self-tuning regulator, associative memory controller, fuzzy self-organising controller.

Case studies: Cruise control, CVT gain schedule identification, etc.


CPE407 Asynchronous Digital Circuits and Systems

AUs: 4, Prerequisites: NIL, Semester 2
Asynchronous theory and design methodology: transient and stable states, asynchronous FSM, Moore and Mealy model, timing of signals in asynchronous circuits; Design using asynchronous circuit: minimisation of asynchronous FSM, asynchronous memory components, state assignments and races, implementation of asynchronous circuits, hazards, designing flip-flop circuits; Advanced asynchronous circuit: Self-timed circuits, asynchronous ASM and asynchronous control units, phased logic; Real world examples: controller for ADC and DAC, asynchronous Communications interface adapter, synchronising with the real world.


CPE414 Digital Signal Processing

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to DSP; Frequency and time domain analysis of signals and systems; Z-transform; Sampling in frequency domain and Discrete Fourier transform; Fast Fourier transform; Infinite impulse response and finite impulse response structures; Design of analogue and digital filters, and other structures.


CPE421 Mobile and Personal Communications

AUs: 4, Prerequisites: NIL, Semester 2
Overview of analogue and digital communication systems. Mobile radio channel and models. Large-scale and small-scale fading. Performance of digital modulaton schemes. Channel mitigation techniques. Multiple access techniques. Cellular systems concepts and system planning. Wireless network management, the global system for mobile communications. Code division multiply access. Third generation evolution. IEEE802.11 and Bluetooth.


CPE427 Robotics

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to robotics; Forward and inverse kinematics; Motion kinematics; Low-level and high-level trajectory planning; Static force and torque relations; Internal sensory devices: position and velocity sensors; External sensory devices: force, tactile and proximity sensors, machine vision; Robot programming: multi-level approach, programming techniques, world modelling, off-line programming and simulation.


Computer Communications and Networks


CPE402 Advanced Computer Networks

AUs: 4, Prerequisites: NIL, Semester 1
Overview of basic concepts of computer networks. Next Generation IP (IPv6) and Next Generation Transport protocol, AQM, Multicasting, Sockets. Real-Time Streaming Protocol (RTSP). RTP, RTCP, RSVP, SIP, P2P. Principles of Application layer protocols such as HTTP, FTP, SMTP, Private networks.


CPE413 Cryptography and Network Security

AUs: 4, Prerequisites: NIL, Semester 1
Introduction: security mechanisms, security services, and ITUT X.800 security architecture; Shared-key cryptographic algorithms and Kerberos; Public-key cryptographic algorithms and PKI Infrastructure; Security Protocols: PAP, CHAP, RADIUS, SSL/TLS; Security Tunnels and VPN: PPTP, L2F. L2TP and Ipsec; Perimeter Security Design: firewalls, SOCKS; Intrusion detection systems; Case Studies: security in Windows networking, WEP in 802.11 LAN; Internet banking.


CPE415 Digital Video Coding and Compression

AUs: 4, Prerequisites: NIL, Semester 1
Review of digital video coding and compression research; Digital video coding artifacts classification and analysis; Digital video quality assessment methods; Vision modelling; Quantitative video quality metrics; Quantitative video impairment metrics; Perceptual digital image and video coding; Open problems and discussions.


CPE424 Principles of Information Theory and Coding

AUs: 4, Prerequisites: NIL, Semester 1
Part one: Basic concepts of information theory: Entropy; Mutual information; The asymptotic equipartition property; Applications to source coding (data compression); Applications to channel coding (channel capacity); Shannon’s noiseless coding theorem and Shannon’s fundamental coding theorem; Modelling of information sources: zero-memory and Markov models; Modelling of information channels: Binary Symmetric Channel and its variants; Additivity of information and cascaded channels.

Part two: Coding Theory: Construction of compact source codes: Kraft inequality, compact codes; Huffman codes and universal data compression (Lempel-Ziv) codes; Analysis and design of error-control channel codes: Hamming codes, cyclic codes

(CRC and BCH codes); A brief introduction to Reed Solomon codes and low density parity check (LDPC) codes.


CPE414 Digital Signal Processing

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to DSP; Frequency and time domain analysis of signals and systems; Z-transform; Sampling in frequency domain and Discrete Fourier transform; Fast Fourier transform; Infinite impulse response and finite impulse response structures; Design of analogue and digital filters, and other structures.


CPE416 Distributed Systems

AUs: 4, Prerequisites: NIL, Semester 2
Introduction: components of distributed systems; Communication technologies; Communication services; Client-server computing and web technologies; CORBA and object-oriented technologies; Distributed algorithms; Distributed operating systems; Research issues in distributed systems; Standardisation issues; Real-time protocols; Cluster computing; Security.


CPE421 Mobile and Personal Communications

AUs: 4, Prerequisites: NIL, Semester 2
Overview of analogue and digital communication systems. Mobile radio channel and models, Large-scale and small-scale fading, Performance of digital modulation schemes, Channel mitigation techniques. Cellular systems concepts and system planning, Wireless network management, the global system for mobile communications. Code division multiple access. Third generation evolution. IEEE802.11 and Bluetooth.


CPE428 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures. Different types of simulation models: Monte Carlo simulation, discrete-event simulation. Continuous system simulation; Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation optimisation. Variance reduction techniques. Experimental designs.


Information Systems


CPE401 Advanced Algorithms

AUs: 4, Prerequisites: NIL, Semester 1
Advanced Algorithm Analysis Techniques; Computational Geometry; Maximum Flow; String Matching and other Bioinformatics related algorithms; NP-completeness; Search Techniques; Randomised Algorithms; Heuristic and Approximation Algorithms.


CPE403 Advanced Data Management Techniques

AUs: 4, Prerequisites: NIL, Semester 1
Types of data: semi-structured, spatial, scientific, biodata, etc.; Storage and indexing techniques, and issues; Query processing techniques; Data analysis and mining techniques.


CPE408 Compiler Techniques

AUs: 4, Prerequisites: NIL, Semester 1
Compiler structure; Lexical analysis; Regular expressions and finite automata; Context-free grammars; Syntax analysis; Parsing concepts and techniques; Compiler generation tools – LEX and YACC; Extending the parser through syntax-directed approach; Introducing compiler backend; Virtual machines; A complete compiler.


CPE425 Programming Languages

AUs: 4, Prerequisites: NIL, Semester 1
Role of programming languages in Software Development. Describing syntax and semantics. Language translation. Virtual machine. Data and control abstractions. Data types. Type checking. Scoping. Exception handling. Concurrency. Comparison of language paradigms: Object-oriented, Functional and Logic Programming. Programme correctness Programming in the large.


CPE417 Formal Languages, Automata and Computability

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to models of computation; Finitary representations; Uncountable numbers and diagonalisation argument; Example(s) of noncomputable problems; Formal languages and Chomsky’s grammars; Finite automata: DFA, NFA, regular expressions, regular grammars, and their equivalence; Properties of regular languages: pumping lemma for regular languages and its applications. Context free grammars: ambiguity, parsing; Pushdown automata and context free languages (CFLs); Deterministic CFLs and their applications; Properties of CFLs: pumping lemma for CFLs. Turing machines: definition and construction for simple problems; Church-Turing hypothesis and computabililty; Nondeterministic turing machines and nondeterministic time complexity.


CPE419 Introductory Bioinformatics

AUs: 4, Prerequisites: NIL, Semester 2
Basic bioinformatics concepts, databases, tools and applications. Introduction: cell biology’s central dogma, biological technologies for collecting and storing genomic sequence data. Methods of computational biology. Genomic and proteomic resources: information networks, DNA sequence databases, cDNA libraries of expressed genes, Protein sequence and structure databases. Human Genome Project. Sequence and structure analysis tools: dynamic programming for sequence alignment, pairwise and multiple alignment techniques, Predication of RNA secondary structures, Homology modeling for 3D protein structure. Microarray technology, clustering and classification. Imaging and visualisation technologies.


CPE428 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures. Different types of simulation models: Monte Carlo simulation, discrete-event simulation. Continuous system simulation. Mixed continuous/discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing system. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation optimisation. Variance reduction techniques. Experimental designs.


CPE429 Software Testing

AUs: 4, Prerequisites: NIL, Semester 2
Testing context; Risk analysis; Basic object-oriented concepts; Testing analysis and design models; Testing classes; Testing state-based classes; Parallel architecture for component testing; Planning for component testing; Measuring the effectiveness of component testing; System testing; Organising for testing.


Interactive Digital Media


CPE410 Computer Game Programming

AUs: 4, Prerequisites: NIL, Semester 1
History of computer/video game technology; Game genres and design principles; The social impact of games; Event loops and execution threads; Rendering and animation in 3D; Terrain/ background representation; Polygonal models; Texturing; Collision detection; Physically-based modelling; Game AI; Multiuser games and networking.


CPE411 Computer Graphics and Applications

AUs: 4, Prerequisites: NIL, Semester 1
Basics of Computer Graphics: Introduction, Graphics Pipeline and Coordinate Systems, Introduction to Ray Tracing, Shapes, 2D Transformations and viewing, 3D Transformations, 3D Viewing, OpenGL, Illumination and Shading; Computer Graphics Applications: Computer Animation, Physically-based Modelling, Real-time Rendering, Graphical User Interfaces, Virtual Reality.


CPE418 Geometric Modelling

AUs: 4, Prerequisites: NIL, Semester 1
Parametric curves and surfaces: bezier, B-spline, nurbs, surfaces of revolution, Swept surfaces, 2D and 3D “De Casteljau” algorithm; Implicit surfaces: algebraic surfaces, quadrics, superquadrics, blending, blending functions, skeletons, convolution surfaces; Subdivision surfaces; Normal vector calculation; Surfaces representation: polygonisation, grids, octrees, points, CSG.


CPE422 Neural Networks

AUs: 4, Prerequisites: NIL, Semester 1
Biological neural systems; Introduction to artificial neural networks; Supervised and unsupervised learning; Merits and limitations of neurocomputing; Perceptron as a linear classifier; Perceptron learning algorithms: ADALINE, MADALINE; Multilayer perceptron; Generalised delta-rule; Backpropagation learning; Linear associated memory networks; Bidirectional memory; Recurrent networks; Hopfield networks; Stochastic neural networks; Boltzmann machine; Simulated annealing; Kohonen networks; Self-organising feature maps; Adaptive resonance theory: ART1 architecture; Hybrid networks; Radial basis function networks; Counterpropagation networks; Fuzzy neural networks; Genetic algorithms; Hardware implementation of neural networks; Application of neural networks.


CPE412 Computer Vision and Image Processing

AUs: 4, Prerequisites: NIL, Semester 2
Image formation and segmentation; Image acquisition; Image representations and organisations; Digital image characterisation; Image enhancement and restoration; Image coding and data compression; Geometry for 3D vision; Pattern recognition using neural networks; Image analysis and understanding; Machine vision applications.


CPE414 Digital Signal Processing

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to DSP; Frequency and time domain analysis of signals and systems; Z-transform; Sampling in frequency domain and Discrete Fourier transform; Fast Fourier transform; Infinite impulse response and finite impulse response structures; Design of analogue and digital filters, and other structures.


CPE432 Visualisation

AUs: 4, Prerequisites: NIL, Semester 2
3D Computer graphics; Visualisation pipeline; Graphical data representation; Visualisation algorithms and applications.


CPE409 Computer Architecture

AUs: 4, Prerequisites: NIL, Semester 1
The elements of computer architecture; Arithmetic logic unit; Control unit; Memory and storage Systems; Instruction set processor architecture; Pipelined processors; System interconnections; Parallel architectures.


CPE413 Cryptography and Network Security

AUs: 4, Prerequisites: NIL, Semester 1
Introduction: security mechanisms, security services, and ITUT X.800 security architecture; Shared-key cryptographic algorithms and Kerberos; Public-key cryptographic algorithms and PKI Infrastructure; Security Protocols: PAP, CHAP, RADIUS, SSL/TLS; Security Tunnels and VPN: PPTP, L2F. L2TP and Ipsec; Perimeter Security Design: fi rewalls, SOCKS; Intrusion detection systems; Case Studies: security in Windows networking, WEP in 802.11 LAN; Internet banking.


CPE416 Distributed Systems

AUs: 4, Prerequisites: NIL, Semester 2
Introduction: components of distributed systems; Communication technologies; Communication services; Client-server computing and web technologies; CORBA and object-oriented technologies; Distributed algorithms; Distributed operating systems; Research issues in distributed systems; Standardisation issues; Real-time protocols; Cluster computing; Security.


CPE423 Parallel Processing

AUs: 4, Prerequisites: NIL, Semester 2
Motivation for parallelism. Models of parallel computers: shared memory models, distributed memory models. Concepts of parallel programming: models and paradigms. Complexity measures: computation and communications. Parallel languages. Parallel programme design. Partitioning: data partioning, divide-and-conquer, pipelined computation, etc. Applications: sorting, matrix, numerical etc.


CPE428 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures; Different types of simulation models: Monte Carlo simulation, discrete-event simulation. Continuous system simulation. Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation Optimisation. Variance reduction techniques. Experimental designs.


CPE406 Artificial Intelligence

AUs: 4, Prerequisites: NIL, Semester 1
Introduction to AI’s central hypothesis; Foundations of AI technology: AI languages, problem solving techniques, knowledge representation, logical reasoning; Selected advanced topics: expert systems, planning, machine learning, approximate reasoning; Case studies of AI in the real world.


CPE422 Neural Networks

AUs: 4, Prerequisites: NIL, Semester 1
Biological neural systems; Introduction to artificial neural networks; Supervised and unsupervised learning; Merits and limitations of neurocomputing; Perceptron as a linear classifier; Perceptron learning algorithms: ADALINE, MADALINE; Multilayer perceptron; Generalised delta-rule; Backpropagation learning; Linear associated memory networks; Bidirectional memory; Recurrent networks; Hopfield networks; Stochastic neural networks; Boltzmann machine; Simulated annealing; Kohonen networks; Self-organising feature maps; Adaptive resonance theory: ART1 architecture; Hybrid networks; Radial basis function networks; Counterpropagation networks; Fuzzy neural networks; Genetic algorithms; Hardware implementation of neural networks; Application of neural networks.


CPE405 Analogue and Digital Control

AUs: 4, Prerequisites: NIL, Semester 2
Control Signal conditioning and data acquisition; Analogue feedback control system: Linear time invariant system, open and closed loop, time response, stability analysis and root locus of closed loop system, simple 3-Term controller design, controller design procedure.

Digital feedback control system: Discrete-time systems, difference equation, Z-plane analysis, realisation of digital controllers and filters, signal reconstruction, transient response of digital control system, stability analysis and root locus of discrete-time closed loop system, digital controller design based on root locus and frequency response method, digital proportional controller; Introduction to adaptive control system: performance measure, model reference control, self-tuning regulator, associative memory controller, fuzzy self-organising controller.

Case studies: Cruise control, CVT gain schedule identification etc.


CPE420 Linear Programming

AUs: 4, Prerequisites: NIL, Semester 2
Linear programming; The simplex algorithm; Duality; Gaussian elimination and matrices; Revised simplex; General LP problems; Sensitivity analysis; Connections with geometry; Case studies in efficient allocation of scarce resources; Scheduling production and inventory and game theory.


CPE427 Robotics

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to robotics; Forward and inverse kinematics; Motion kinematics; Low-level and High-level trajectory planning; Static force and torque relations; Internal sensory devices: position and velocity sensors; External sensory devices: force, tactile and proximity sensors, machine vision; Robot programming: multi-level approach, programming techniques, world modelling, off-line programming and simulation.


CPE430 SPECIAL TOPIC 1

The course content is to be selected each semester from recent advances in computer engineering.


CPE431 SPECIAL TOPIC 2

The course content is to be selected each semester from recent advances in computer engineering.

General Education Requirement (36AUs)

  • Core Courses (12AUs)
  • Prescribed Elective (15AUs)
  • Unrestricted Elective (9AUs)


Core Courses


HW110 Effective Communication

AUs: 2, Prerequisites: NIL, Year 1, Semester 1
The course aims to provide students with an understanding of the characteristics, principles and techniques of effective communication at the interpersonal and organisational levels. Besides preparing students to handle verbal and nonverbal communication, the course also provides training in written communication tasks such as letters and memoranda.


HW210 Technical Communication

AUs: 2, Prerequisites: HW001, HW110 ,Year 2, Semester 2
This course demonstrates the techniques for creating effective technical reports. Students will learn to identify the characteristics of different kinds of reports and design a report best suited to the nature of the information being conveyed.


HW310 Professional Communication

AUs: 2, Prerequisites: HW001, HW110, Year 4, Semester 1
The course aims to provide students with an understanding of the strategies and skills of professional communication, and prepares students to handle verbal and written communication tasks in various professional situations.


CSC183 Engineers and Society

AUs: 3, Prerequisites: NIL, Year 4, Semester 2
This course raises issues pertinent to engineers as professionals as well as members of society. It discusses the requirements and issues of the IT profession, examining the key role professionals play with their contributions to society. Current concerns raised will be of interest to any person living in Singapore.


CSC184 Human Resource Management and Entrepreneurship

AUs: 3, Prerequisites: NIL, Year 3, Semester 1
Nature of entrepreneurship and human resource management; Developing a new venture business plan; Business formation; Understanding individual behaviour in organisation; Understanding group behaviour in organisation; Leadership for change and innovation; Managing human assets and performance; Productivity and total quality management; Managing creativity and innovation; Labour-management relations.


Unrestricted Elective


CPE811 Getting What You Want With Negotiation

AUs: 3, Prerequisites: NIL, Special session (May to June vacation)
Approaches, styles and outcomes, Interpersonal communication, Argumentation. The Negotiation Process: Planning and preparing, defining issues, objectives, desired outcomes, using psychology, tactics and strategies, strengthening case, working towards agreement, making proposals, looking for common ground, feedback/countermoves, helping other party move. Dealing with the difficulties: what can go wrong, handling conflict, deadlock. Working towards closure. Issues of gender, culture perception, emotion. Use of power. Electronic negotiation.


CPE812 Developing Team Leadership

AUs: 3, Prerequisites: NIL, Semester 1
Leadership in 21st Century; Heroes and Leaders; Situational, Transactional, and Transformational Leadership; Benefits of Teamwork; Cultivating Team Growth; Personality Types; Leadership Styles and Implications; Gender and Leadership; Handling Emotion within Team Workplace Teams; EQ and the Leader; Motivating and Managing People; Team Profiling; Creating Team Environments; Language of Leadership; Conflicts and Consequences; Feedback and Evaluation of Teams; Cross-Cultural Concepts of Leadership.


Prescribed Elective - Business and Management


CPE810 Managing and Resolving Conflict

AUs: 3, Prerequisites: NIL, Semester 2
Conflict as a natural part of team experience; Causes of conflict: communication, personal, process; Types of conflict: Intrapersonal, interpersonal, and intergroup; Implications: constructive and destructive outcomes; Discourse analysis of conflict situations; The language of conflict; Approaches to conflict management; Emotion and conflict; Leadership styles and conflict; Proactive solution strategies: empathy, assertiveness, co-operative power; conflict mapping, creating options, broadening perspectives; Conflict-resolution through games; Case studies of conflicts at the workplace; Conflict resolution resources.


Prescribed Elective – Science, Technology and Society


CPE801 Risks, Piracy and Other Crimes

AUs: 3, Prerequisites: NIL, Special session (June to July vacation)
Brief history and benefits of computers; Impact and control of computers: social implications of computing, impact of computer technology, controlling technology; Risks and liabilities of computer-based systems: system failures, example of software risk (the Therac-25 case), increasing reliability and safety; Privacy and information: computer-based threats to privacy, technical and management protection for privacy; Intellectual property: copyrights and patents, software piracy, copyright in cyberspace; Computer crime: intruders, hacking and cracking, sabotage and information theft, computer crime laws; Professional and ethical responsibilities: Ethical guidelines for computer professionals, codes of ethics, conduct and practice (e.g., ACM).


CPE802 Open Source Office Productivity Tools

AUs: 3, Prerequisites: NIL, Special session (June to July vacation)
Philosophy and history of Open Source Software (OSS). Contribution of OSS to innovation. Open Standards such as Web 2.0, ogg/speex (audio), png (image), open document format (odf), encryption (PK), etc. Coverage of OSS alternatives to completely replace proprietary versions of client software all the way from the Operating System to word processing, mail/web browsing, media playback, graphic manipulation, automated scripting, etc. Coverage of OSS alternatives for servers, including virtualisation, chat servers, mail servers, web servers, application servers, collaboration tools, DBMS, pod/ video casts, content/project management, etc.


CPE803 Experiencing Digital Animation

AUs: 3, Prerequisites: NIL, Special session (June to July vacation)
The course aims to impart basic principles and well-rounded skills on the fundamentals of animation, and comprehensive knowledge of the animation art form. The students will be taught the basic principles and skills that are required in a typical animation production pipeline. The course will be offered with help from a local animation training company, which provides the hands-on opportunity and experience for the students.


CPE804 From “Pong” To “Warcraft”

AUs: 3, Prerequisites: NIL, Special session (June to July vacation)
The course will provide a historical approach to the development of computer and video games from the first generation to the current seven generation. The course will look at the evolution of video games from different angles: culture, technology, and business. The following topics will be discussed in the context of games: the introduction of new concepts; technological milestones; biggest commercial hits and flops; the rapid developments in computer and device technology.


SC989 Research Exercise

AUs: 3, Prerequisites: Offered to selected second and third year students only, Special session (May to June vacation)
The research exercise aims to expose undergraduate students to engineering research through appropriate levels of research investigations over a period of six weeks. The work can take the form of one or more of the following: search, review and analysis of literature; collection, classification and analysis of data; set-up, measurement and analysis through experiments; theoretical and computational analysis; computer modelling; software development.


Computer Science


Year 1


CSC101 Introduction to Computer Systems

AUs: 4, Prerequisites: NIL, Both semesters
Levels of Abstraction: Introduction: computer systems and systems software in their historical context; Hardware: brief overview of computer architecture including CPU, peripherals, memory, instruction sets; Operating systems: managing resources, processes, peripherals, memory and fi le system; Networks: nature and role of communications networks (e.g.,, LAN, WAN), overview of the software and associated protocols used for distributed services; Middleware: overview of the networked services that support distributed applications; Applications: introduction to various popular applications (e.g., Databases). Languages, Tools and Architectures: System Software: programming languages and tools for the design of software applications, alternative approaches (e.g., compilers and interpreters), scripting languages; Software Architectures: client-server, component based, OO frameworks, remote procedure call, pipes and filters, plug-and-play; World Wide Web: search engines, web languages (e.g., HTML, XML, etc.), web page design and web services; Grid Computing: overview of architectures for secure, coordinated sharing of geographically distributed resources (e.g., OGSA).


CSC102 Introduction to Programming

AUs: 4, Prerequisites: NIL, Both semesters
Basic concepts of programming in Java: basic data types, statements, control constructs (selections, repetitions, methods [activation, parameter passing, variable scopes]); Introduction to object-oriented programming: classes, objects, object composition, arrays, strings, class design guidelines, modularity, reusability, ease of maintenance and good programming practices; File I/O; Exception handling.


CSC103 Foundation Mathematics

AUs: 4, Prerequisites: NIL, Both semesters
Calculus: Limits and continuity, Derivatives, Integration, sequences and series. Linear algebra: Complex numbers, vectors, matrices, systems of linear equations. Probability and statistics: Summarising data, probability theory, random variables and distributions, estimation theory, random processes.


CSC104 Logic Design

AUs: 4, Prerequisites: NIL, Both semesters
Numbers and codes: binary, octal, hexadecimal, floating-point numbers, BCD, excess-3, gray, alphanumeric codes; Logic gates and Boolean algebra: truth tables, Boolean theorems, logic gates, Combinational logic circuits: S-O-P and P-O-S forms, minimisation methods. Flip-flops and related devices: basic latches, clocked flip-flops, timing consideration, monostable and astable multivibrators, Schmitt-trigger. Counters and registers: asynchronous counters, decoding and glitches, shift-registers, BCD counters, data registers. Digital arithmetic: signed numbers, arithmetic operations, BCD addition.


CSC105 Data Structures and Object-Oriented Programming

AUs: 4, Prerequisites: CSC102, CM102 and G168 or CM101 and CM102, Both semesters
Object-oriented programming fundamentals: inheritance, class hierarchies, polymorphism, abstract and interface classes; Principles of object-oriented programming: encapsulation and information hiding, separation of behaviour and implementation, interface and implementation; Recursion; Abstract data types; Basic data structures: reference variables, dynamic memory allocation, vectors, lists, container/collection classes and iterators, stacks, queues; Trees: binary trees, binary search trees, tree traversals; Graphs: representations, graph traversal (DFS, BFS).


CSC106 Discrete Mathematics

AUs: 4, Prerequisites: NIL, Both semesters
Sets: operations on sets, Cartesian products, power sets; Elementary number theory: modulo arithmetic; Mathematical Logic: propositional logic, predicate logic; Proof techniques, mathematical induction; Recursion; Functions: definition of functions, bijective functions, composite functions; Relations: properties of relations, equivalence relations, composite relations, partial ordering, total ordering; Introduction to graph theory: simple graphs, complete graphs, isomorphism, weighted graphs, paths, circuits; Counting techniques.


CSC110 C Language Proficiency

AUs: 2, Prerequisites: CSC102
C programme format; Comparison of Java and C: data constructs, control constructs, storage classes (automatic, static and extern variables), simple I/O and file I/O; Pointers: pointer types, pointer operations, array and pointers, dynamic memory allocation, functions and argument passing; The C preprocessor and

the #define, #include directives. This is an on-line course with on-line assignments and tests.


Year 2


CSC201 Microprocessor Programming

AUs: 4 Prerequisites: NIL, Both semesters
Overall Structure of a 16/32-bit microprocessor; programming model; data types and representation; Memory organisation. Assembly Language Programming for the H8S processor: Software development tools; Basic assembly language structure; Addressing modes; Stack manipulation; Instruction set; Modular programming; Structured programming. Embedded C programming; Memory Systems: Memory terminologies, technologies and characteristics, memory hierarchy. Exception Handling and Programming: Types of exception; exception vector table; stacks and its role in exception processing; Interrupts and Interrupt service routines; Interrupt priority. Basic I/O and I/O Programming: I/O organisation and structure, I/O ports and their configuration; serial interface; Polling techniques; interrupt-driven I/O.


CSC202 Algorithms

AUs: 4, Prerequisites: CSC105, CSC106, Both semesters
Algorithm Analysis: growth of functions, Big-Oh notation, basic recurrences; Elementary sorting methods: Insertion, Selection, Heapsort, Quicksort, Radix Sort, Mergesort; Searching techniques: Elementary searching methods: Binary search, Hashing; Graph algorithms: Traversal algorithms, Greedy algorithms for Shortest Path and Minimum Spanning tress; Backtracking algorithms: N-Queens, Maze search; String matching algorithms; Dynamic programming; Introduction to NP-Completeness.


CSC203 Software Systems and Models

AUs: 4, Prerequisites: CSC105, Both semesters
Concurrency Models: basic concepts and notations, active and passive objects; Event Driven Programming: call backs and event-handling methods, event propagation, exception handling, modelling of dynamic behaviour, concurrent event-driven programming; GUI Development: Java event model, basic Java GUI classes, AWT and Swing, model-view-controller architecture; Concurrent Programming: processes and threads, FSP and LTS, mutual exclusion, condition synchronisation; Mechanisms for Process Interaction: overview of mechanisms, shared memory approaches, message passing approaches, concurrent architectures; Analysis of Properties: deadlock, safety and liveness properties, starvation, dining philosophers, readers and writers.


CSC204 Computer Graphics and Applications

AUs: 4, Prerequisites: CSC102, Both semesters
Basics of Computer Graphics: Introduction; Graphic Displays; Graphics Pipeline and Coordinate Systems, Introduction to Virtual Reality Modelling Language; 2D/3D Shape Modelling; 2D Transformations and Viewing, 3D Transformations and Projection Transformations; Illumination and Shading. Computer Graphics Applications: How Computer Animation Works, How Real-time Rendering Works; How Graphical User Interfaces Work; How Virtual Reality Works.


CSC205 Operating Systems

AUs: 4, Prerequisites: CSC203, Both semesters
Basic concepts: structures, services, shell user view versus system calls, evolution of operating systems; Process management: notion of process and its states, interrupts and context switch, threads versus processes, interprocess communication and synchronisation, deadlocks, scheduling; Memory management: storage organisations, storage placement strategies, VM implementation, page replacement algorithms; I/O systems: device-independent interface, disk, clock, and terminals drivers, disk scheduling policies; File systems: file system structure, file management, file allocation, file reliability; Security and protection: specific and general protection schemes, access control list, capabilities, encryption; Case Study on Unix and Windows NT.


CSC206 Database Systems

AUs: 4, Prerequisites: CSC202, Both semesters
Database models; Access methods and file systems; Relational database systems design; Query processing: Relational algebra, SQL; Introduction to transaction processing; Database security and integrity; Trends in database systems.


CSC207 Software Engineering 1

AUs: 4, Prerequisites: CSC102, Both semesters
Introduction: role of software engineering, the product. Software process models: the linear sequential model, the prototyping model, the RAD model, the evolutionary models, the component-based development model, the formal methods model. Function-oriented methodology for analysis and design: system engineering, analysis concepts and principles, analysis modelling, design concepts and principles, architectural design, user interface design, component level design, requirement analysis and design modelling tools. Object-oriented methodology for analysis and design: object-oriented analysis, object-oriented design. APIs: API packages, API programming, class browsers and related tools, debugging in the API environment. Programming environments. Web-based Engineering.


CSC279 Computing Innovation and Design (CID)

AUs: 4, Prerequisites: Carried out with CSC207 Software Engineering I. Commences from inter-semester break and finishes two weeks after examinations.
The Computing Innovation and Design (CID) emphasises practical aspects of analysis, design and construction, testing and reliability. The work undertaken reinforces theories, concepts and issues introduced in formal lectures through team-based implementation of a project that integrates both hardware and software-related exercises.


Year 3


CSC301 Programming Languages

AUs: 4, Prerequisites: CSC102, Both semesters
Role of programming language in Software Development. Describing syntax and semantics. Language translation. Virtual machine. Data and control abstractions. Data types. Type checking. Scoping. Exception handling. Concurrency. Comparison of language paradigms: Object-oriented, Functional and Logic Programming. Programme correctness. Programming in the large.


CSC302 Net-centric Computing

AUs: 4, Prerequisites: CSC205, Both semesters
This course presents a broad coverage of the structure, implementation, and theoretical underpinnings of networking technologies and network-based applications. Upon completion of this course, the student should be able to understand: (1) basic concepts, reference models, and protocols of modern computer networks; (2) the World Wide Web technologies and applications, and (3) network security and management.


CSC303 Software Engineering II

AUs: 4, Prerequisites: CSC207, Both semesters
Project Management: project planning, measurement and metrics, cost estimation; Scheduling and tracking, team management, risk analysis, project management tools and techniques; Software Quality Assurance: factors and components; Maintenance: software configuration management, version and change control, documentation; Legacy systems and reverse engineering; Validation and Testing: Strategies and Implementation; Testing tools and plans; Object-oriented testing; Formal verification techniques and introduction to Formal Specification Languages; Capability Maturity Model (CMM) and other standards.


CSC304 AI and Intelligent Systems

AUs: 4, Prerequisites: CSC202, Both semesters
Foundations of AI; Intelligent Systems/Agents; Problem Solving Techniques; Knowledge Representation; Logical Reasoning; Planning and Decision systems; Machine Learning; Approximate Reasoning; Real-World AI.


CSC379 Industrial Attachment (IA)

AUs: 10, Prerequisites: For students admitted to Year 1 and Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (22 weeks)
IA aims to extend the knowledge gained throughout the academic course and to develop skills needed to work in an industrial environment. As computer technology applications are carried out in environments where production, engineering and management problems exist, the student will be able to gain first-hand experience in applying knowledge in such a situation. There is also an opportunity to develop the social, technical and communication skills needed to work effectively in a team.

Note:

  • Accelerated Stream students will undertake the Industrial Attachment in Semester 1.
  • Alternative industrial attachment options are also available (please see the next three options).


CSC376 Industrial Orientation (IO)

AUs: 4, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students : Year 3 standing and have completed at least two semesters of study, Semester 2 (10 weeks) Placement will be sourced by students or the school. Students taking this option will need to make up 6AUs of Unrestricted Electives.


CSC377 Enhanced Industrial Attachment (EIA)

AUs: 13, Prerequisites: For students admitted to Year 1 and Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (30 weeks)
Placement will be sourced by students or the school. Students taking this option can reduce the Unrestricted Electives by 3AUs.


CSC378 International Research Attachment (IRA)

AUs: 13, Prerequisites: For students admitted to Year 1: Year 3 standing and have completed at least four semesters of study. For Poly direct entry to second year students: Year 3 standing and have completed at least two semesters of study, Semester 2 (30 weeks)
Placements will be sourced by students or the school. Students taking this option can reduce the Unrestricted Electives by 3AUs.


Year 4


CSC479 Project

AUs: 10, Prerequisites: CSC379, Both semesters
This major project offers students the scope to develop initiative, creativity and design ability. The work, carried out through two semesters, provides an opportunity to undertake design, analysis and implementation of a substantial project in any particular area of Computer Science. Projects may be based on staff research interests or industrial collaboration. Students are expected to document their work and report their findings in formal reports and give oral presentations at the conclusion of their projects.


Prescribed Electives

  • A total of SIX electives are to be selected.
  • A maximum of FOUR electives are to be taken each semester
  • Not all prescribed electives are necessarily available in any one year.
  • Prescribed Electives are normally only available to Year 4 students.
  • Some Prescribed Electives may have prerequisites. These will be clearly stated in the STARS systems.
  • The groupings given below are merely to guide students as to which courses would be relevant to a particular field of study. Students may select all six electives from the same area or any combination of courses from any of the specialisation.


Computer Communications and Networks


CSC402 Advanced Computer Networks

AUs: 4, Prerequisites: NIL, Semester 1
Overview of basic concepts of computer networks. Next Generation IP (IPv6) and Next Generation Transport protocol, AQM, Multicasting, Socket. Real-Time Streaming Protocol (RTSP), RTP, RTCP, RSVP, SIP, P2P. Application layer protocols such as HTTP, FTP, SMTP, Principles of application layer protocols, Private networks.


CSC409 Cryptography and Network Security

AUs: 4, Prerequisites: NIL, Semester 1
Introduction: security mechanisms, security services, and ITUT X.800 security architecture; Shared-key cryptographic algorithms and Kerberos; Public-key cryptographic algorithms and PKI Infrastructure; Security Protocols: PAP, CHAP, RADIUS, SSL/TLS; Security Tunnels and VPN: PPTP, L2F, L2TP and Ipsec; Perimeter Security Design: firewalls, SOCKS; Intrusion detection systems; Case Studies: security in Windows networking, WEP in 802.11 LAN; Internet banking.


CSC411 Distributed Computing

AUs: 4, Prerequisites: NIL, Semester 2
Introduction: Components of distributed systems, communication technologies, communication services. Technology to support client server computing. Distributed algorithms and protocols: examples of distributed algorithms, clock synchronisation, logical and vector clocks, election algorithms, consensus algorithms, proof of correctness, complexity analysis. Distributed operating systems: system models, fi le services, name services, process synchronisation and coordination, case studies. Distributed shared memory: algorithms for implementing DSM, coherence protocols. Distributed resource management: load sharing, load balancing, resource monitoring. Failure recovery and fault tolerance: check-pointing, recovery, fault-tolerant models and protocols. Research issues in distributed systems, real-time protocols, standardisation issues, cluster and grid computing.


CSC420 Wireless Networks and Mobile Computing

AUs: 4, Prerequisites: NIL, Semester 2
Foundation: introduction, history, physical and technological constraints, wireless communications, wireless networks, mobile networking, wireless protocols; Information management: data dissemination and broadcast models, mobile database and mobile transaction, location-Independent and location-dependent computing models, naming, locating, and routing, mobility and handoff, location awareness and environmental discovery, disconnected and weak-connected operation models: fi le hoarding and fi le systems; Mobile applications and services: Mobile Agents, transcoding and proxy architecture, wireless web and WAP; Human-computer interactions: reduced user interfaces, wearable and pervasive computing; Security: authentication in mobile applications, privacy issues; Case study: satellite networks: satellite MAC, multicast over satellite, asymmetric routing, TCP over satellite, LEO constellation and LEO routing.


CSC425 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures; Different types of simulation models: Monte Carlo simulation, discrete-event simulation; Continuous system simulation; Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation Optimisation. Variance reduction techniques. Experimental designs.


Interactive Digital Media


CSC407 Computer Game Programming

AUs: 4, Prerequisites: NIL, Semester 1
History of computer/video game technology; Game genres and design principles; The social impact of games; Event loops and execution threads; Rendering and animation in 3D; Terrain/ background representation; Polygonal models; Texturing; Collision detection; Physically-based modelling; Game AI; Multiuser games and networking.


CSC414 Geometric Modelling

AUs: 4, Prerequisites: NIL, Semester 1
Parametric curves and surfaces: bezier, B-spline, nurbs, surfaces of revolution, Swept surfaces, 2D and 3D “De Casteljau” algorithm; Implicit surfaces: algebraic surfaces, quadrics, superquadrics, blending, blending functions, skeletons, convolution surfaces; Subdivision surfaces; Normal vector calculation; Surfaces representation: polygonisation, grids, octrees, points, CSG.


CSC422 Neural Networks

AUs: 4, Prerequisites: NIL, Semester 1
Biological neural systems; Introduction to artifi cial neural networks; Supervised and unsupervised learning; Merits and limitations of neurocomputing; Perceptron as a linear classifier; Perceptron learning algorithms: ADALINE, MADALINE. Multilayer perceptron; Generalised delta-rule; Backpropagation learning; Linear associated memory networks; Bidirectional memory; Recurrent networks; Hopfield networks; Stochastic neural networks; Boltzmann machine; Simulated annealing; Kohonen networks; Self-organising feature maps; Adaptive resonance theory: ART1 architecture; Hybrid networks; Radial basis function networks; Counterpropagation networks; Fuzzy neural networks; Genetic algorithms; Hardware implementation of neural networks; Application of neural networks.


CSC408 Computer Vision and Image Processing

AUs: 4, Prerequisites: NIL, Semester 2
Image formation and segmentation; Image acquisition; Image representations and organisations; Digital image characterisation; Image enhancement and restoration; Image coding and data compression; Geometry for 3D vision; Pattern recognition using neural networks; Image analysis and understanding; Machine vision applications.


CSC427 Visualisation

AUs: 4, Prerequisites: NIL, Semester 2
3D Computer graphics; Visualisation pipeline; Graphical data representation; Visualisation algorithms and applications.


High Performance Computing


CSC402 Advanced Computer Networks

AUs: 4, Prerequisites: NIL, Semester 1
Overview of basic concepts of computer networks. Next Generation IP(IPv6) and Next Generation Transport protocol, AQM, Multicasting. Socket. Real-Time Streaming Protocol (PTSP), RTP, PTCP, RSVP, SIP, P2P. Application layer protocols such as HTTP, FTP, SMTP. Principles of application layer protocols, Private networks.


CSC406 Computer Architecture

AUs: 4, Prerequisites: NIL, Semester 1
The elements of computer architecture; Arithmetic logic unit; Control unit; Memory and storage Systems; Instruction set processor architecture; Pipelined processors; System interconnections; Parallel architectures.


CSC409 Cryptography and Network Security

AUs: 4, Prerequisites: NIL, Semester 1
Introduction: security mechanisms, security services, and ITUT X.800 security architecture; Shared-key cryptographic algorithms and Kerberos; Public-key cryptographic algorithms and PKI Infrastructure; Security Protocols: PAP, CHAP, RADIUS, SSL/TLS; Security Tunnels and VPN: PPTP, L2F, L2TP and Ipsec; Perimeter Security Design: firewalls, SOCKS; Intrusion detection systems; Case Studies: security in Windows networking, WEP in 802.11 LAN; Internet banking.


CSC411 Distributed Computing

AUs: 4, Prerequisites: NIL, Semester 2
Introduction: Components of distributed systems, communication technologies, communication services; Distributed algorithms and protocols: examples of distributed algorithms, clock synchronisation, logical and vector clocks, election algorithms, consensus algorithms, proof of correctness, complexity analysis; Distributed operating systems: system models, file services, name services, process synchronisation and coordination, case studies; Distributed shared memory: algorithms for implementing DSM, coherence protocols; Distributed resource management: load sharing, load balancing, resource monitoring; Failure recovery and fault tolerance: check-pointing, recovery, fault tolerant models and protocols; Research issues in distributed systems, real-time protocols, standardisation issues, cluster and grid computing.


CSC423 Parallel Processing

AUs: 4, Prerequisites: NIL, Semester 2
Motivation for parallelism. Models of parallel computers: shared memory models, distributed memory models. Concepts of parallel programming: models and paradigms. Complexity measures: computation and communication. Parallel languages. Parallel programme design. Partitioning: data partitioning, divide-and-conquer, pipelined computation, etc. Applications; sorting, matrix, numerical, etc.


CSC425 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures; Different types of simulation models: Monte Carlo simulation, discrete-event simulation. Continuous system simulation. Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems.Input and output analysis: random numbers, generating and analysing random numbers, point estimator, comparing alternative system designs, simulation Optimisation. Variance reduction techniques. Experimental designs.


Intelligent Systems


CSC416 Intelligent Agents

AUs: 4, Prerequisites: NIL, Semester 1
Overview: introduction, definitions, fundamental concepts, applications; Agent theories: commitments, intentions, decision-theoretic agents, Markov decision processes; Agent architectures: simple reactive agents, reactive planners, deliberative agents, layered architectures, cognitive agents, advanced architectures; Multi-agent systems: collaborative agents, agent teams; Agent languages and implementation; KQML, agent communication languages, learning agents, believable agents; Software agents: personal assistants, information access, robotic agents, agent applications.


CSC421 Natural Language Processing

AUs: 4, Prerequisites: NIL, Semester 1
Overview: introduction, definitions, fundamental concepts, applications; Parsing methods: deterministic and stochastic grammars; Statistical NLP: parsing, term extraction, word sense disambiguation; Information extraction: rule-based approach, learning-based approach; Ontology: WordNet, XML, semantic web; Machine translation.


CSC422 Neural Networks

AUs: 4, Prerequisites: NIL, Semester 1
Biological neural systems; Introduction to artificial neural networks; Supervised and unsupervised learning; Merits and limitations of neurocomputing; Perceptron as a linear classifier; Perceptron learning algorithms: ADALINE, MADALINE. Multilayer perceptron; Generalised delta-rule; Backpropagation learning; Linear associated memory networks; Bidirectional memory; Recurrent networks; Hopfield networks; Stochastic neural networks; Boltzmann machine; Simulated annealing; Kohonen networks; Self-organising feature maps; Adaptive resonance theory: ART1 architecture; Hybrid networks; Radial basis function networks; Counterpropagation networks; Fuzzy neural networks; Genetic algorithms; Hardware implementation of neural networks; Application of neural networks.


CSC418 Linear Programming

AUs: 4, Prerequisites: NIL, Semester 2
Linear programming; The simplex algorithm; Duality; Gaussian elimination and matrices; Revised simplex; General LP problems; Sensitivity analysis; Connections with geometry; Case studies in efficient allocation of scarce resources; Scheduling production and inventory and game theory.


CSC419 Machine Learning

AUs: 4, Prerequisites: NIL, Semester 2
Overview: introduction, definition, fundamental concepts, applications; Unsupervised learning: K-means, vector quantisation, self-organising neural networks; Supervised learning: K nearest neighbour, learning vector quantisation, decision tree, supervised neural networks; Graphical models: belief networks, Bayesian networks, Hidden Markov models, incremental learning, reinforcement learning, machine learning applications.


CSC424 Robotics

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to robotics; Forward and inverse kinematics; Motion kinematics; Low-level and High-level trajectory planning; Static force and torque relations; Internal sensory devices: position and velocity sensors; External sensory devices: force, tactile and proximity sensors, machine vision; Robot programming: multi-level approach, programming techniques, world modelling, off-line programming and simulation.


Software Engineering


CSC401 Advanced Algorithms

AUs: 4, Prerequisites: NIL, Semester 1
Advanced Algorithm Analysis Techniques; Computational Geometry; Maximum Flow; String Matching and other Bioinformatics related algorithms; NP-completeness; Search Techniques; Randomised Algorithms; Heuristic and Approximation Algorithms.


CSC413 Formal Methods and Specifications

AUs: 4, Prerequisites: NIL, Semester 1
The role of formal methods, approaches to formal specification, property oriented versus model oriented approaches; Algebraic specification: sorts, signatures, axioms, operations; Structured specifications; Model-based approach: Z specification language; comparison with VDM; Verification and proof techniques; Axiomatic method: axioms and inference rules, loop invariants, proof outlines, partial and total correctness; Predicate transformers and weakest pre-conditions; Specification of concurrent systems; Algebraic specification: Lotos; Model-based specification: FSP/CSP; Proof of concurrent programmes: monitor invariants and inference rules.


CSC405 Component-based Computing

AUs: 4, Prerequisites: NIL, Semester 2
Fundamentals: Definition and nature of components, components and interfaces, patterns, frameworks and architectures, benefits of components; Component Models and Platforms: object request broker (CORBA, CCM, OMA and MDA, etc.), Java component technologies (JavaBeans, EJB and J2EE, etc), the .NET framework (common language infrastructure, COM and DCOM, etc.); Component-based application development: component design and assembly, use of objects and object life cycle services, component-oriented design; Component architectures: the roles of an architecture, a tiered component architecture, components and middleware, component frameworks.


CSC426 Software Testing

AUs: 4, Prerequisites: NIL, Semester 1
Testing context; Risk analysis; Basic object-oriented concepts; Testing analysis and design models; Testing classes; Testing State-based classes; Parallel architecture for component testing; Planning for component testing; Measuring the effectiveness of component testing; System testing; Organising for testing.


Information Management


CSC401 Advanced Algorithms

AUs: 4, Prerequisites: NIL, Semester 1
Advanced Algorithm Analysis Techniques; Computational Geometry; Maximum Flow; String Matching and other Bioinformatics related algorithms; NP-completeness; Search Techniques; Randomised Algorithms; Heuristic and Approximation Algorithms.


CSC403 Advanced Data Management Techniques

AUs: 4, Prerequisites: NIL, Semester 1
Types of data (semi-structured, spatial, scientific, biodata, etc.); Storage and indexing techniques and issues; Query processing techniques; Data analysis and mining techniques.


CSC410 Digital Libraries

AUs: 4, Prerequisites: NIL, Semester 1
Concepts: Definition of digital library, components, collections; Organisation: Metadata, interoperability, standards; Collection management: development, creation, acquisition, linking, and distributed holdings of digital information resources; Access: Searching, access management; Management issues: Integration with traditional library resources, legal, ethical, social issues, licensing, subscriptions; Research projects in digital libraries and Digital Libraries Initiatives.


CSC415 Information Retrieval

AUs: 4, Prerequisites: NIL, Semester 1
Use models: Document search, document clustering, automatic topic hierarchy generation, document classification; Performance evaluation: Precision versus recall, experiment design; Vector Space Model; Latent Semantic Indexing; Features: Word stemming, case folding, stop words, thesauri, N-grams; Relevance ranking: Cosine, IDF, link-based scoring; Implementation issues: Inverted indexes, dictionaries, parsing, compression.


CSC417 Introductory Bioinformatics

AUs: 4, Prerequisites: NIL, Semester 2
Basic bioinformatics concepts, databases, tools and applications. Introduction: cell biology’s central dogma, biological technologies for collecting and storing genomic sequence data. Methods of computational biology. Genomic and proteomic resources: information networks, DNA sequence databases, cDNA libraries of expressed genes, Protein sequence and structure databases. Human Genome Project. Sequence and structure analysis tools: dynamic programming for sequence alignment, pairwise and multiple alignment techniques, Predication of RNA secondary structures, Homology modelling for 3D protein structure. Microarray technology, clustering and classification. Imaging and visulisation technologies.


CSC425 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures. Different types of simulation models: Monte Carlo simulation, discrete-event simulation. Continuous system simulation. Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation Optimisation. Variance reduction techniques. Experimental designs.


CSC426 Software Testing

AUs: 4, Prerequisites: NIL, Semester 2
Testing context; Risk analysis; Basic object-oriented concepts; Testing analysis and design models; Testing classes; Testing State-based classes; Parallel architecture for component testing; Planning for component testing; Measuring the effectiveness of component testing; System testing; Organising for testing.


Advanced CS Topics


CSC401 Advanced Algorithms

AUs: 4, Prerequisites: NIL, Semester 1
Advanced Algorithm Analysis Techniques; Computational Geometry; Maximum Flow; String Matching and other Bioinformatics related algorithms; NP-completeness; Search Techniques; Randomised Algorithms; Heuristic and Approximation Algorithms.


CSC404 Compiler Techniques

AUs: 4, Prerequisites: NIL, Semester 1
Compiler structure; Lexical analysis; Regular expressions and finite automata; Context-free grammars; Syntax analysis; Parsing concepts and techniques; Compiler generation tools – LEX and YACC; Extending the parser through syntax directed approach; Introducing compiler backend; Virtual machines; A complete compiler.


CSC409 Cryptography and Network Security

AUs: 4, Prerequisites: NIL, Semester 1
Introduction: security mechanisms, security services, and ITUT X.800 security architecture; Shared-key cryptographic algorithms and Kerberos; Public-key cryptographic algorithms and PKI Infrastructure; Security Protocols: PAP, CHAP, RADIUS, SSL/TLS; Security Tunnels and VPN: PPTP, L2F, L2TP and Ipsec; Perimeter Security Design: fi rewalls, SOCKS; Intrusion detection systems; Case Studies: security in Windows networking, WEP in 802.11 LAN; Internet banking.


CSC412 Formal Languages, Automata and Computability

AUs: 4, Prerequisites: NIL, Semester 2
Introduction to models of computation; Finitary representations; Uncountable numbers and diagonalisation argument; Example(s) of noncomputable problems; Formal languages and Chomsky’s grammars; Finite automata: DFA, NFA, regular expressions, regular grammars and their equivalence; Properties of regular languages: pumping lemma for regular languages and its applications; Context free grammars: ambiguity, parsing; Pushdown automata and context free languages (CFLs); Deterministic CFLs and their applications; Properties of CFLs: pumping lemma for CFLs; Turing machines: definition and construction for simple problems; Church-Turing hypothesis and computabililty; Nondeterministic turning machines and nondeterministic time complexity.


CSC425 Simulation and Modelling

AUs: 4, Prerequisites: NIL, Semester 2
Introduction and basic simulation procedures; Different types of simulation models: Monte Carlo simulation, discrete-event simulation; Continuous system simulation; Mixed continuous/ discrete-event simulation. Probability and statistics for modelling and simulation. Simulation software. Queuing networks: analytical and simulation modelling of queuing systems. Input and output analysis: random numbers, generating and analysing random numbers, point estimator, interval estimation, comparing alternative system designs, simulation Optimisation. Variance reduction techniques. Experimental designs.


CSC426 Software Testing

AUs: 4, Prerequisites: NIL, Semester 2
Testing context; Risk analysis; Basic object-oriented concepts; Testing analysis and design models; Testing classes; Testing State-based classes; Parallel architecture for component testing; Planning for component testing; Measuring the effectiveness of component testing; System testing; Organising for testing.


CSC428 Special Topic in Computer Science

This course may be run in any semester and the topics to be selected are taken from recent advances in Computer Science.


General Education Requirement (36AUs)

  • Core Courses (12AUs)
  • Prescribed Elective (15AUs)
  • Unrestricted Elective (9AUs)


Core Courses


HW110 Effective Communication

AUs: 2, Prerequisites: NIL, Year 1, Semester 1
The course aims to provide students with an understanding of the characteristics, principles and techniques of effective communication at the interpersonal and organisational levels. Besides preparing students to handle verbal and nonverbal communication, the course also provides training in written communication tasks such as letters and memoranda.


HW210 Technical Communication

AUs: 2, Prerequisites: HW001,HW110, Year 2, Semester 2
This course demonstrates the techniques for creating effective technical reports. Students will learn to identify the characteristics of different kinds of reports and design a report best suited to the nature of the information being conveyed.


HW310 Professional Communication

AUs: 2, Prerequisites: HW001, HW110, Year 4, Semester 1
The course aims to provide students with an understanding of the strategies and skills of professional communication, and prepares students to handle verbal and written communication tasks in various professional situations.


CSC183 Engineers and Society

AUs: 3, Prerequisites: NIL, Year 4, Semester 2
This course raises issues pertinent to engineers as professionals as well as numbers of society. It discusses the requirements and issues of the IT profession, examining the key role professionals play with their contribution to society. Current concerns raised will be of interest to any person living in Singapore.


CSC184 Human Resource Management and Entrepreneurship

AUs: 3, Prerequisites: NIL, Year 3, Semester 1
Nature of entrepreneurship and human resource management; Developing a new venture business plan; Business formation; Understanding individual behaviour in organisation; Understanding group behaviour in organisation; Leadership for change and innovation; Managing human assets and performance; Productivity and total quality management; Managing creativity and innovation; Labour-management relations.


Unrestricted Elective


CPE812 Developing Team Leadership

AUs: 3, Prerequisites: NIL, Semester 1
Leadership in 21st Century; Heroes and Leaders; Situational, Transactional, and Transformational Leadership; Benefits of Teamwork; Cultivating Growth; Personality Types; Leadership Styles and Implications; Gender and Leadership; Handling Emotions within Team Environment; Language of Leadership; Conflicts and Consequences; Feedback and Evaluation of Teams; Cross-Cultural Concepts of Leadership.


CPE811 Getting What You Want With Negotiation

AUs: 3, Prerequisites: NIL, Special Session
Approaches, styles and outcomes, Interpersonal communication, Argumentation. The Negotiation Process: Planning and preparing, defining issues, objectives, desired outcomes, Using psychology tactics and strategies, strengthening case, working towards agreement, making proposals, looking for common ground, feedback/ countermoves, helping other party move. Dealing with the difficulties: errors/what can go wrong, handling conflict/deadlock. Working towards closure: Constructive compromise.


Prescribed Elective Business and Management


CPE810 Managing and Resolving Management

AUs: 3, Prerequisites: NIL, Semester 2
Conflict as a natural part of team experience; Causes of conflict: communication, personal, process; Types of conflict: Intrapersonal, interpersonal, and intergroup; Implications: constructive and destructive outcomes; Discourse analysis of conflict situations; The language of conflict; Approaches to conflict management; Emotion and conflict; Leadership styles and conflict; Proactive solution strategies: empathy, assertiveness, co-operative power; conflict mapping, creating options, broadening perspectives; Conflict-resolution through games; Case studies of conflicts at the workplace; Conflict resolution resources.


Prescribed Elective – Science, Technology and Society


CPE801 Risks, Piracy and Other Crimes

AUs: 3, Prerequisites: NIL, Special Session (June to July vacation)
Brief history and benefits of computers; Impact and control of computers: social implications of computing, impact of computer technology, controlling technology; Risks and liabilities of computer-based systems: system failures, example of software risk (the Therac-25 case), increasing reliability and safety; Privacy and information: computer-based threats to privacy, technical and management protection for privacy; Intellectual property: copyrights and patents, software piracy, copyright in cyberspace; Computer crime: intruders, hacking and cracking, sabotage and information theft, computer crime laws; Professional and ethical responsibilities: Ethical guidelines for computer professionals, codes of ethics, conduct and practice (e.g., ACM).


CPE802 Open Source Office Productivity Tools

AUs: 3, Prerequisites: NIL, Special Session (June to July vacation)
Philosophy of Open Source Software (OSS) and its contribution to innovation; History of OSS; Brief introduction to pure OSS environments including Linux, XWindows, KDE, Gnome; Demonstration of hybrid OSS environments (cygwin and xwindows under Microsoft Windows); OSS Office productivity tools (OpenOffice), including spreadsheet, word processor, presentation, advanced drawing tools, and database connectivity for creating self-updating reports and graphs; OSS Web browsers (Mozilla Firefox); OSS Mail client (Mozilla Thunderbird); OSS project management (Open Workbench); OSS Database manipulation (mySQL command centre); OSS Graphics Manipulation (GIMP); OSS web content management and collaboration tool (Zope/Plone).


CPE803 Experiencing Digital Animation

AUs: 3, Prerequisites: NIL, Special Session (June to July vacation)
The course aims to impart basic principles and well-rounded skills on the fundamentals of animation, and comprehensive knowledge of the animation art form. Students will be taught the basic principles and skills that are required in a typical animation production pipeline. The course will be offered with help from a local animation training company, which provides the hands-on opportunity and experience for the students.


CPE 804 From “PONG” To “WARCRAFT”

AUs: 3, Prerequisites: NIL, Special Session (June to July vacation)
The course will provide a historical approach to the development of computer and video games from the first generation to the current seven generation. The course will look at the evolution of video games from different angles: culture, technology, and business. The following topics will be discussed in the context of games; the introduction of new concepts: technological milestones: biggest commercial hits and flops; the rapid developments in computer and device technology.


SC989 Research Exercise

AUs: 3, Prerequisites: Offered to selected second and third year students only, Special Session (May to June vacation).

The research exercise aims to expose undergraduate students to engineering research through appropriate levels of research investigations over a period of six weeks. The work can take the form of one or more of the following: search, review and analysis of literature, collection, classification and analysis of data, set-up,measurement and analysis through experiments, theoretical and computational analysis, computer modelling, and software development.