COMP3220 – HUMAN-COMPUTER INTERACTION (4 Credits)
Pre-requisite: COMP2115 Information Structures & COMP2145 Software Engineering I
Overview: An introduction to the design, evaluation and implementation of human-computer interfaces. With the continual growth of computer use in every facet of daily life, the need for truly usable human-computer interfaces is paramount. This course is intended for students wishing to gain an understanding of the issues involved with the successful implementation of human-computer interfaces.
Syllabus: Historical overview of human-computer interaction. Current and future developments in the area of human-computer interaction. Relationship to computer science and software engineering. Influences on interface design. General models and guidelines. Methods of designing interfaces. Software and hardware interface implementation. Mechanisms of evaluation.
Teaching: Three (3) hours of lectures and two (2) hours of labs per week.
Method of Final Theory Examination (2 hours): 60%
Examination: In-course Tests/Assignments: 40%
COMP3230 – NETWORK AND COMPUTER SECURITY (4 Credits)
Pre-requisite: COMP2105 Discrete Mathematics & COMP2150 Computer Networks I
Overview: An introduction to cryptographic algorithms, security protocols and security engineering. As computers become increasingly inter-networked, and as the information and resources stored on networked computers become more valuable, the need to develop security mechanisms that are scalable, flexible, and easy to use has increased. This course is intended for students wishing to gain an understanding of security engineering, common cryptographic algorithms and common security protocols.
Syllabus: Introduction to cryptography. Symmetric-key encryption and authentication. Public-key encryption and authentication. Cryptographic hash functions. Message authentication codes and digital signatures. Key distribution and certification. Authorization and access control. Security protocols. Storage security. Web security. Payment systems. Email security. Digital rights management. Social issues such as usability, privacy and risk assessment.
Teaching: Three (3) hours of lectures and two (2) hours of labs per week.
Method of Final Theory Examination (2 hours): 60%
Examination: In-course Tests/Assignments: 40%
COMP3240 – INTRODUCTION TO DISTRIBUTED COMPUTING (4 Credits)
Pre-requisite: COMP2115 Information Structures & COMP2125: Computer Architecture
Overview: This course provides an introduction to Distributed Systems. Since distributed systems have become so pervasive in industry and research, it is necessary to expose students to an introduction of the algorithms and technologies of distributed systems. This course will teach the fundamentals of distributed systems and present systems where these fundamentals have been implemented.
Syllabus: Introduction to Distributed Systems. Communication Mechanism. Distributed Algorithms. Naming. Synchronization. Fault Tolerance. Security. Distributed Files Systems. Distributed File System design and implementation. NFS, Coda. Cluster Computing.
Teaching: Three (3) hours of lectures and two (2) hours of labs per week.
Method of Final Theory Examination (2 hours): 60%
Examination: In-course Tests/Assignments: 40%
COMP3250 – COMPUTER GRAPHICS I (4 Credits)
Pre-requisite: COMP2115 - Information Structures & COMP2105 - Discrete Mathematics
Overview: This course provides an introduction to the fundamental concepts and techniques used in 2D and 3D computer graphics. It covers both the theory and practice of computer graphics. The lectures and examination will focus on the mathematical foundations of computer graphics, while the lab sessions and programming projects will deal with translating the theory into practice. This course is intended for students wishing to gain an understanding of the issues involved with the successful implementation of computer graphics and an interest in programming techniques for the interactive display of two and three dimensional object
Syllabus: Output primitives. 2-dimensional transformations and clipping. 3-dimensional display techniques. Representations and transformations. Projection algorithms. 2D Raster Graphics Algorithms. Illumination and color models. Hidden-surface elimination. Bézier and B-Spline curves.
Teaching: Three (3) hours of lectures and two (2) hours of labs per week.
Method of Final Theory Examination (2 hours): 60%
Examination: In-course Tests/Assignments: 40%
COMP3260 - COMPUTER GRAPHICS II (4 Credits)
Pre-requisite: COMP3250 - Computer Graphics I
Overview: This course provides further instructions on the concepts and techniques used in 3D computer graphics. The focus is on animation and real-time rendering techniques, such as those found in computer games. This course is intended for students wishing to write programs to render 3D objects using techniques ranging from simple flat shading to complex ray-shading and to implement techniques of computer animation.
Syllabus: Rendering. Graphics Rendering Pipeline. Geometric modeling. Curves and Surface Design. Texture Mapping. Terrain Mapping. Detail optimizations. Ray-Tracing. Animation.
Teaching: Three (3) hours of lectures and two (2) hours of labs per week.
Method of Final Theory Examination (2 hours): 60%
Examination: In-course Tests/Assignments: 40% |