Objectives:Introduce principles and methods to build effective computer interfaces for users.
  • Explain the fundamental theories of Human Computer Interaction (HCI), key features of interaction and common interaction styles.
  • Evaluate heuristic user interfaces by using a variety of analysis and design methods
  • Apply user-centered and contextual design techniques for human computer interface design scenarios
  • Implement a prototype of a user interface for a system that satisfies usability requirements
  • Discuss the design of HCI in various recent developments
  • Foundations of Human Computer Interaction (HCI) and the Design Process: Human Capabilities, Interaction Design Basics, HCI in the Software Process, Design Rules, Universal Design, The Human Body and Device Design
  • Human Cognition and Interaction Styles: Goals, Operators, Methods, and Selection (GOMS), Keystroke-Level Modelling, Time-scales and the Illusion of Multitasking, Metaphor, Direct Manipulation, Command Languages
  • Usability Engineering: Observing Users, Usability Analysis – Error Handling, Error Prevention, Cognitive Walkthroughs, Heuristic Evaluation, Usability Guidelines, Usability Methods; Prototyping, Task Analysis, User-Centered Design
  • User Interface Programming: Interface Implementation, Events and Handlers, Development Tools
  • Recent Development in HCI: Groupware, Ubiquitous Computing, Virtual and Augmented Realities, Hypertext and Multimedia
Teaching Methods:Lectures, Modelling in various media, Construction of diagrams, Case studies

Evaluation Criteria:
  • In-course Assessments (Theory) ———- 15%
  • In-course Assessments (Practical) ——- 15%
  • End-of-course Examination ————— 70%

Course CodeCSC109S2
Course TitleIntroduction to Computer Security and Cryptography
Academic Credits2 (30 hours of Lectures and Tutorials)
Objectives:Introduce Computer security principles and cryptography, and analyse the need of Public key infrastructure and its applications
  • Describe the concepts of computer security and cryptography
  • Describe different symmetric key and public key encryption algorithms
  • Discuss the importance of Public key Infrastructure and its applications
  • Foundations of computer security: introduction to computer security and cryptography
  • Concepts of risks, threats, vulnerabilities and types of attacks: computer security attacks, types, attacker goals, motivations (such as underground economy, digital espionage, cyberwarfare, insider threats, hacktivism, advanced persistent threats), examples of malware, organizational vulnerabilities and threats
  • Key security properties: confidentiality, integrity and availability
  • Concepts of authentication, authorization and access control: osi security architecture, security services and security mechanisms
  • Classical encryption techniques: Symmetric key ciphers, substitution techniques, transposition techniques, other classical encryption tools, key management techniques
  • Public-key cryptography and its applications: introduction to pki, hash functions, digital signatures and digital certificates, secure web browsing, e-commerce, secure authentication
Teaching Methods:Lectures, Class discussion, Recitation oral questions, Lecture demonstration, Small group discussions, Use of slides, Textbook assignments.

Evaluation Criteria:
  • In-course Assessments ——————- 30%
  • End-of-course Examination ————— 70%
Recommended Readings:
  • W. Stallings, Cryptography and Network Security: Principles and Practice, 6th Ed., 2013.
  • J. Katz and Y. Lindell. Introduction to Modern Cryptography, 2nd Ed., 2014.