Level – 3M

Course units to be effective from the academic year 2018/2019

CSC301M3: Advanced Database Design and Systems
Course Code: CSC301M3
Course Title: Advanced Database Design and Systems
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
45 105
Objectives: Provide in-depth understanding of the design, implementation and administration features of database management systems to effectively develop, and manage medium to large-scale databases
Intended Learning Outcomes:
  • Describe the concepts of database & distributed database design, and their logical & physical organisations
  • Design a database using standard practices and tools
  • Develop advanced queries to handle information retrieval from databases
  • Explain the concepts of transaction process, concurrency control, and recovery mechanisms
  • Discuss new developments in database technologies and the impacts of emerging database standards
Contents:
  • Relational Modeling: Concepts of data modeling, enhanced entity-relationship(EER) model, use of unified modeling language (UML), higher level normalisation
  • Physical Organisation of Databases: Storage and file structure, indexing, database efficiency and tuning
  • Query Optimisation: Factors governing query optimization, centralized query optimization
  • Transaction: Transaction processing, concurrency control, recovery techniques
  • Distributed Database Management Systems: Data fragmentation, replication and allocation, transaction processing, concurrency control and recovery in distributed databases
  • Advanced DBMS Concepts: Advanced technologies in DBMS and enhanced data models
Teaching/Learning Methods: Lectures, Tutorial discussions, Assignments, Guided learning
Assessment Strategy:
  • In-course Assessments —————————————30%
  • End-of-course Examination ———————————-70%
References:
  • R. Elmasri and S.B. Navathe, Fundamentals of Database Systems, 7th Ed., Addison-Wesley, 2015.
  • C.J. Date, An Introduction to Database Systems, 8th Ed., Addison-Wesley, 2003.
  • Ramakrishnan and Gehrke, Database Management Systems, 3rd Ed., McGraw-Hill, 2003.
CSC302M3: Advanced Topics in Computer Networks
Course Code: CSC302M3
Course Title: Advanced Topics in Computer Networks
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
45 105
Objectives: Provide in-depth knowledge in advanced and emerging trends in network virtualisation and software defined networks
Intended Learning Outcomes:
  • Demonstrate a deeper understanding of modern computer networks, applications, and network services
  • Explain how different networking technologies at the same or different layers interact and affect each other in a large-scale system
  • Appraise network technologies with respect to system requirements, based on information from recent research and technical documentation
  • Perceive trends in large scale networks such as virtualization and software defined networking capability
  • Evaluate network technologies, applications, and services through simulation and emulation experiments
Contents:
  • Routing in the Internet: Intra and interdomain routing, unicast and multicast routing protocols, traffic classes and measurements, multi-protocol label switching(MPLS), storage area networks (SAN), data and the control planes
  • Fundamental Properties of Computer Networks: Congestion control, queueing and scheduling, quality of service, quality of experience, Power laws
  • Software Defined Networks: Distinguish between traditional networks and software defined networks, SDN origins and evolution, centralized and distributed control and data planes, openflow protocol, SDN controllers, Mininet, NOX/POX, network programming using SDNs
  • Network Virtualization: Introduction to network virtualization, constructing virtual network topologies on top of physical network topologies, virtual machines, architectural issues
  • Network Measurement: Measurement, modeling and analysis methods using real network data, Wireshark tool to monitor active networks, network simulations and emulations
Teaching/Learning Methods: Lectures, Recitation of oral questions, Supplementary reading, Practical demonstration
Assessment Strategy:
  • In-course Assessments —————————————30%
  • End-of-course Examination ———————————-70%
References:
  • J. F. Kurose and K. W. Ross, Data Communication and Computer Networks: A top-down approach, 7th Ed. Addison Wesley, 2017.
  • A. S. Tanenbaum, and D. J. Wetherall, Computer Networks, 5th Ed., Pearson Education, 2011.
  • L. L. Peterson and B. S. Davie, Computer Networks A Systems Approach, 5th Ed., Morgan Kauffman, 2011.
CSC303M3: Artificial Intelligence
Course Code: CSC303M3
Course Title: Artificial Intelligence
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
30 30 140
Objectives: Provide in-depth knowledge on design and analysis of intelligent systems for solving problems that are difficult or impractical to resolve using traditional approaches
Intended Learning Outcomes:
  • Formulate an efficient Intelligent system model for a problem expressed in natural language
  • Use knowledge representation for theorem proving based on resolution procedure
  • Apply appropriate uninformed, informed or local search algorithms for solving problems
  • Develop logic programs with the significance of language semantics
  • Devise a plan of action to achieve a goal using standard AI methods
  • Illustrate the working of natural language processing techniques
Contents:
  • Introduction: Practical examples of artificial intelligence, intelligent agents, environments, intelligent behaviour, rational behaviour & Turing test
  • Problem Solving by Searching: Problem-solving agents, uninformed search strategies, informed (Heuristic) search strategies
  • Local Search and Optimization Algorithms: Hill climbing search, simulated annealing, local beam search, genetic algorithms, searching in different environments, adversarial search
  • Planning: Classical planning, planning as state-space search
  • Knowledge Representation: Horn clause, resolution, theorem proving, ontology engineering, representing objects and events
  • Natural Language Processing: Language models, text classification, information retrieval, information extraction
Teaching/Learning Methods: Lectures, Tutorial discussions, Guided learning, Assignments
Assessment Strategy:
  • In-course Assessments (Theory) —————————–15%
  • In-course Assessments (Practical) —————————15%
  • End-of-course Examination ———————————-70%
References:
  • S. J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 3rd Ed., Prentice Hall, 2010.
  • G.F. Luger, Artificial Intelligence – Structures and Strategies for Complex Problem Solving, 6th Ed., Pearson & Addison Wesley, 2009.
  • P. H. Winston, Artificial Intelligence, 1st Ed., Addison Wesley, 1993.
CSC304M3: High Performance Computing
Course Code: CSC304M3
Course Title: High Performance Computing
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
30 30 140
Objectives: Provide in-depth knowledge on the computational aspects of high performance computing and methods of parallel programming
Intended Learning Outcomes:
  • Discuss basics of high performance computing and their usage
  • Describe different parallel architectures, interconnection networks
  • Transform sequential algorithms into efficient parallel algorithms
  • Devise parallel programming models and parallel algorithms for solving computational problems
  • Analyse parallel programming paradigms and their semantics and correctness issues
  • Assess parallel algorithms based on their complexity and scalability
Contents:
  • Introduction to High Performance Computing: Cluster computing, grid computing, cloud computing, parallel & distributed computing, fault tolerance, concurrency, nondeterminism, locality
  • Parallel Architectures: Taxonomy, data versus control parallelism (SIMD/Vector, pipelines, MIMD, multi-core, heterogeneous), shared versus distributed memory, interconnection networks for parallel computers
  • Scheduling and Analytical Modeling: Cost of computation and scalability, model-based notions, handling scheduling issues
  • Parallel Algorithms: Communication operations, algorithmic paradigms (Divide and conquer, recursion, Series, parallel composition), computation on matrices, sorting, graph algorithms, search algorithms
  • Concepts of Parallel Programming: Distributed-memory programming (MPI), shared-memory programming (OpenMP, CUDA)
Teaching/Learning Methods: Lectures, Practical demonstration, Assessments, Tutorial discussions, Guided learning
Assessment Strategy:
  • In-course Assessment (Theory) —————————–15%
  • In-course Assessment (Practical) —————————15%
  • End-of-course Examination ———————————-70%
References:
  • J.C. Zbigniew, Introduction to Parallel Computing, 1st Ed., Cambridge University Press, 2017.
  • J. Sanders, and E. Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st Ed., Addison-Wesley Professional, 2010.
  • A. Grama, A. Gupta, G. Karypis, and V. Kumar. “Introduction to Parallel Computing”, 2nd Ed., Addison-Wesley, 2003.
CSC305M3: Image Processing and Computer Vision
Course Code: CSC305M3
Course Title: Image Processing and Computer Vision
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
30 30 140
Objectives: Provide in-depth knowledge in image processing and computer vision techniques to solve real-world problems, and develop skills for research in these fields
Intended Learning Outcomes:
  • Describe the basic concepts of image processing and computer vision
  • Perform visual tasks in sequences of image analysis operations, representations, specific algorithms, and inference principles
  • Explain image processing techniques in the spatial and frequency domain
  • Analyse a range of algorithms for image processing and computer vision
  • Develop basic computer vision algorithms for image retrieval and image recognition
  • Apply image processing and computer vision techniques to solve real-world problems
Contents:
  • Digital Image Fundamentals: Image representation, sampling and quantisation, image size, resolution, pixel neighbours, connectivity, arithmetic and logical operations for images
  • Image Enhancement in Spatial Domain: Intensity transformations, histogram equalization and specification, filter operations for smoothing, sharpening images, and noise reduction
  • Image Enhancement in Frequency Domain: The Fourier transform and its properties, Fast Fourier Transform (FFT), filter operations for smoothing, sharpening images, and noise reduction
  • Morphological Image Processing: Dilation and erosion, opening and closing, basic morphological applications
  • Image Segmentation: Thresholding, edge detection, region growing
  • Introduction to Computer Vision and its Applications: Human eye-brain system as a model for computer vision, biometric applications, automated navigation
  • Introduction to Object Recognition: Feature types and descriptors, template matching, bag-of-features framework, feature matching, convolutional neural networks (CNNs)
Teaching/Learning Methods: Lectures, Assignments, Poster presentation, Guided learning
Assessment Strategy:
  • In-course Assessment (Theory) —————————–15%
  • In-course Assessment (Practical) —————————15%
  • End-of-course Examination ———————————-70%
References:
  • W. Burger and M.J. Burge, Principles of Digital Image Processing: Fundamental Techniques, Springer, 3rd Ed., 2009.
  • M. Sonka, R. Boyle and V. Hlavac, Image Processing, Analysis and Machine Vision, 3rd Ed., Springer, 2008.
  • R.C. Gonzalez and R.E. Woods, Digital Image Processing, 3rd Ed., Pearson, 2007.
  • L.G. Shapiro and G. Stockman, Computer Vision, Prentice Hall, 2001.
CSC306M3: Machine Learning
Course Code: CSC306M3
Course Title: Machine Learning
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
30 30 140
Objectives: Provide knowledge on the concepts of machine learning techniques for data analysis and modelling
Intended Learning Outcomes:
  • Apply advanced relational modeling techniques to design database
  • Perform query optimisation and transaction processing
  • Plan concurrency control and recovery mechanisms to improve data management
  • Describe distributed database design and concepts
Contents:
  • Relational Modeling: Concepts of data modeling, Enhanced Entity-Relationship model, use of Unified Modeling Language (UML), higher level normalisation
  • Physical organisation of databases: Storage and file structure, Indexing, Database efficiency and tuning
  • Query optimisation: Factors governing query optimization, Centralized query optimization
  • Transaction processing: Transactions, Concurrency control, Transaction management, Failure and recovery in centralised database
  • Distributed Database Management Systems: Distributed database design, distributed transaction management, Concurrency control and recovery
  • Advanced concepts and technologies in DBMS: Enhanced data models for advanced applications and Parallel DBMS architectures
Teaching/Learning Methods: Lectures, Vocabulary drills, Assignments, Laboratory experiments, Guided learning
Assessment Strategy:
  • In-course Assessment (Theory) —————————–15%
  • In-course Assessment (Practical) —————————15%
  • End-of-course Examination ———————————-70%
References:
  • C.M. Bishop, “Pattern Recognition and Machine Learning”, 2007.
  • R.O. Duda, P.E. Hart, D.G. Stork, “Pattern Classification”, 2nd Ed., Wiley, 2000.
  • T. Mitchell, “Machine Learning”, McGraw Hill, 1997.
  • I.H. Witten, E. Frank, M.A. Hall, “Data Mining: Practical Machine Learning Tools and Techniques”, 3rd Ed., Morgan Kaufmann Series, 2011
CSC307M3: Mobile Computing
Course Code: CSC307M3
Course Title: Mobile Computing
Credit Value: 03
Core/Optional: core
Hourly Breakdown: Theory Practical Independent Learning
45 105
Objectives: Provide in-depth understanding of the concepts in mobile computing and the state of the art trends in mobile computing research
Intended Learning Outcomes:
  • Describe the concepts of mobile wireless communications
  • Discuss realistic problems in wireless communication
  • Identify latest research trends in mobile computing
  • Apply knowledge for mobile applications development
  • Appraise routing and forwarding protocols for mobile ad hoc networks
  • Recommend ad-hoc network based solutions for real world problems
Contents:
  • Overview of Wireless Networks: Wireless communication properties, wireless impairments, multiplexing in wireless communications, the need for a specialized MAC
  • Routing in Wireless Networks: issues in routing for wireless networks, wireless routing protocols
  • Ad-hoc Networks: mobile ad-hoc networks, sensor networks and vehicular ad-hoc networks, routing in ad-hoc networks, latest trends in ad-hoc networking
  • Mobile Applications Development Environments: mobile platforms, development and deployment of applications
  • Common Paradigms in Mobile Computing: low power computing, mobile computing in resource constrained environments, fault tolerance, and persistence
Teaching/Learning Methods: Lectures, Assignments, Tutorial discussions, Guided learning
Assessment Strategy:
  • In-course Assessments —————————————30%
  • End-of-course Examination ———————————-70%
References:
  • J. Schiller, “Mobile Communications”, 2nd Ed., Addison Wesley publishers, 2004.
  • M. Yener and O. Dundar, “Expert Android Studio”, 1st Ed., Wrox publications, 2016.

Course units effective from academic year 2015/2016 to 2018/2019

CSC311MC3: Advanced Database Design and Systems
Course Code: CSC311MC3
Course Title: Advanced Database Design and Systems
Academic Credits: 03 (45 Hours of lectures and tutorials)
Aim: Provide knowledge and skills on advanced concepts of database design and management
ILOs:
  • Apply advanced relational modeling techniques to design database
  • Perform query optimisation and transaction processing
  • Plan concurrency control and recovery mechanisms to improve data management
  • Describe distributed database design and concepts
Contents:
  • Relational Modeling: Concepts of data modeling, Enhanced Entity-Relationship model, use of Unified Modeling Language (UML), higher level normalisation
  • Physical organisation of databases: Storage and file structure, Indexing, Database efficiency and tuning
  • Query optimisation: Factors governing query optimization, Centralized query optimization
  • Transaction processing: Transactions, Concurrency control, Transaction management, Failure and recovery in centralised database
  • Distributed Database Management Systems: Distributed database design, distributed transaction management, Concurrency control and recovery
  • Advanced concepts and technologies in DBMS: Enhanced data models for advanced applications and Parallel DBMS architectures
Teaching Methods: Lecture by Lecturer, Recitation of oral questions, Tutorial discussions by Instructors
Assessment/ Evaluation Details:
  • In-course Assessments —————————- 30%
  • End-of-course Examination ———————- 70%
Recommended Readings:
  • Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 7th edition, Addison-Wesley, 2015.
  • J. Date, An Introduction to Database Systems, 8th edition, Addison-Wesley 2003.
  • Ramakrishnan and Gehrke, Database Management Systems, 3rd edition, McGraw-Hill 2003.
CSC312MC4: Data Communications and Computer Networks
Course Code: CSC312MC4
Course Title: Data Communications and Computer Networks
Academic Credits: 04 (60 Hours of lectures and tutorials)
Aim: Provide an in-depth understanding of the architectures, algorithms and implementations of computer networks, and latest advancements in data communications
ILOs:
  • Appraise the principles underlying data communications
  • Describe different layered architectures and protocols in computer networks
  • Discuss routing and switching principles, algorithms and practical examples in computer networks
  • Differentiate LAN standards, topologies, hardware and LAN selection criteria for enterprise usage
  • Plan a network design about services and application by taking into account of quality of service, scalability and maintenance
  • Examine data security and integrity techniques in networking perspectives
  • Illustrate latest advancements in networking technologies
Contents:
  • Fundamentals of digital communications: Design issues related to data transfer, compare and contrast the circuit and packet switching technologies, multiplexing techniques, error control mechanisms
  • Network architectures: Principles of layered architecture, roles of layers in the OSI and TCP/IP models
  • Internet protocols: Application layer protocols in the Internet, TCP/IP protocol suite, Transport and network protocols with an emphasis on TCP/IP model, IP addressing and subnetting, troubleshooting in IP networks, IP routing mechanisms, IP versions 4 and 6, MAC layer and its protocols
  • Routing and Switching: Routing and switching fundamentals, router architecture, routing algorithms, issues to consider in designing routing protocols
  • Local area networks: LAN technologies such as IEEE 802 LAN standards, channel allocation in LAN segments and solutions, Ethernet and Ethernet networking using hubs and switches, problems associated in deploying wireless LANs and solutions
  • Wide Area Networks: Technical issues related to the WAN, technologies available in establishing WAN infrastructure, WAN architectures, routing in WANs
  • Network Security: Error detection and correction, encryption and decryption, viruses, worms, and hacking
  • Latest advancements in computer networking: Software Defined Networks and Information Centric Networks
Teaching Methods: Lecture by Lecturer, Vocabulary drills, Recitation of oral questions, Tutorial discussions by Instructors
Assessment/ Evaluation Details:
  • In-course Assessments —————————- 30%
  • End-of-course Examination ———————- 70%
Recommended Readings:
  • J. F. Kurose and K. W. Ross, Data Communication and Computer Networks: A top-down approach, 6th Ed. Pearson Education, 2013.
  • A. S. Tanenbaum, and D. J. Wetherall, Computer Networks, 5th ed., Pearson Education, 2011.
CSC313MC3: Digital Image Processing
Course Code: CSC313MC3
Course Title: Digital Image Processing
Academic Credits: 03 (45 Hours of lectures and tutorials)
Aim: Provide principles and techniques of image processing together with skills in the design and implementation of computer vision programs
ILOs:
  • Perform visual tasks in sequences of image analysis operations, representations, specific algorithms, and inference principles
  • Analyse a range of algorithms for image processing and computer vision
  • Use point processing, filters and arithmetic operations in digital images
  • Describe the roles of machine learning in computer vision
  • Develop basic image processing and computer vision algorithms
Contents:
  • Basic image processing: Sampling and quantization, image size, resolution, and image file formats, image compression
  • Image enhancement in the spatial domain: Intensity transformations of brightness, contrast, inverting images and thresholding operation, histogram processing: histogram equalisation and specification
  • Filters and convolution: First order and second order operators for smoothing and sharpening
  • Morphological image processing: Dilation and erosion, opening and closing, basic morphological applications
  • Feature extraction: Shape features using template matching and Hough transform, multi-scale feature detection and matching: SIFT (scale invariant feature transform), SURF (speeded-up robust features)
  • Frequency domain processing: The Fourier transform and its important properties, Fast Fourier Transform (FFT), processing images in frequency domain
  • Understanding image data and performing classification and recognition: Introduction to biometric applications, approaches to object recognition, human eye-brain system as a model for computer vision
Teaching Methods: Use of chalkboard, Vocabulary drills, Reading assignments in journals, poster presentation by students, Recitation of oral questions
Assessment/ Evaluation Details:
  • In-course Assessments —————————- 30%
  • End-of-course Examination ———————- 70%
Recommended Readings:
  • Burger, W., and Burge, M.J., Principles of Digital Image Processing: Fundamental Techniques, Springer, 2009.
  • Sonka, Hlavac and Boyle, Image Processing, Analysis and Machine Vision, 3rd Ed., PWS Publishing, 2008.
  • Gonzalez et al., Digital Image Processing, 3rd Ed., Pearson, 2008.
  • Stockman and Shapiro, Computer Vision, Prentice Hall, 2001.
CSC314MC8: Industrial Training
Course Code: CSC314MC8
Course Title: Industrial Training
Academic Credits: 08 (4-6 months of Industrial Training)
Aim: Provide experience, skills and attitude to work in an industrial environment
ILOs:
  • Apply acquired knowledge in industrial environment
  • Develop interpersonal, communication, management and team working skills
  • Adapt to work readily in real industrial projects
  • Perceive state-of-the-art industrial  technologies
Contents:
  • Students will be trained during the second semester of Level-3 in an appropriate ICT field in an industry for a period of Four to Six months which amounts to 800 notional hours under the guidance of academic and industrial supervisors.
  • Any additional stay at the industry will not carry any additional credits.
  • It is the student’s responsibility to find a placement in an industry for him/her in consultation with the Department. The department may assist the student in finding a placement in the industry.
  • Student shall maintain a journal to record their progress activity during the training.
  • Academic staff will visit the training institution at least once during the training period to monitor their progress in training.
  • On completion of the industrial training, each student shall submit the report, journal and deliver an oral presentation.
  • (*) Students who fail to obtain a minimum grade of C- and prefers to process to Level-4 will be required to do an additional project, considering the 40% marks given to the final project report as indicated in the evaluation criteria.
    • The project work will be assigned by an academic panel of the Department.
    • The individual project amounts to 300 notional hours that shall be continually monitored, assessed and evaluated by an academic panel of the Department.
    • On completion each student should submit a project report with demonstration.
    • The final grade of the students who complete their individual projects shall not exceed a grade of B.
Assessment/ Evaluation Details:
  • Training journal —————————————————————- 20%
  • Evaluation of Mentor report from the industrial supervisor ————– 20%
  • Presentation ——————————————————————–20%
  • Final Report* —————————————————————— 40%

Course units effective from academic year 2005/2006 to 2015/2016

CSC301MC3: Advanced Database Design and Systems
CSC302MC3: Artificial Intelligence - I
CSC303MC4: Data Communication and Computer Networks
CSC304MC3: Digital Image Processing
CSC305MC3: Practical Computing - 3M

Course units before academic year 2005/2006

CSS 31: Numerical Linear Algebra (1 Unit)

Systems of Linear Equations :
Gaussion Elimination, LU-factorization, Doolittle, Crouts, Choleski Methods, iterative methods, Stein-Rosenbeg Theorem, Kahan Theorem, Ostrowski-Reich Theorem.
Condition number and relative errors, iterative refinement. Sparse matrix techniques, storage schemes, graph representation of matrices, reducing the band width of a matrix. Cuthill and Mckee algorithm, reverse Cuthill-Mckee algorithm, pivoting strategies for the local minimization of fill in, Markowitz algorithm.
Conjugate gradient method for large sparse matrices.
Eigen value computation :
Gerschgorin circle theorem, Power method, inverse power method, Householder’s methods, Jacobi and given – rotation, QL method, shifting techniques, deflation.

CSS 32: Artificial Intelligence (1 Unit)

Introduction :
The AI problems, assumptions, criteria for success.
Problems and Problem Space :
Defining the problem as a state space search.
Problem characteristics.
Search techniques :
Issues in the Design of Search programs.
Heuristic search techniques :
Generate and test, hill climbing, best-first search, problem reduction, constraints satisfaction, means-ends analysis.
Introduction to LISP Language :
Application Areas :
Game Playing
Expert Systems
Natural Language Processing
Perception and Action
Learning and Understanding
Planning
Parallel and distributed AI
Connectionist models
Common-sense

CSS 33: Computer Architecture and Microprocessor System Design (1 Unit)

Basics of computer architecture and computer organization, CPU architecture, memory architecture, cache structure and design, virtual memory structure, pipeline processor architecture, pipeline memory structure, parallel architectures, RISC Vs CISC architecture, buses and system concept, CPU interface and memory system design, I/O interfacing, interrupt, DMA and multiprocessor configuration, segmentation and memory management mechanism, Bit-Sliced Microprocessor architecture and microprogramming.
Study of some Representative Microprocessors.

CSS 34: DataBase Design (1 Unit)

Data models and Data analysis, file organization, B+ trees.
Relational model : Relations, ordering, attributes and domains, Cartesian products; keys, normal forms, functional dependence, relational algebra and calculus, views, null values, data normalisation into first, second and third normal forms, Boyce Codd normal form.
Relational database manipulation : SQL, QUEL, QBE, Query processing.
+Recovery, concurrency, security, integrity and control, Distributed and deductive databases.