Comp Science
Comp Science
CCS010 HIV/AIDS 45
CCS009 Economics 45
Semester I
Semester II
Semester I
Course Code Course Title Hours
Semester II
Semester I
Year IV
Semester I
Semester II
Electives
Group I Electives
Group II Electives
Net-centric Computing
Intelligent Systems
Information Systems
Computer Architecture
CSC227 45 Hrs
LANGUAGE TECHNOLOGIES
SPO1 1 CSC421 45 Hrs
CSC423 45 Hrs
NET-CENTRIC COMPUTING
CSC433 45 Hrs
INTELLIGENT SYSTEMS
CSC443 45 Hrs
CSC444 45 Hrs
INFORMATION SYSTEMS
CSC452 45 Hrs
CSC454 45 Hrs
COMPUTER ARCHITECTURE
CSC463 45 Hrs
The course shall extend over a minimum period of 8 semesters and a maximum period of 16 semesters.
A course unit shall be defined as 45 contact hours of lectures, tutorials and practicals; including common
undergraduate courses.
Taught courses, lab-based courses and projects shall be evaluated in terms of course units.
The Second Year Projects shall be equivalent to one (1) course unit.
The Fourth Year Project shall be equivalent to four (4) course units.
2.12 COURSE DESCRIPTION
The purpose of this course is to expose students undertaking the Bachelor Science in Computer Science to the
basic structure of a computer system and how they function.
At the end of this course unit, the learner should be able to:
Describe the structures and functional components of computer systems based on the classical von Neumann
model.
Describe and use the physical components of contemporary personal computer systems
Demonstrate proficiency in the use and application of a wide spectrum of productivity tools
Course Content
Organization: Introduction to the computer and the notion of a programmable machine. The basic organization
based on the Von Neumann model. Functional components (CPU, memory, I/O) and their logical organization.
Number systems and internal data representation. Concept software and types of software. Components of
contemporary personal computer systems from end-user perspective. Application: Classical and contemporary
applications of computers. Proficiency in basic computer usage and productivity/office automation applications
including word-processing, spreadsheets, e-mail, web, etc. Basic first level security and maintenance issues.
Ethical and societal issues.
Mode of Delivery
Multimedia Technology
White Boards
Marker pens
Course Assessment
David Schneider, An Introduction to Programming Using Visual Basic 6.0, Fourth (Update) Edition, Prentice Hall,
2004.
The Exploring Office 2003 Series, Robert T. Grauer, Maryann Barber, Prentice Hall
Laudon, J.P. & Laudon, K.C. (2009). Essentials of Management Information Systems, 5th ed. Prentice Hall. ISBN
0-13-008734-3
Computing Essentials, complete edition by Timothy J. O’Leary & Linda I. O’Leary. McGraw-Hill Higher Education
2007. ISBN: 978-0-07-351670-7.
This course introduces the students to concepts of programming using C programming language. Classroom
lectures stress the strengths of C, which provide programmers with the means of writing efficient, maintainable,
and portable code. The lectures are supplemented with non-trivial lab exercises
At the end of this course unit, the learner should be able to:
Course Content
Introduction to computer programming: High-level and Low-level programming languages; Program Writing
tools: Editors; Language translators: Assemblers, Compilers, Interpreters, Source code, Object code, Executable
file and extensions of the different files; Running a Program; Programming concepts: Data types, Operators,
arithmetic and logical expressions; Input/Output: unformatted and formatted input/output and program
interfaces; Control structures: Sequencing, Selection and Repetition structures; Procedural abstractions:
Functions and Program structure, Parameter passing by value, command line arguments, scope rules, external
definitions; Recursion; Practical Programming: Develop simple programs which utilize appropriately the
programming constructs learned: variables, expressions, control statements, functions and recursion to solve
simple problems.
Mode of Delivery
Course Assessment
Total 100%
You Can Do It: A Beginner’s Introduction to Computer Programming, Francis Glassborow, John Wiley & Sons
(2003), ISBN:0470863986, 9780470863985
King, K. N. (2008). C Programming: A Modern Approach, Second Edition.Toronto: W. W. Norton & Company.
Beginning Programming for Dummies, 4th Edition, Wallace Wang, John Wiley & Sons (2006), 0470088702, 978-
0470088708
The purpose of the course is to equip the learner with the mathematics related to the field of digital
electronics.
At the end of this course unit, the learner should be able to:
Explain the basic principles and laws of Boolean algebra, Logic, Set theory, Permutations & combinations and
Graph Theory.
Course Content
Set theory: set algebra, Venn diagrams, complements, Cartesian products, power sets, recursive definition of
sets, orderings, relations (reflexivity, symmetry, transitivity, equivalence relations); Functions: Domain, range,
Surjections, Injections, Inverses, Composition, Sequences and series; Counting arguments Pigeonhole principle,
Cardinality and countability, Sum and product rule, Inclusion-exclusion principle, Permutations and
combinations, Pascal’s rule; Boolean algebra: axiomatic definitions of Boolean algebra, duality, truth values and
truth tables.; Logic: propositional logic, predicate logic, logical reasoning: The structure of mathematical proofs:
Direct proofs, Proof by counter example, Proof by contradiction, Mathematical induction; Graph Theory:
directed and undirected graphs, sub-graphs, circuits, paths, cycles, connectivity, adjacency and incidence
matrices, elements of transport network.
Mode of Delivery
Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))
Course Assessment
Total 100%
Discrete Mathematics International Edition 7th Edition; by Richard Johnsonbaugh; Pearson 2008; ISBN13:
9780131354302, ISBN10: 0131354302
Discrete Mathematics for Computing; by C, by Rod Haggarty; Pearson 2001; 2001; ISBN13: 978020173047,
ISBN10: 0201730472
Molluzo and Buckley – A first course in Discrete Mathematics, Any publisher or course pack
At the end of this course unit, the learner should be able to:
Basic Mathematics: Numbers and simple functions, Trigonometry, Complex numbers, Analytic Geometry;
Differentiation: Derivatives of functions including inverse trigonometric, hyperbolic, inverse hyperbolic, and
logarithmic functions; Methods of differentiation; Rules of differentiation: Maximum Points and Minimum
Points , Newton-Raphson method for solving equations; Integral calculus: Integration as the inverse of
differentiation, Definite integrals, Standard forms, Application of integration to length, area and volume;
Techniques for Integration: Integration by Parts reduction formulae, substitution, Partial fractions, Average
value of a function, Elements of numerical integration.
Mode of Delivery
Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))
Course Assessment
Total 100%
Differential and Integral Calculus, Vol. One Paperback – June 13, 2010 by Richard Courant ISBN-13: 978-
4871878388 ISBN-10: 4871878384
Introduction to Calculus and Analysis, Vol. II/2 (Classics in Mathematics) Paperback – December 14, 1999 by
Richard Courant, Fritz John ISBN-13: 978-3540665700 ISBN-10: 3540665706
The primary Purpose of the course is to provide training in the communication skills which are particularly
relevant to students needs in the contemporary University academic situation.
Develop strong communication skills for success in his/her academic pursuit as well as in every functional area
of life.
Develop and apply various communication techniques through information analysis, interpretation, clear
thinking, organization, problem-solving and library research techniques.
Develop independent learning skills while at the same time learning to work effectively with others in a group
Course Content
Aims at providing training in the communication skills, which are particularly relevant to students needs in the
contemporary university academic situation. The language skills to be practiced are: reading and note taking;
writing; presentation skills. Library skills; understanding abstract argument; interpreting graphs and statistics;
discourse analysis; recognition of discourse layout – use of thesis/thematic statement (Expert or implied), topic
markers of various kinds and metalanguage. Functional and register analysis/language use in various situations;
essay writing project; the research process; understanding language use in writing; concepts of cohesion and
coherence in writing/recognition of what makes texts cohesive and coherent. Emphasis will be on the students
learning the skills and using them.
Mode of Delivery
Lecturer notes, Text books, journals, Projectors, White boards and Marker pens
Course Assessment
Type Weighting
Examination 70%
Total 100%
Core Texts
Bint, P. et al. (1990). A university course in academic communication skills: resource book. Nairobi: Oxford
University Press.
Gardener, PS. (1996). New Directions: An Integrated Approach to Reading, Writing and Critical Thinking. New
York: St. Martin’s Press.
Muchiri, Mary N. (1993). Communication Skills- A self-study course for universities and colleges. Nairobi:
Longman.
Wallace, C. (1992). Reading, New york; Oxford University Press.
Recommended References
American Psychology Association, Publication Manual of the American Psychology Association (3rd edn).
Washington D. C.: American Psychology Association.
Okoth, O. (1990). A students' Guide to Writing and Study Skills. Nairobi: Nairobi University Press.
Unit Title
Course Purpose
The course provides the learner with an introduction to the basic elements of modern economics and their
application to economic decision making
Explain the theory of supply and demand its application in pricing of goods in perfectly competitive market
Apply the economics of production and the concept of diminishing marginal returns to determine the level of
output that maximizes profit
Explain the role of government in optimizing welfare through provision of public goods and regulation of
economic agents
Explain the role of banking in monetary policy and management of public finance
Course Content
The subject of economics and its importance; introduction to supply and demand; concept of elasticity and its
application; consumer behaviour; economics of production and the concept of diminishing marginal returns;
discounting and compounding procedures; price and output under pure and imperfect competition; public
goods and the role of government; welfare economics; project planning and evaluation and cost-benefit
analysis; national income and product accounts; money, banking and public finance; international trade;
economic growth, development and employment; international aid and national debt; basic accounting
procedures and principles.
Mode of Delivery
The course will be delivered by integrating two modes, which include lectures and group-based presentations.
The lecturer will provide an opportunity to discuss conceptual information in the text, and current topics in the
subject while the students will be expected to conduct in-depth research on the various topics that will be
assigned by the course instructor. Mode of Delivery will also involve problem based, discovery approaches and
e-learning.
The instructional materials and equipment include: text books, e-books, journals, Projectors, White boards and
Marker pens, white boards and other various sources of information.
Course Evaluation
Type Weighting
Examination 70%
Nicholson, W. (1992): Microeconomic Theory: Basic principles and extensions, 5th edition, San Diego, Dryden
Press
Edward Shapiro (1992). Macroeconomic analysis. Fifth edition, Galgatia publications Pvt Ltd.
Samuelson P.A & Nordhaus W.D (2005). Macroeconomics. 8th edition, McGraw Hill
Mc Conell C.R & Brue S.L (2002) Economics. 5th edition McGraw Hill
Title Course
Course Purpose:
The purpose of this course is to equip students with knowledge, skills and attitudes in understanding the
pandemic of HIV and aids, how it has affected modern society and what they can do to stop the pandemic and
to sensitize the students with drug abuse and the effects to the society.
Explain the Biology of HIV/AIDS and promote responsible sexual behavior among their peers
Discuss social cultural practices and how they relate to AIDS pandemic
Course Content:
Introduction; Sex and sexuality; Communicable diseases; HIV and AIDS; epidemiology; prevention and control of
HIV infection; management of HIV and related infections; legal and ethical issues in HIV/AIDS; HIV/AIDS as a
national disaster; recent advances and challenges in HIV/AIDS
Mode of delivery:
Lectures and Tutorials; Group discussions and individual assignments; case studies
Instructional materials
Course evaluation
Type Weighting
Examination 70%
Core Texts
Greene, W. (2012) Sande’s HIV/AIDS Medicine: Global Care, San Francisco, University of California
Deanna, K. (2002); AIDS and HIV infections, 2nd Edition
Recommended References
Current HIV/AIDS Reports, Springer, ISSN (Online) 1548 3568, (Print)1548 3576
Pre-requisite
The objective of the course is to enable the student apply high level language for solution of simple scientific
problems, and for this purpose to manipulate the inputs/outputs of a computer program
At the end of this course unit, the learner should be able to:
Demonstrate an appreciation of problem solving as an intellectual activity that requires thinking carefully and
precisely about a problem.
Apply programming and problem solving skills to solve large and interesting problems in a wide variety of
domains.
Course Content
Advanced Programming concepts: Review of basic data types, expressions, control structures and functions;
Arrays and pointers: one dimensional arrays, multidimensional arrays, pointer variables and operators, call by
reference, arrays of pointers; Structures: Arrays of structures, Pointers to structures; Characters and strings:
Fundamentals of non numeric data (characters and strings), character handling library, string handling libraries;
File processing; Secure programming; Problem solving and implementation: Introduction to program
development life cycle. Problem Solving: Notion of an algorithm, Formulating algorithms with stepwise
refinement; Pseudo-code and flowcharts as algorithm development tools; Structured program design;
Verification of algorithms; Implementation: Translating an algorithm into a language dependent code; testing,
and debugging code; Readability of programs; Practical problem solving: Develop programs which utilize a
suitable combination of programming constructs and problem solving techniques to solve substantially complex
problems.
Mode of Delivery
Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))
Course Assessment
Total 100%
King, K. N. (2008). C Programming: A Modern Approach, Second Edition. Toronto: W. W. Norton & Company.
Deitel. (2004). C How to Program - 5th Edition; Published by Prentice Hal, ISBN 0-13-240416-8.
Internet Resources
The purpose of this course is to expose students undertaking the Bachelor Science in Computer Science to the
basic concepts of database design and development, Relational Databases, SQL, Database Security, Transactions
Processing and Query Processing.
At the end of this course unit, the learner should be able to:
Demonstrate a detailed understanding of the principles and techniques of database systems design.
Describe, analyze and apply SQL and other selected database tools.
Course Content
Mode of Delivery
Lecture, Practicals, Discussion, Exercises and assignments
Course Assessment
Total 100%
Database Systems: A Practical Approach to Design, Implementation, and Management, Thomas M. Connolly,
Carolyn E. Begg, Addison-Wesley Pub Co, ISBN: 0201342871
The purpose of this course is to expose students undertaking the Bachelor Science in Computer Science to the
basic concepts of data communication.
At the end of this course unit, the learner should be able to:
Describe and analyze data communication protocols, schemes, techniques and standards.
Apply knowledge and skills in the analysis and design of data communication systems
Course Content
Introduction to data communication; Data transmission system components - DTEs, DCEs and Channels; Data
transmission media; The OSI reference model; Data encoding; Basic serial communications interfacing
standards; Analysis and synthesis of wave forms; Channel characteristics, Band-width, data rates, capacity;
Transmission modes, Modulation and Multiplexing; Synchronization; Error control: detection and correction;
Data encryption and compression; Introduction to Network topologies; Data link layer: Line configurations, flow
control, error control, bit oriented link control, simplex and sliding window protocols. Data communication
standards.
Mode of Delivery
Course Assessment
Total 100%
Farouzan B. A. (2005). Data Communications and Networking. 4th Ed. New Delhi: Tata McGraw-Hill Publishing
Company Limited, ISBN 0-07-063414-9
Simmonds A.J (1997) Data Communications and Transmission Principles – An Introduction. New York: Palgrave
Macmillan, ISBN 0-333-64689-4
DeNoia L.A. (1987). Data Communication: Fundamentals and Applications. New York: Merrill Publishing Co, ISBN
0-675-20368-6
Pre-requisites
At the end of this course unit, the learner should be able to:
Explain the importance and application of probability and statistics in computing and research
Demonstrate skills in presenting quantitative data using appropriate diagrams, tabulations and summaries
Use and apply appropriate statistical methods in the analysis of simple datasets
Interpret and clearly present output from statistical analyses in a clear concise and understandable manner.
Course Content
Importance of probability and statistics in computing; Types of data: Qualitative, Discrete and continuous data;
Summary diagrams and charts: Types of charts, frequency tables, histograms, Time series; Descriptive and
inferential statistics and statistical models; Data analysis and interpretation using spreadsheet software.
Elementary Statistics: Population and Sample, raw data, classification. Principles of data tabulation and
graphical representation. Fundamental statistical measures: Average, median, mode, mean absolute deviation,
variance, standard deviation. Probability: Basic Concepts: Permutation, Combination, Sample spaces and events,
Conditional probability, Probability trees. Random variables and their distributions: binomial, Poisson,
exponential, normal; Hypothesis testing: Null and Alternate, test procedure, hypothesis tests, Type I and Type II
errors, Regression and correlation; Markov and Chebychev inequalities.
Mode of Delivery
Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))
Course Assessment
Total 100%
A First Course in Probability 4th ed. by Sheldon M. Ross; MacMillan, Publishing Company 2010, ISBN:
0024038725. ISBN-13: 9780024038722.
To facilitate students develop abilities in abstract mathematical thinking, application problem solving and
theorem proving, understanding mathematical systems, as well as mastering the specific content of linear
algebra.
At the end of this course unit, the learner should be able to:
Explain and apply the concepts, axioms and theorems of Boolean algebra.
Explain and apply basic concepts and principles of vector analysis, matrices and linear equations.
Content: Boolean algebra: axiomatic definitions of Boolean algebra, duality, proposition and proposition
functions, truth values and truth tables. Logic: predicate logic, propositional logic, logical reasoning. Set theory:
set algebra, recursive definition of sets, orderings, relations, Partially ordered sets. Latices. Permutations and
combinations. Graph Theory: directed and undirected graphs, sub graphs, circuits, paths, cycles, connectivity,
adjacency and incidence matrices, elements of transport network.
Mode of Delivery
Course Assessment
Total 100%
Prerequisites
This is an introductory course in physics for Computer Scientists. It gives students the foundation in electric
circuits, magnetism and electronics necessary for courses in computer architecture, VLSI circuits and Digital
integrated circuits.
At the end of this course unit, the learner should be able to:
Explain the basic concepts, definitions and elements in magnetism, electric circuits, electronic circuits and
waves.
Magnetism: basic concepts of magnetism and electromagnetism. Basic laws Applications in computing systems,
e.g. magnetic storage media. Electric circuits: review of Ohm’s law. Elements of RLC circuits and their
characteristics. RLC electric circuit analysis and synthesis. Electronics: The P-N junction and its V-I
characteristics; diode resistance. Conventional, photo and light emitting diodes. The bipolar junction transistor;
common base, common emitter, common collector configurations and their characteristics. The transistor as a
switch. Field effect transistors and their characteristics. Applications in basic logic circuits and in computer
storage devices. Waves: general definitions, attributes and characteristics of waves. Sound waves.
Electromagnetic waves. Sinusoidal components. The electromagnetic spectrum. Interference, reflection and
refraction of waves. Applications in computer communications.
Mode of Delivery
Course Assessment
Total 100%
Digital Fundamentals with VHDL, Thomas L. Floyd, Prentice Hall, 2003 (recommended).
Digital Design, Practices and Principles, John Wakerly, Fourth Ed., Prentice Hall (prescribed
Digital Systems: Principles and Applications (11th Edition) by Ronald J. Tocci, Neal Widmer and Greg Moss 2010
Information Systems Today: Managing the Digital World (4th Edition) by Joseph Valacich and Christoph
Schneider; 2009
Rapid Prototyping of Digital Systems: SOPC Edition by James O. Hamblen, Tyson S. Hall and Michael D. Furman
2007
Digital System Design with VHDL (2nd Edition) by Mark Zwoliski 2004
Management Information Systems: Managing the Digital Firm & Multimedia Student CD Package (10th Edition)
by Jane P. Laudon and Kenneth C. Laudon 2007
Digital Systems Design Using VHDL by Jr. Charles H. Roth and Lizy K. John 2007
This course unit is designed to focus on implementation and mathematical analysis of fundamental data
structures and algorithms
At the end of this course unit, the learner should be able to:
Demonstrate understanding of the relevance of abstraction to problem solving. Understand the fundamental
data structures and algorithms.
Demonstrate understanding of the description, design and implementation of fundamental data structures and
their algorithms.
Apply different data structures and their algorithms to implement solutions to various computational problems.
Course Content
Introduction: Definitions: Data type, Data Structure, Algorithms, Abstraction, Objects and Abstract data types
(ADTs). Mathematical models of data as an abstract concept such as set, list or graph. Discuss the distinction
between an abstract data type and an implementation of that data type. The role of data structures in
programming. Data structures and algorithms: Arrays, Linked lists, Lists, Stacks, Queues, Priority Queues, Hash
tables, Heaps, Trees: Binary search trees; Graphs; Searching and sorting techniques: Sequential Searches, Binary
Search; application areas for data structures and algorithms
Mode of Delivery
Course Assessment
Total 100%
Systems analysis is a problem solving technique that decomposes a system into its component pieces for the
purpose of studying how well those component parts work and interact to accomplish their purpose
At the end of this course unit, the learner should be able to:
Describe the types of business needs that can be addressed using information technology-based solutions.
Initiate, specify, and prioritize information systems projects and determine various aspects of feasibility of these
projects.
Collect and analyse data using appropriate techniques and instruments effectively.
Apply specific modeling methodology to analyse, design and specify requirements for a business situation using
a formal technique.
Course Content
Identification and Structuring of IT-based opportunities into projects; Project conceptualization and feasibility;
Fundamentals of IS project management; Business process management and improvement; Analysis of business
requirements; Analysis and specification of system requirements (Data collection methods, Methods for
structuring and communicating requirements: Modeling, Data and Process Specification, presentation);
Feasibility analysis of technical alternatives; System Design: Factors affecting user experience, User interface
design, System data requirements, Factors affecting security, Ethical considerations; Different approaches to
systems analysis & design; Organizational implementation of a new information system.
Mode of Delivery
Course Assessment
Total 100%
Systems Analysis and Design 6th Ed. Kenneth Kendall and Julie Kendall. Prentice Hall. ISBN. 0131454552
Systems Analysis and Design 2nd Edition. 2003. Donald Yeates, Tony Wakefield. ISBN. 0273655361
Systems Analysis and Design for the Global Enterprise by Lonnie D. Bentley p.160 7th edition
Pre-requisites
Computer architecture introduces the underlying working principles of electronic computers. The organization
and architecture of computer components are discussed. The course expounds on details of memory hierarchy,
I/O organization, computer arithmetic, processor and control unit design, instruction set architecture,
instruction-level parallelism, and the ways functional components interact together.
At the end of this course unit, the learner should be able to:
Describe the computer architecture and aspects of architecture ie, external and internal architecture.
Describe the concepts and components of programming model, instruction sets, computer arithmetic.
Describe the relationships between instruction set architecture, micro-architecture, complexity and
performance.
Describe and compare the various system interconnection structures and systems.
Course Content
Computer architecture definitions. External vs internal architecture. System architecture: CPU, memory, I/O and
interconnection structures. Instruction Set Architecture (ISA): instruction types and formats; CISC and RISC
systems. Hardware Systems Architecture from ISA: The processor unit classical organization: components, ALU,
processor registers and internal bus; instruction cycle and its realization in micro-code and RTL; control unit
design, e.g. hardwired and micro-programmed control. Memory logical organization and addressing;
introduction to the hierarchical memory system. Input/output subsystem organization. Secondary storage
subsystem organization. Realization of the logical components in contemporary systems, e.g. motherboards,
memory cards, processor chips.; Installation and maintenance.
Mode of Delivery
Course Assessment
Total 100%
Computer Organization and Architecture: Designing for Performance, 7th edition, William Stallings, 2006,
Prentice Hall.
Computer Architecture and Organization: An Integrated Approach, Miles Murdocca & Vincent Heuring, Wiley,
2007, ISBN: 978-0-471-73388-1
John L. Henessy, David A Patterson: Computer Architecture: A quantitative Approach. ISBN: 978-1558603295
Pre-requisites
This course is meant to create a pathway into learning about digital electronics (hardware), for people who are
scared of the math and general trickery that usually comes with it. A hands-on approach is taken in this course
through a combination of lecture and experimentation to teach you about the different basic ideas (number
systems, boolean algebra and logic gates) used in digital electronics.
At the end of this course unit, the learner should be able to:
Explain concepts and terminology of digital electronics. apply logic to design and creation, using gates, to
solutions to a problem.
Formulate and employ a Karnaugh Map to reduce Boolean expressions and logic circuits to their simplest forms.
Create circuits to solve problems using gates to replicate all logic functions.
Design and implement combinational logic circuits using reprogrammable logic devices.
Course Content
Binary Arithmetic; Boolean Algebra; Algebraic Representation of Logic Circuits,; DeMorgan’s Theorems;
Karnaugh Maps; complex circuits from Primitive Logic Elements; Programmable Logic, Sequential Circuits:
Latches, Clock Signals and Clocked Flip-Flops, Flip-Flop; Analyzing Sequential Circuits; State Diagrams, Tables,
and Machines; Interfacing with the Analog World: Digital-to-Analog Conversion, Analog-to-Digital Conversion;
Sample-and-Hold Circuits, Multiplexing, Digital Storage; Integrated Circuits; Memory: Memory Technology,
General Memory Operations; Circuit Board Technology: Subtractive Process, Additive Process; Technologies of
the Future; Nano-technology.
Mode of Delivery
Course Assessment
Total 100%
Paul Horowitz and Winfield Hill, The Art of Electronics 2nd Ed. Cambridge University Press, Cambridge, 1989
ISBN 0-521-37095-7 page 471
Maini. A.K. (2007). Digital Electronics Principals, Devices and Applications. Chichester, England.: Jonh Wiley &
Sons Ltd.
Null, Linda; Lobur, Julia (2006). The essentials of computer organization and architecture. Jones & Bartlett
Publishers. p. 121. ISBN 0-7637-3769-0. We can build logic diagrams (which in turn lead to digital circuits) for
any Boolean expression.
Pre-requisites
To explore the idea that computers can be programmed to emulate “human-like” intelligence
At the end of this course unit, the learner should be able to:
Describe and apply the search technique as a way of solving problems in AI.
Describe the key ideas and concepts of each sub-discipline of Artificial Intelligence.
Course Content
The meaning of the term ’Artificial Intelligence’; Problems, problem spaces and search. Knowledge
representation concepts and issues. Introduction to knowledge-based and case-based systems. Introduction to
expert systems. Introduction to learning and adaptive systems. Intelligent Agents and Distributed Artificial
Intelligence. Introduction to natural language understanding and speech recognition. Introduction to planning.
Introduction to robotics. Introduction to game playing. Introduction to machine vision
Mode of Delivery
Course Assessment
Total 100%
Hutter, Marcus (2005). Universal Artificial Intelligence. Berlin: Springer. ISBN 978-3-540-22139-5.
Neapolitan, Richard; Jiang, Xia (2012). Contemporary Artificial Intelligence. Chapman & Hall/CRC. ISBN 978-1-
4398-4469-4.
Luger, George; Stubblefield, William (2004). Artificial Intelligence: Structures and Strategies for Complex
Problem Solving (5th ed.). Benjamin/Cummings. ISBN 0-8053-4780-1.
Pre-requisites
To enhance students understanding in PC hardware, using assembly language and writing, linking and executing
a program written in assembly language.
At the end of this course unit, the learner should be able to:
Describe the machine-level programming model using a case study, e.g. Intel IA32
Describe the elements and structure of assembly language programs.
Demonstrate the implementation of standard programming constructs, including control structures and
functions, in assembly language
Course Content
Introduction to machine and assembly language; Machine programming model: register sets and memory
structure. Concepts and instruction formats; Dataword definition. Addressing techniques: absolute, relative,
indexed and indirect addressing modes; Assembly language Implementation of high-level language operations
and constructs; Stack operations; Procedures and parameter passing; I/O instructions and device handling;
Operating system interfaces.; Multi module programs and their linkage; Linkers and loaders; Relocating loaders;
Interfacing assembly language programs with high-level language programs.
Mode of Delivery
Tutorials
Laboratory Exercises.
Course Assessment
Total 100%
Robert Britton: MIPS Assembly Language Programming. Prentice Hall, 2003. ISBN 0-13-142044-5
Jonathan Bartlett: Programming from the Ground Up. Bartlett Publishing, 2004. ISBN 0-9752838-4-7
Randall Hyde: The Art of Assembly Language. No Starch Press, 2003. ISBN 1-886411-97-2
John Waldron: Introduction to RISC Assembly Language Programming. Addison Wesley, 1998. ISBN 0-201-
39828-1
At the end of this course unit, the learner should be able to:
Explain the client-server interaction and the socket interface. Describe the various Internet application and
services.
Course Content
Introduction; Internetworking: Concepts, Architecture and protocols; Internet infrastructure: Intranets and
Extranets; Internet Services: The World Wide Web (WWW), File Transfer Protocol services, HyperText Markup
Language (HTML), HyperText Transfer Protocol (HTTP), Internet Email technologies, Web search techniques,
Web robots etc., Web programming, Server and Client Side Scripting
Mode of Delivery
Tutorials
Laboratory Exercises.
Case studies
Course Assessment
Total 100%
PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide, 2007, ISBN: 978-0321525994
Pre-requisites
The purpose of this course is to ground students to advanced concepts in object-oriented programming and in
writing more difficult/complex programs
At the end of this course unit, the learner should be able to:
Describe object oriented software development techniques from requirements gathering to implementation.
Analyze application scenarios and design software systems using object oriented analysis and design.
Course Content
Introduction to object technology; evolution of OOP languages; Concepts and terminology: Abstraction,
Encapsulation, Inheritance, Polymorphism, Classes, Objects, Methods and Messages. Object Oriented
Programming using a selected language: Abstract Data Types and Classes, Single and Multiple Inheritance,
Overloading, Polymorphism, Dynamic Binding, Object class libraries, Associations and Aggregations. Object-
Oriented Analysis and Design (OOAD): Overview of OOAD; UML Concepts: Notations, Meta-models, diagrams;
OOA with UML: Requirements workflow, Use case analysis, analysis workflow, class identification, class
relationship analysis, Object state analysis, object activity analysis; OOD with UML: design workflow, object
design, system design; reuse; Design patterns.
Mode of Delivery
Course Assessment
Continuous Assessment 50%
Total 100%
Meyer, Bertrand (1988). Object-Oriented Software Construction. Cambridge: Prentise Hall International Series in
Computer Science. p. 23. ISBN 0-13-629049-3.
Jacobsen, Ivar; Magnus Christerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented Software
Engineering. Addison-Wesley ACM Press. pp. 15,199. ISBN 0-201-54435-0.
Pre-requisites
To provide insight into the intrinsic nature of computational problems as well as possible solution techniques
independent of programming language, programming paradigm, computer hardware, or any other
implementation aspects
At the end of this course unit, the learner should be able to:
Explain in depth the theories, concepts and techniques in automata and their link to computation.
Develop abstract machines that demonstrate the properties of physical machines and specify the possible
inputs, processes and outputs of these machines.
Apply automata concepts and techniques in designing systems that address real world problems.
Course Content
Introduction to models of computation and formal languages, Set theory, Functions, Mathematical Induction
and Methods of Proof; History of Automata, Languages, Recursive definitions, Regular expressions, Finite
automata, transition graphs, Kleene’s theorem, Non-determinism, Finite automata with output, Equivalence,
Regular and non-regular languages, Decidability; Pushdown automata, Context free grammars; Turing theory,
Turing machines. Introduction to functional programming.
Mode of Delivery
Laboratory Exercises.
Course Assessment
Total 100%
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman (2000). Introduction to Automata Theory, Languages, and
Computation (2nd Edition). Pearson Education. ISBN 0-201-44124-1.
Elaine Rich (2008). Automata, Computability and Complexity: Theory and Applications. Pearson. ISBN 0-13-
228806-0.
Michael Sipser (1997). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X.
Anderson, James A. (2006). Automata theory with modern applications. With contributions by Tom Head.
Cambridge: Cambridge University Press. ISBN 0-521-61324-8. Zbl 1127.68049.
Sakarovitch, Jacques (2009). Elements of automata theory. Translated from the French by Reuben Thomas.
Cambridge University Press. ISBN 978-0-521-84425-3. Zbl 1188.68177.
Pre-requisites
The objective of the course is for students to understand the functions of operating system components and
their interactions, to be able to exploit operating system facilities to improve the functionality and efficiency of
programs, and be able to evaluate the suitability of a given task.
At the end of this course unit, the learner should be able to:
Describe and explain the concepts, structure and design of operating Systems.
Describe the impact of operating system design on application system design and performance.
Demonstrate competency in recognizing and using operating system features.
Course Content
Operating systems concepts and overview: Historical perspective, types of operating systems, architecture of
operating systems. Process Management: processes and threads, process creation, synchronization (mutual
exclusion, Semaphores, Monitors) and communication; Processor scheduling; Deadlock prevention, avoidance
and recovery. Memory management: Main Memory Management, Virtual Memory Management (swapping,
paging, segmentation and page-replacement algorithms); File system structure and implementation; Input
Output systems and device management; Protection and security; Hands on study of the system call/end user
interface of an industry standard operating system e.g. Linux: programming with process, File and I/O system
calls, shell commands and scripts.
Mode of Delivery
Course Assessment
Total 100%
Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall.
Silberschatz Galvin Gagne (2012). Operating Systems Concepts. New York: Wiley. ISBN 978-1118063330.
Hansen, Per Brinch, ed. (2001). Classic Operating Systems. Springer. pp. 4–7. ISBN 0-387-95113-X.
Software engineering promotes the common goal of educating engineers who are skilled in designing quality
software at low development and maintenance costs. Software Engineering is also a platform for future
researchers who get qualified to perform advanced technological and methodological experiments in software
engineering.
At the end of this course unit, the learner should be able to:
Describe and analyze the various software engineering paradigms, methodologies and tools.
Apply software engineering methodologies and tools in the design and implementation.
Course Content
Software Engineering Paradigms; Software Requirements Specification; Software Design; Software Coding;
Software Implementation; Software Quality Assurance; Configuration Management; Software Re-engineering;
Project Management; Trends and Developments in Software Engineering.
Mode of Delivery
Tutorials
Laboratory Exercises.
Computers
Course Assessment
Total 100%
Fundamentals of software engineering, Ghezzi, New Delhi, India Prentice Hall of India 2003, ISBN: 8120322428
Pre-requisites
Describe and explain fundamental generic concepts and principles in computer networking.
Describe and analyze the TCP/IP architecture, its protocols and applications.
Course Content
Introduction: Uses of computer Networks, classification of computer networks; layered network architecture;
OSI and TCP/IP reference Models; Data Link Layer and LANs: Data link services and protocols; Medium access
control sub-layer: Medium access protocols and LANs; LAN Technologies: IEEE standards for LANs, ATM LANs;
Data link layer switching: Repeaters, bridges, switches, routers; Virtual LANs; Network layer: End-to end
Connection oriented and Connectionless service; Switching techniques; Routing; Congestion Control; Quality of
service; Example Packet switched WANs: X.25, frame relay; ATM Networks; Internetworking: Internetworking
concepts; Internet structure; Internet Network layer and protocols: ICMP, ARP, RARP, DHCP. Transport Layer:
Transport services and mechanisms: socket API, connection setup and teardown, addressing, reliable data
transfer and flow control mechanisms; Internet Transport protocols: TCP and UDP; Application layer: Principles
of application layer protocols; Internet directory service: DNS, Electronic mail: SMTP, File transfer: FTP; World
Wide Web: HTTP, Telnet.
Mode of Delivery
Tutorials
Case Studies.
Course Assessment
Total 100%
William Stallings, Computer Networking with Internet Protocols and Technology, Pearson Education 2004.
Wendell Odom, Rus Healy, Denise Donohue. (2010) CCIE Routing and Switching. Indianapolis, IN: Cisco Press
Recommended Reference Materials
Kurose James F and Keith W. Ross: Computer Networking: A Top-Down Approach Featuring the Internet,
Pearson Education 2005.
Pre-requisites
The general purpose for this course is to gain a working understanding of the fundamental principles of
computer systems. This is an essential part of a computing professional: "How do computer systems work?"
At the end of this course unit, the learner should be able to:
Identify and describe common hardware and software components of the contemporary computer system.
Install and configure common operating systems, utilities and other software.
Identify and describe the functions of common networking devices, including switches, routers.
Design, install and configure a local area network (LAN and WLAN) using common networking devices and
employing the TCP/IP protocol stack.
Course Content
Installation, configuration, operation, and troubleshooting medium-size routed and switched networks; Basic
mitigation of security threats; Introduction to wireless networking performance-based skills; Use of protocols:
IP, Enhanced Interior Gateway Routing Protocol (EIGRP), Serial Line Interface Protocol Frame Relay, Routing
Information Protocol Version 2 (RIPv2),VLANs, Ethernet, access control lists (ACLs).
Mode of Delivery
Course Assessment
Continuous Assessment 50%
Total 100%
William Stallings, Computer Organization and Architecture: Designing for Performance, 7th edition 2006,
Prentice Hall.
Miles Murdocca & Vincent Heuring Computer Architecture and Organization: An Integrated Approach, Wiley,
2007, ISBN: 978-0-471-73388-1
M Morris Mano. Computer System Architecture. Pearson Higher Education. 1992. ISBN: 0131757385
V. Heuring, and H. Jordan, Computer Systems Design and Architecture, 2nd edition, 2004, Prentice Hall.
Barry B. Brey, The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium
Pro Processor Architecture, Programming, and Interfacing,7th edition (2005), Prentice Hall, ISBN: 0131195069
Spasov, Peter, Microcontroller Technology: The 68Hc11,. ISBN 10: 0131129848 ISBN 13: 9780131129849
Jin, L. and Hatfield, B. J. Computer Organization: Principles, Analysis& Design, 1st Edition, 2004.
Patterson, D.A. and Hennessy, J.L. Computer Architecture: A Quantitative Approach, 3rd Edition, 2003.
Tanenbaum AS, Structured Computer Organisation 4th Edition, Prentice Hall 1999
The project will be the primary means of assessment to determine whether a student has attained desired
competence of that level at which the student demonstrates his or her knowledge by performing tasks
demonstrating the knowledge.
At the end of this course unit, the learner should be able to:
Develop a project report in line with SCI project requirements and guidelines.
Apply systems analysis and design as wells programming techniques and tools
Project Content
Given a specification, to analyse, design and implement a computer system, after which the student shall submit
a project report in line with SCI’s project requirements and guidelines.
Project Assessment
The project shall be graded independently out of a maximum of 100 marks and the pass mark shall be 40%.
Pre-requisites
At the end of this course unit, the learner should be able to:
Describe and analyze the upper, lower and average running time and space complexity of algorithms.
Represent the time and space complexity of algorithms using asymptotic notations.
Deduce recurrence relations that describe the time complexity of recursively defined algorithms.
Course Content
Worst and average case analysis; Asymptotic Notations; Standard complexity classes; Efficient algorithms for
sorting, searching, and selection; Recurrences; binary search trees, heaps, hash tables, red-black trees; graph
problems: Graph traversal minimum-cost spanning tree, connected components, topological sort, and shortest
paths; Algorithm design techniques: Brute-Force Algorithms, divide-and-conquer, dynamic programming; NP
Complete problems.
Mode of Delivery
Course Assessment
Total 100%
Pre-requisites
The course is meant to expose students to concepts of developing logical reasoning systems
At the end of this course unit, the learner should be able to:
Course Content
Introduction to propositional and predicate calculus. Logic programming language syntax. Inference. Resolution.
Logical reasoning systems. Logic programming in a logic language. Example logic programs for Artificial
Intelligence including logical agents and goal-based agent.
Mode of Delivery
Total 100%
Introduction to Logic Programming Through PROLOG: The Essence of PROLOG (Paperback) by J.M. Spivey
Stuart Russell and Peter, Norvig; Artificial Intelligence: A Modern Approach (Third edition);Publisher, Prentice
Hall. Publication; 2009; (ISBN 0-13-604259-7)
Luger G. & Stubblefield W, Artificial Intelligence: Structures and Strategies For Complex Problem Solving (5th
Edition), 2005; Addison Wesley.
Pre-requisites
The course aims at developing necessary and critical skills for students to effectively use and produce
multimedia elements and products. The course will cover the recent technology of the multimedia software,
tools and hardware. For this purpose, students will be exposed by using the necessary hardware, tools and
software to be used in developing multimedia products and projects.
At the end of this course unit, the learner should be able to:
Explain the importance of both the individual human models and social models in the design of human
computer interaction.
Describe and explain the different processes for defining interfaces for different contexts.
Choose between qualitative and quantitative evaluation methods for a given evaluation question.
Course Content
Human-computer interaction for usable, accessible and acceptable systems; Contexts for HCI (mobile devices,
consumer devices, business applications, web, business applications, collaboration systems, games, etc.);
Process for user-centered development: early focus on users, empirical testing, iterative design; Different
measures for evaluation: utility, efficiency, learn-ability, user satisfaction; Models that inform human-computer
interaction (HCI) design: attention, perception and recognition, movement, and cognition; Conceptual Design
Process: perceived accordance, conceptual model, mental model, metaphor, interaction paradigm, interaction
design, feedback, etc. ; Social issues influencing HCI design and use: culture, communication, and organizations;
Accommodating human diversity, including universal de-sign and accessibility and designing for multiple cultural
and linguistic con-texts; The most common interface design mistakes; User interface standards.
Mode of Delivery
Course Assessment
Total 100%
Interaction Design: beyond human-computer interaction (second edition) Preece, J., Sharp, H., and Rogers, Y;
2007; Wiley.
User Interface Design and Evaluation; Stone, D., Jarrett, C., Woodroffe, M., and Minocha, S; 2005; Morgan
Kaufmann.
Designing the User Interface: Strategies for Effective Human-Computer Interaction; B. Shneiderman, C. Plaisant;
Addison Wesley, Fourth Edition, 2005.
Human-Computer Interaction (3rd Ed.); Dix, A., Finley, J., Abowd, G., and Beale, R. 2004 Prentice-Hall, Inc.
Designing interactive systems. Benyon D, Turner P, Turner S.Harlow, England: Addison-Wesley; 2005.
Designing the User Interface: Strategies for Effective Human-Computer Interaction. Shneiderman, B. 200;
Addison-Wesley Longman Publishing Co., Inc.
User-Centered Web Site Development: a Human Computer Interaction Approach; McCracken, D. D., Spool, J.
M., and Wolfe, R. J; 2003; Pearson Education.
Interaction Design; J. Preece, H. Sharp, Y. Rogers:Beyond; John Wiley & Sons, 2002. F. Paterno (Ed):
Mobile Human-Computer Interaction, R. A. Earnshaw (Ed) Springer Verlag, 2002.
Pre-requisites
The Computer Graphics course prepares students for activities involving the design, development, and testing of
modeling, rendering, and animation solutions to a broad variety of problems found in entertainment, sciences,
and engineering. Students learn: (1) how to develop interactive programs that use effectively the graphics
functionalities available in contemporary personal computers, (2) the fundamental principles and technologies
upon which these functionalities, and possibly their future evolutions, are based, and (3) the skills for designing
and implementing practical graphic solutions to challenging problems in different application domains
At the end of this course unit, the learner should be able to:
Distinguish the capabilities of different levels of graphics soft-ware and describe the appropriateness of each.
Use the facilities provided by a standard API to express basic transformations such as scaling, rotation,
translation, reflection, shearing etc.
Implement algorithms that perform transformation and clipping operations on simple 2-dimensional and 3-
dimensional objects.
Course Content
Hierarchy of graphics software; Line generation algorithms e.g. DDA, Bresenham’s; Using a graphics API; Simple
color models (RGB, HSB, CMYK); Homogeneous coordinates; Affine transformations (scaling, rotation,
translation); Viewing transformation; Clipping; Font generation: outline vs. bitmap; Light-source and material
properties; Ambient, diffuse, and specular reflections; Phong reflection model; Rendering of a polygonal
surface; flat, Gouraud, and Phong shading; Texture mapping, bump texture, environment map; Introduction to
ray tracing; image synthesis, sampling techniques, and anti-aliasing.
Mode of Delivery
OpenGL Programming Guide, Third Edition, M. Woo, J. Neider, T. Davis and D. Shreiner, Addison Wesley
Computer lab and computers installed with any or all of the following graphics software:
Mathematica: Computer algebra, statistics and numerical analysis system with general graphic language
Course Assessment
Total 100%
Computer Graphics with OpenGL (4e), D. Hearn, M.P. Baker. Prentice Hall, 2004. ISBN 0130153907
F.S. Hill, S.M. Kelley, Computer Graphics Using OpenGL. Prentice Hall 2006.
2007
OpenGL Programming Guide v2.1 (6e), OpenGL ARB, Addison-Wesley, 2007. ISBN 0321481003
Brian W Kernighan and Dennis M Ritchie. The C Programming Language (2e), Prentice Hall, 1989. ISBN
0131103628.
Pre-requisites
Distributed system concepts and techniques underlie much of modern computer technology: client-server, grid
and web based systems based on high-bandwidth networks support applications ranging from business data
processing to multimedia information systems. The climate of rapid technological change which characterises
modern society and the desire for increased efficiency and effective decision making in today's business has
resulted in enterprise information systems and inter-organisational systems being brought into sharp focus for
information systems professionals.
Expected Learning Outcomes of the Course
At the end of this course unit, the learner should be able to:
Describe and explain the goals, concepts, principles and techniques behind the design and implementation of
distributed systems.
Describe the basic distributed algorithms and the assumptions they are based on
Apply the principles and concepts learnt from the course in interpreting the software design of some real life
distributed systems case studies.
Course Content
Introduction to distributed systems: goals of distributed systems; Types of distributed systems: distributed
systems, Clusters, Grids, sensor networks etc; Distributed system Architectures: system architectures:
centralized, multi-tiered, peer-to-peer etc; Middleware; Communication: RPC, Group Communication, Message
oriented communication; Naming; Coordination and synchronization: Clock synchronization, logical clocks,
Mutual exclusion, Election algorithms, deadlocks; Consistency and Replication; Fault Tolerance: distributed
transactions; Security; Distributed File Systems; study some specific real world distributed systems case studies.
Mode of Delivery
Network Teaching Lab: dual boot PCs (Windows and Linux), LANs/LAN devices (hubs, switches, and servers),
WAN devices (routers) and wireless devices. Several LANs that can be created therein and these can be
configured into a fully-fledged WAN. Software and hardware pieces utilised by students by related programmes
and to complement the hands-on teaching of network security, computer networks, systems (devices and
applications) configurations, operating systems, end-user support and distributed systems.
Course Assessment
Total 100%
G. Coulouris, J. Dollimore, T. Kindberg and G. Blair, Distributed Systems: Concepts and Design, 5/E, Addison-
Wesley, 2006, ISBN-10: 0321263545
Andrew S. Tanenbaum, Maarten van Steen; Distributed systems: principles and paradigms; Pearson Prentice
Hall, 2007;
Kenneth P. Birman, ; Reliable distributed systems: technologies, Web services, and applications; Springer, 2005
Ajay D. Kshemkalyani, Mukesh Singhal, Distributed computing: principles, algorithms, and systems; Cambridge
University Press, 2008.
The course is aimed at exposing students to important organizational issues in order to successfully derive value
from computer based systems
At the end of this course unit, the learner should be able to:
Course Content
Introduction to management; Organization theories; Management theories; Decision making processes and
models; Managerial planning; Organizational structuring; Human resource management; Leadership;
Organizational change and learning.
Mode of Delivery
Course Assessment
Total 100%
Managing and Organizations: An Introduction to Theory and Practice Third Edition by Stewart R Clegg, Martin
Kornberger and Tyrone Pitsis. SAGE Publications LTD
Recommended Reference Materials
Pre-requisites
ICT projects are often complex, multifaceted, and evolving through a constant state of change. Guiding these
projects successfully requires solid team management and effective project controls. This course provides the
tools necessary to organize project objectives, create realistic plans, and build and manage an accomplished
team through every phase of the SDLC. Through this course the student will gain the practical skills needed to
meet today's demands for faster and cheaper software project development.
At the end of this course unit, the learner should be able to:
Course Content
Introduction to project management; Project life cycle: Project organization, Project planning, Project
monitoring, Project control, and Project learning; The ICT project management process; Project management
methodologies and tools; ICT project management standards; Management of change; Cases of ICT project
management.
Mode of Delivery
Lectures, Case studies, Active research by learners, Group discussions and presentations
Course Assessment
Total 100%
Software Project Management (5th Edition), Bob Hughes and Mike Cotterell, McGraw-Hill, 2009.
Roger S. Pressman, Software Engineering – A Practitioners Approach (7th Edition), McGraw-Hill, 2010.
Information Systems Project Management,; M. Fuller, J. Valacich and J. George; Pearson Pertice Hall, 2007.
ISBN: 0-13-145417-X
Project Management: The Managerial Process. 4th Edition; Gray, C. F. and Larson, E. W; 2007, New York:
McGraw-Hill.
Information Technology Project Management: Providing Measureable Organizational Value. 2nd Edition.;
Marchewka,J. T. 2006. Hoboken: John Wiley & Sons, Inc.
Project Management: A Managerial Approach. 6th Edition. Meredith, J. R. and Mantel, S. J. (Jr.). 2006; Hoboken:
John Wiley & Sons, Inc.
Project Planning, Scheduling & Control. 4th Edition; Lewis, J. P. 2005. New York: McGraw Hill.
Project Management and Project Planning. 7th Edition;London: Lockyer, K. and Gordon, J. 2005.Prentice Hall
Project Management – Creating Innovative Projects; Jim Highsmith, Agile Addison-Wesley, 2004.
Pre-requisites
The course provides students with knowledge of principles, mechanisms, architectures and platforms that
underpin the design and implementation of distributed systems and applications.
At the end of this course unit, the learner should be able to:
Describe the software concepts, principles, mechanisms, architectures and platforms that underpin the design
and implementation of distributed systems and applications.
Demonstrate competency in concurrent programming models used to build scalable servers.
Describe and analyze the design and architecture of object based distributed systems
Design and construct networked and distributed applications including client-server, peer-to-peer and
distributed object based applications.
Course Content
Concurrent Programming: Processes and threads, process/thread interaction mechanisms; classical problems in
concurrent programming; concurrent programming with threads; Network programming: TCP and UDP
transport, Introduction to software design models: client/server, peer-to-peer etc; Server designs; Networking
APIs; Sockets: introduction to sockets, socket options, socket types, Name and address conversions; Non
blocking I/O; Daemons; Broadcasting and multicasting; Network programming with TCP/IP; Distributed
Programming: Middleware for distributed applications; Remote Procedure Calls(RPC), Distributed programming
using RPC; Distributed Object based systems: Distributed objects, Architecture; Communication; Distributed
object programming systems: Java RMI, CORBA, DCOM; Distributed object based programming using Java RMI
and CORBA.
Mode of Delivery
Network Teaching Lab: dual boot PCs (Windows and Linux), LANs/LAN devices (hubs, switches, and servers),
WAN devices (routers) and wireless devices.
Course Assessment
Total 100%
G. Coulouris, J. Dollimore, T. Kindberg and G. Blair, Distributed Systems: Concepts and Design, 5/E, Addison-
Wesley, 2006, ISBN-10: 0321263545
Andrew S. Tanenbaum, Maarten van Steen; Distributed systems: principles and paradigms; Pearson Prentice
Hall, 2007;
Kenneth P. Birman, ; Reliable distributed systems: technologies, Web services, and applications; Springer, 2005
Ajay D. Kshemkalyani, Mukesh Singhal, Distributed computing: principles, algorithms, and systems; Cambridge
University Press, 2008.
This course provides students with an understanding of concepts of machine learning problems and how to
select effective learning algorithms.
At the end of this course unit, the learner should be able to:
Course Content
General models of machine learning: Artificial Neural Networks, Bayesian Methods, Evolutionary Computation,
Decision Tree Learning, Instance-Based Learning, Artificial Immune Systems, Data mining and other emerging
models. Examples of symbolic learning systems, Examples of adaptive learning systems. Empirical nature of
Machine Learning.
Mode of Delivery
Course Assessment
Total 100%
Core Reading Material for the Course
C. M. Bishop (2006). Pattern Recognition and Machine Learning. Springer. ISBN 0-387-31073-8.
Russell, Stuart; Norvig, Peter (2003) [1995]. Artificial Intelligence: A Modern Approach (2nd ed.). Prentice Hall.
ISBN 978-0137903955.
Phil Simon (March 18, 2013). Too Big to Ignore: The Business Case for Big Data. Wiley. ISBN 978-1118638170.
Pre-requisites
This course emphasizes on the understanding of human reactions to displays of various kinds and on human
behavior in the context of interactive objects. Based on this, students’ understanding of the principles
associated with the evaluation of interfaces including those that embody interaction will be enhanced. Students
will be exposed to the principles and guidelines that reflect best practice in the design, development, and
maintenance of interfaces for multiple types of systems.
At the end of this course unit, the learner should be able to:
Apply various tools and techniques to the development of user-centred products with emphasis on human to
computer interaction.
Describe and analyze the various evaluation techniques, with and without the typical user, for user-centred
products with emphasis on human computer interaction.
Course Content
Approaches, characteristics, and overview of product development process, with special emphasis on software
development process; Introduction to Functionality and usability requirements; user modeling; Techniques for
gathering requirements; Notations for specifying user interfaces; Prototyping techniques: Sketching, Paper
storyboards, Low-fidelity or paper prototyping, Medium fidelity prototyping, Storyboards, etc.; Prototyping
tools and GUI builders; User-interface software techniques, prototyping languages and GUI builders; Product
evaluation without typical users; Product evaluation with typical users; Reporting the results of evaluations.
Mode of Delivery
Course Assessment
Continuous Assessment 50%
Total 100%
Alan Dix et al, Human-Computer Interaction, Third Edition by Prentice Hall (2004)
This course is designed to examine the use of information systems to support the management and business
activities of an organization. The students are exposed to concepts such as the fundamentals of hardware and
software, database management, data communications, transaction processing, information systems, decision
support systems, information reporting systems, office automation, networks, tapping the internet, expert
systems, problem analysis, and system analysis and design.
At the end of this course unit, the learner should be able to:
Describe the role of internet technologies in facilitating business processes. Assess contemporary hardware and
software platforms and their trends.
Course Content
Overview of MIS: Definition, Role of MIS; key concepts; MIS an evolving concept, related areas, MIS Subsystems;
Conceptual foundations; hard-ware/software platforms and trends; database trends, e-commerce, ethical and
social issues in the digital firm. MIS Structure: Operating Elements; Management Activity; Organizational
Functions; features of organizations; Organizational and Management support systems: Decision making and
decision support; Phases in Decision Making; Concepts of Decision Making; Models: Decision Maker; Conceptual
& Physical Structure; Formal; Business Process Integration; User Machine;, Organizational Decision; Decision
making under Physiological Stress; Methods for deciding among alternatives; Concepts of Information.
Mode of Delivery
Course Assessment
Total 100%
Management Information Systems: Managing the Digital Firm, 9/E BY Laudon & Laudon
Essentials of Management Information Systems, 5th ed,; Laudon, J.P. & Laudon, K.C. (2009). Prentice Hall. ISBN
0-13-008734-3
Business Information Systems: Analysis, Design and Practice 6th Edition; Graham Curtis, David Cobham,
Pearson; 2008, ISBN13: 9780273713821, ISBN10: 0273713825
Empirical Investigation of Factors in Data Warehousing Success in Management Information Quarterly Vol 25
Issue
Evaluation Information Security Tradeoffs in Computers and Society 2007 Kagan et. A
Pre-requisites
To study fundamental concepts of programming language design, specification, implementation and translation
through the very practical exercise of designing, writing, documenting and testing a compiler; to survey the
state of the art in compiler theory and design
Expected Learning Outcomes of the Course
At the end of this course unit, the learner should be able to:
Describe the principles and techniques used to perform translation and the fundamental concepts of translator
construction.
Describe and analyze software tools and techniques which are applicable both to compilers and the
implementation of system utility routines, command interpreters, etc.
Course Content
Compilers and Interpreters. Overview of the compilation process: The phases of compilation: Lexical analysis,
syntax analysis, semantic analysis, code generation; Issues in compiler design: symbol tables, program
compilation, loading and execution; Compilation techniques: One pass and two pass. Run-time storage
management. Object code for subscripted variables; A simple complete compiler: Organization, Subroutine and
function compilation, Bootstrapping techniques, Multi pass compilation; Optimization: techniques, local,
expressions, loops and global Optimization. Software tools for compiler construction: Lexical analyzers; parser
generators.
Mode of Delivery
Course Assessment
Total 100%
Compilers: Principles, Aho, Sethi, and Addison-Wesley Techniques, and Tools Ullman
Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and
Tools (2nd Edition). Pearson. ISBN 0-321-48681-1.
Watt, David (2000). Programming Language Processors in Java. Prentice Hall. ISBN 0130257869.
Pre-requisites
CSC225 Computer Networks.
This course introduces students to the various potential threats and sources of attacks to network security and a
solid understanding of the security mechanisms to maintain security on computer systems and networks.
At the end of this course unit, the learner should be able to:
Course Content
Information and network security threats and threat analysis. Access control systems: mechanisms and
technologies. Message security: confidentiality, authentication and integrity; Cryptography and its application to
message security. Operating system vulnerabilities, intrusion detection, authentication systems, Kerberos, email
security (PGP, S/MIME), firewalls, IP security (IPsec), SSL, TLS, WWW security, Ensuring Security for Electronic
Commerce, Financial Networks, Intranets and Extranets, Business Continuity and Disaster Recovery Planning.
Mode of Delivery
Course Assessment
Total 100%
Computer Security: Art & Science, Matt Bishop, Addison Wesley, ISBN: 0201440997
Hacking Exposed: Network Security Secrets & Solutions, Joel Scambray, et al, McGraw-Hill Osborne Media 2004,
ISBN: 0072227427
Wireless Security: Models, Threats, and Solutions, Randall K. Nicholus, McGraw-Hill Professional, 2001, ISBN
0071380388
Recommended Reference Materials
Know Your Enemy: Learning about Security Threats, the HoneyNet Project, Addison-Wesley Professional, 2004,
ISBN: 0321166469
Pre-requisites
This course exposes students to concepts of knowledge representation and expert systems using appropriate
knowledge-based software tools.
At the end of this course unit, the learner should be able to:
Efficiently apply the knowledge representation tools and techniques that form the foundation for symbolic
reasoning systems. Demonstrate skills in the use of available environments and shells for rapid knowledge-
based systems development and implementation.
Course Content
Data, Knowledge and Information; Introduction to Knowledge Based systems (KBS): Definition, Components,
Types; Knowledge Acquisition and Elicitation; Knowledge Representation; Representing knowledge using rules,
frames, ontologies, Semantic nets etc.; Inferencing: Forward Chaining, Back-ward Chaining; Reasoning;
Uncertainty; Case-based reasoning; Representing common-sense knowledge. AI development languages,
environments and shells. Knowledge-based shells. Identifying and selecting a knowledge-based development
tool. Problem requirements definition. Introduction to knowledge engineering; Term project.
Mode of Delivery
Course Assessment
Total 100%
Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems. Addison-Wesley.
ISBN 0-201-10686-8.
Akerkar RA and Sajja Priti Srinivas (2009). Knowledge-based systems. Jones & Bartlett Publishers, Sudbury, MA,
USA. ISBN 9780763776473.
Engineering of Knowledge-Based Systems. Avelino J. Gonzalez, Douglas D. Dankel, Prentice Hall (2000), ISBN-10:
0130189731.
Expert Systems: Principles and Programming, Fourth Edition.Joseph C. Giarratano, Gary D. Riley, 2004, ISBN-10:
0534384471
Creating a new business is a challenging and complex task. The road to entrepreneurial success is long, winding
and strewn with pitfalls, obstacles and blind turns. The risks of starting a new business are high, as illustrated by
the high failure rates for new ventures. However, as is always the case, the rewards are commensurate with the
risk. Therefore, this course aims at helping students understand the process, challenges, risks and rewards of
starting up a new business and to equip them with the tools required to start their own business as well as
improve their chances of successfully starting their own business.
At the end of this course unit, the learner should be able to:
Course Content
Entrepreneurship and entrepreneur defined; The entrepreneur and society; Entrepreneurship and self-
employment; The government and Entrepreneur-ship; Entrepreneurship behaviours; Characteristics/qualities/
traits of an entrepreneur; The entrepreneur (owner-manager) and the entrepreneur (employed manager)–
differences; Business ideas and opportunities: sources for business idea, enabling environment, public policies;
Legal aspects of business; business formation; Sources of finance; Decision making and risks; Self-employment
assessments; SMEs.
Mode of Delivery
Laboratories equipped with modern arrangements as well as with the state-of-art facilities for entrepreneurship
networking.
Course Assessment
Total 100%
Edi: Jan Ulijn, Dominique Drillon, and Frank Lasch. Edward Elgar, Entrepreneurship, Cooperation and the Firm:
The Emergence and Survival of High-Technology Ventures in Europe. 2007. Wiley Pub.
Daniel Mankani, Technopreneurship: The successful Entrepreneur in the new Economy;. Prentice Hall 2003
China Dawn: The Story of a Technology and Business Revolution, David Sheff (2002), HarperBusiness;
Kuratko, D.F. and Hodgetts, R.M. (2004) Entrepreneurship: Theory, Process, Practice, 6th ed. Thomson Learning.
Mankani, D.), Technopreneurship : The Successful Entrepreneur in the New Economy. (2003, Prentice Hall.
Pre-requisites
This course aims to expose students to a range of real-life ethical issues that arise in the design and use of
computer hardware, software and systems. Students will be introduced to major ethical theories and concepts,
and given experience in using a variety of tools for ethical analysis of actual cases and situations they have
experienced or could encounter in later professional life. Apart from developing academic understanding of
ethical theory, analysis and cases, the course aims to equip students for life as responsible citizens and
professionals in a society increasingly structured by technology. Finally students will be exposed to impacts
arising from use of ICT in the society.
At the end of this course unit, the learner should be able to:
Identify ethical issues that arise in ICT development and implementation and determine how to address them
Describe the policy, legal and institutional framework of e-government and the impacts of e-government.
Course Content
Introduction: Information, Information society and ICTs; ICT perspectives: Technical, Socio-technical, Social
Informatics; Theories of society: Functionalism, Conflict, Interactionist, Structuration; ICTs and ethics: Principles
of ethics, Introduction to ethical theories, Principles of ethical decision making, Ethical impacts of ICTs,
Professional code of ethics; ICTs and legal issues: Confidentiality and privacy, Intellectual property, Copyright
and software protection, Software piracy; Other social impacts of ICTs; ICTs and national development: Policy
framework, Legal framework, Institutional framework, e-government planning and implementation.
Mode of Delivery
Lectures, Case studies, Active research by learners, Group discussions and presentations.
Course Assessment
Total 100%
George Reynolds, Ethics in Information Technology, Third Edition. Course Technology/Cengage Learning, 2010,
ISBN-13 9780538746229
T.W. Bynum and S. Rogerson, (Editors), Computer Ethics and Professional Responsibility; Blackwell, 2004
Richard A. Spinello, Case Studies in Information Technology Ethics, Second Edition, Prentice-Hall, 2003.
Michael Quinn, Ethics for the Information Age, 3rd Edition ISBN: 0-321-53685-1 published by Addison Wesley
Barbara G. Cox, Ethics at Work (NetEffect Series) ISBN 0-13-045031-6 published by Prentice Hall
Kizza, J.M., Ethical and Social Issues in the Information Age, 2nd ed, Springer, 2003.
The computer systems project aims at consolidating the skills learnt throughout the Bachelor of Science in
Computer Science by allowing a student produce a substantial project culminating in a written report, project
demonstration, and presentation of findings of research.
At the end of this course unit, the learner should be able to:
Demonstrate the consolidation and integration of the understanding of computer systems analysis and design.
Develop and present a project report in line with SCI’s project requirements and guidelines.
Course Assessment
The project should be graded independently out of a maximum of 100 marks and the pass mark should be 40%.
Pre-requisites
The course is meant to help the students understand appplications areas, technologies, tools and techniques
applicable in language technology and to demonstrate an in-depth grasp in one of the key Language Technology
areas.
At the end of this course unit, the learner should be able to:
Describe and explain the importance and role of language technologies in social computing.
Explain the different application areas, technologies, tools and techniques applicable in language technology.
Course Content
Introduction: Basic linguistics - definitions, morphology, phonetics, phonology, syntax, semantics, pragmatics;
knowledge in speech & language processing, ambiguity, language thought & understanding; Turing test;
historical overview and state of the art; Language models & algorithms for NLP: Regular expressions, Finite State
Techniques, Dynamic programming –String Edit distance, Context Free Grammars, Probability Theory,
Information Theory, Naïve Bayes, Hidden Markov Models, Viterbi; Language Resources: Corpora, MRDs,
Grammars; Language analysis: Morphology –pronunciation, spelling, N-grams; Syntax –Context Free Grammars,
Non-probabilistic parsing, Probabilistic CFGs, parsing with PCFGs, Collocations and NP parsing; Semantics –
Lexical Semantics, WSD and clustering; Pragmatics; Speech processing (Elective I): sounds, phonetic
transcription, phonological rules, pronunciation dictionaries, prosody; TTS architecture; ASR architecture; Text
Processing (Elective II): Information Retrieval; Information Extraction; Question Answering; Machine
Translation; Summarization; Unsupervised Language Discovery (Topic modelling).
Mode of Delivery
Course Assessment
Total 100%
Daniel Jurafsky and James H. Martin (2008). Speech and Language Processing, 2nd edition. Pearson Prentice
Hall. ISBN 978-0-13-187321-6.
Steven Bird, Ewan Klein, and Edward Loper (2009). Natural Language Processing with Python. O'Reilly Media.
ISBN 978-0-596-51649-9.
Christopher D. Manning and Hinrich Schütze (1999). Foundations of Statistical Natural Language Processing. The
MIT Press. ISBN 978-0-262-13360-9.
Foster, Lauren. "LT Advisor". MultiLingual Magazine. MultiLingual. Retrieved 9 September 2013.
Pre-requisites
The course enables students to understand design-specific cognitive activities that designers apply during the
process of designing. It additionally provides the students with an understanding of differences in design
thinking processes and approaches used by designers representing a variety of disciplinary backgrounds, design
contexts and design roles.
At the end of this course unit, the learner should be able to:
Demonstrate an understanding of differences in design thinking processes and approaches used by designers
representing a variety of disciplinary backgrounds, design contexts and design roles.
Show ability to recognize design situations and problems and articulate guiding principles applied in design
situations and problems.
Demonstrate ability to create and test design solutions for given design situations and problems.
Show ability to establish and articulate a pattern for approaching design problems.
Course Content
What is Design/who is a Designer; The Design Process: Frameworks and Models; Design Situations and
Principles; Creating and Testing Design Solutions from needs analysis; Design Conversations; Media Design;
Interaction Design; Information Design; Spatial Design; Design Thinking.
Mode of Delivery
Workshops with hands-on activities; Readings and Assignments; Activities that build skills and knowledge; Guest
speakers and recorded interviews; Small group-based activities and projects based on real life experience.
Course Assessment
Total 100%
Lupton, Ellen. Graphic Design Thinking: Beyond Brainstorming. New York, NY: Princeton Architectural Press,
2011. ISBN 978-1-56898-760-6.
Liedtka, Jeanne. Designing for Growth: A Design Thinking Tool Kit For Managers. Columbia University Press,
2011, ISBN 0-23-115838-6
Liedtka, Jeanne. Solving Problems with Design Thinking: Ten Stories of What Works. Columbia University Press,
2013, ISBN 0-23-116356-8
Pre-requisites
To enhance an understanding among students of the fundamental concepts underlying current developments in
mobile applications and wireless networks.
At the end of this course unit, the learner should be able to:
Explain the problems and solutions introduced by wireless networks and mobile computing to traditional
networking, operating systems, human-computer interface, architecture, and security.
Course Content
Transmission fundamentals; Wireless Transmission Technologies: Radio signal transmission modes, radio
frequency spectrum; Signal Propagation, encoding techniques, spread spectrum, coding and error control;
Wireless Networking: Wireless PANs (Sensor Networks, Bluetooth, UWB), Wireless LANs (Wi-Fi, 802.11a to n),
Wireless Local Loops and Free Space Optics, Cellular networks: from 1 to 5G Networks, Satellite
communications; Mobile Ad Hoc and Sensor Networks; Platforms to Support Mobile Applications: Architecture
of Mobile devices, Mobile IP, Wireless middleware (WAP, iMode, J2ME, BREW, MMIT); Mobile Applications: M-
Business, M-Government, M-Life, Positional Apps; Security, Integration, and Management Issues
Mode of Delivery
Tutorials
Case Studies.
Course Assessment
Total 100%
Programming Wireless Devices with Java 2 Platform; Roger Riggs et al Addison-Wesley, 2/e
Bulletproof wireless security: GSM, UMTS, 802.11 and ad hoc security; Praphul Chandra; Elsevier, 2005.
Security in Computing (the 4th edition);Charles Pfleeger and Shari Lawrence Pfleeger
Pre-requisites
The purpose of this course is to expose students undertaking Bachelor of Science in Computer Science to
concepts of network management in real industrial and business setup.
Expected Learning Outcomes of the Course
At the end of this course unit, the learner should be able to:
Demostrate in-depth theoretical and practical knowledge of network management, and in particular of SNMP
(Simple Network Management Protocol).
Course Content
Network Management Standards and Models; Network Management Protocols: Abstract Syntax Notation One
(ASN.1): Simple Network Management Protocol (SNMP), SNMPv2 and SNMPv3: Structure of Management
Information (SMI): Management Information Base (MIB): Remote Monitoring (RMON): RMON 1 and 2; Network
Management Tools and Systems; Web-Based Management; Network Management Applications
Mode of Delivery
Tutorials
Case Studies.
Course Assessment
Total 100%
Network Security, Administration and Management: Advancing Technology and Practice Dulal Chandra Kar and
MahbuburRahman Syed
Release Date: June, 2011. Copyright © 2011.384 pages.
Pre-requisites
The course is intended to expose students to web-based technologies and service-oriented computing theories
for implementing service oriented architectures.
At the end of this course unit, the learner should be able to:
Explain the service oriented computing paradigm, a new emerging paradigm for distributed computing and
applications.
Explain the impact of service oriented computing on the design, architecture, delivery and consumption of
distributed applications in heterogeneous environments.
Describe and explain the service oriented architecture and the standards and technologies for implementing
service oriented architectures.
Design and implement flexible, dynamically com-posed and agile service oriented distributed applications that
solve real life problems
Course Content
Mode of Delivery
Tutorials
Laboratory Work
Course Assessment
Total 100%
Anthony T. Velte (2010). Cloud Computing: A Practical Approach. McGraw Hill. ISBN 978-0-07-162694-1.
Norbert Bieberstein, Sanjay Bose, Marc Fiammante (2005) Service-Oriented Architecture (SOA) Compass:
Business Value, Planning, and Enterprise Roadmap, IBM Press books. ISBN 0133762904
The purpose of this course is to provide students with an overview of the hypermedia/interactive multimedia
technology through working with various hypermedia/interactive multimedia tools.
At the end of this course unit, the learner should be able to:
For each of several media or multimedia standards, describe in non-technical language what the standard calls
for, and explain how aspects of human perception might be sensitive to the limitations of that standard.
Evaluate the potential of a computer system to host one of a range of possible multimedia applications,
including an assessment of the requirements of multimedia systems on the underlying networking technology.
Describe the characteristics of a computer system (including identification of support tools and appropriate
standards) that has to host the implementation of one of a range of possible multimedia applications.
Course Content
Sound and audio, image and graphics, animation and video, Multimedia standards (audio, music, graphics,
image, telephony, video, TV), Capacity planning and performance issues, Input and output devices (scanners,
digital camera, touch-screens, voice-activated), MIDI keyboards, synthesizers, Storage standards (Magneto
Optical disk, CD-ROM, DVD), Multimedia servers and file systems, Tools to support multimedia development.
Mode of Delivery
Course Assessment
Total 100%
Core Reading Material for the Course
2.Interactive Multimedia Music Technologies (Premier Reference Source) Hardcover – 31 Oct 2007 by Kia Ng
(Author)
Pre-requisites
The course is meant to expose students to concepts aimed at enabling them to demonstrate practical
understanding of the role and importance of knowledge and artificial intelligence in human society.
At the end of this course unit, the learner should be able to:
Demonstrate a practical understanding of the role and importance of knowledge and intelligence in human
society.
Explain the issues arising from, and impact of Artificial Intelligence in society.
Explain the forces driving the knowledge society, and to discuss the impacts of knowledge-based systems on
society from a global perspective.
Course Content
Review of pre-requisite topics: Knowledge-based systems; Learning & Adaptive systems; Knowledge and
Intelligence in Human Society: The Knowledge society, The Knowledge economy; Models of Human Intelligence:
Cognition: Minds and brains; How the brain influences the way humans solve problems, Remembering and
forgetting, Emotions, Use of Language. Cognitive theory; Implications for knowledge engineering; Artificial
Intelligence: Machine intelligence. Comparisons with human intelligence. Implications for knowledge
engineering; Impact of AI to Society: The potential for AI. Factors affecting successful realization of AI
applications. Impact areas; Knowledge Engineering: Communication, Elicitation & Acquisition, Capture,
Representation and Retention; Knowledge Applications; Thematic Issues: ICT Infrastructure, Skills & Learning, e-
Government (Democracy & Governance), e-Inclusion, Enterprise Development; Legal & Regulatory Issues;
Ethical Issues; Digital Culture.
Mode of Delivery
Seminars
Group Presentations
Guest Speakers
Case Studies.
Course Assessment
Total 100%
Developments in Natural Intelligence Research and Knowledge Engineering: Advancing Applications (Premier
Reference Source) Hardcover – June 30, 2012 By Yingxu Wang (Author, Editor) Be the first to review this item
ISBN-13: 978-1466617438 ISBN-10: 1466617438 Edition: 1st
http://www.computer.org/web/swebok
Pre-requisites
This course introduces fundamental and practical tools, techniques, and algorithms for Knowledge Discovery
and Data Mining (KD&DM). It provides a balanced approach between methods and practice.
Define knowledge discovery and data mining terminology and describe the use and applications of data mining.
Explain the data mining tasks, the KDD process, domain information, data visualization and the issues and
challenges.
Apply different data mining algorithms on data. Interpret data mining results.
Course Content
Overview of KDD and Data mining: data mining, KDD process; KDD and related fields; Pre-processing Data: Data
Quality, Data Transformation, Missing Data, Data Reduction; Data mining tasks: classification, clustering, etc;
Data Mining with different algorithms: decision trees, artificial neural networks, instance based learning, etc;
Data warehousing: data warehouses, data marts; Data visualization: cubes, sparse matrices; Evaluation and Use
of Discovered Knowledge: Error calculations, domain information; Data mining applications.
Mode of Delivery
Tutorials
Case Studies
Course Assessment
Total 100%
Data Mining and Knowledge Discovery Handbook. Editors: Maimon, Oded, Rokach, Lior (Eds.)
Data Mining and Knowledge Discovery. Editor-in-Chief: Johannes Fürnkranz ISSN: 1384-5810 (print version)
ISSN: 1573-756X (electronic version)
Knowledge Discovery and Data Mining. Current Issues and New Applications: Current Issues and New
Applications: 4th Pacific-Asia Conference, PAKDD 2000 Kyoto, Japan, April 18-20, 2000 Proceedings
CSC443: ADVANCED LANGUAGE TECHNOLOGIES – 3 Hours
Pre-requisites
To equip students with LT tools and techniques and provide them with in-depth understanding of their
application areas
At the end of this course unit, the learner should be able to:
Course Content
Overview of key techniques for major LT areas; Overview of tools and plat-forms for LT. Building LT resources –
Corpora, MRDs, Grammars; History, Computational Approaches, tools and techniques, challenges, State-of-the
art, application areas for specific LT area: Machine Translation; Information Ex-traction; Information Retrieval;
Summarization; Topic Modelling; Spelling; Automatic Speech Recognition; Text to Speech Synthesis; Project: A
substantial LT application development in either Machine Translation, Information Extraction, Information
Retrieval, Summarization, Topic modelling, Spelling, Automatic Speech Recognition, Text To Speech synthesis.
Mode of Delivery
Supervised Labs
Project
Course Assessment
Total 100%
Advanced Language Technologies for Digital Libraries: International Workshops on NLP4DL 2009, Viareggio,
Italy, June 15, 2009 and AT4DL 2009, Trento, Computer Science and General Issues) Paperback – December 15,
2011 by RaffaellaBernardi (Editor), Frederique Segond (Editor), IlyaZaihrayeu (Editor)
Data Semantics Nine, Volume 9. Stefano Spaccapietra, Paolo Atzeni, Francois Fages, Mohand-Said Hacid,
Michael Kifer, John Mylopoulos, Barbara Pernici, PavelShvaiko, IlyaZaihrayeu. Springer Science & Business
Media, Sep 17, 2007 - Computers - 195 pages
Topic Detection and Tracking: Event-Based Information Organization. James Allan Springer Science & Business
Media, Feb 28, 2002 - Computers - 266 pages
Pre-requisites
Introduce the student to the concept of agents and multi-agent systems, and the main applications for which
they are appropriate.
At the end of this course unit, the learner should be able to:
Design societies of agents that can effectively cooperate in order to solve problems
Course Content
The notion of Game Theory; Games in Normal Form; Games in Extensive Form; Nash Equilibrium and its
computation for normal forms; Perfect and imperfect Information for extensive forms. Social choice and the
notion of mechanism design; auctions. The notion of agents, comparing agents with objects, expert systems and
distributed systems; application areas for agents. Designing intelligent agents: reasoning agents; reactive
agents; hybrid agents. Multi-Agent Systems: notion; ontologies; interactions- speech acts; KQML/KIF; FIPA
framework; cooperation; resource allocation and auction types.
Mode of Delivery
Demonstrations.
Projects
Course Assessment
Total 100%
An Introduction to MultiAgent Systems, 2nd Edition. Michael Wooldridge. May 2009, ©2009
Data Mining and Knowledge Discovery Handbook. Editors: Maimon, Oded, Rokach, Lior (Eds.)
Pre-requisites
The purpose of this course is to expose students undertaking the Bachelor of Science in Computer Science to
the distributed database which is a collection of data that is located in several different physical locations.
At the end of this course unit, the learner should be able to:
Explain the techniques used for data fragmentation, replication, and allocation during the distributed database
design process.
Evaluate simple strategies for executing a distributed query to select the strategy that minimizes the amount of
data transfer.
Explain how the two-phase commit protocol is used to deal with committing a transaction that accesses
databases stored on multiple nodes.
Describe distributed concurrency control based on the distinguished copy techniques and the voting methods.
Course Content
Introduction to distributed database management, Distribution architectures, Distribution design, Distributed
query processing and optimization, Replication/Fragmentation, Distributed concurrency control, Distributed re-
liability protocols, New distribution architectures, Multi-database systems, Pervasive and mobile distributed
database management, Distributed Data-base Recovery, Distributed Data Security, Web data management,
Interoperability and componentization.
Mode of Delivery
Course Assessment
Total 100%
Principles of Distributed Database Systems Hardcover – March 2, 2011 by M. Tamer Özsu (Author), Patrick
Valduriez (Author)
Concepts of Database Management Paperback – September 16, 2014 by Philip J. Pratt (Author), Mary Z. Last
(Author). ISBN-13: 978-1285427102 ISBN-10: 1285427106 Edition: 8th
Distributed Databases: Principles and Systems (Mcgraw-Hill Computer Science Series) Hardcover – March, 1984
by Stefano Ceri (Author), Giuseppe Pelagatti (Author) . ISBN-13: 978-0070108295 ISBN-10: 0070108293
The purpose of this course is to expose students undertaking the Bachelor of Science in Computer Science to
examination of the management controls within information technology (IT) infrastructure. The evaluation of
obtained evidence determines if the information systems are safeguarding assets, maintaining data integrity,
and operating effectively to achieve the organization's goals or objectives
At the end of this course unit, the learner should be able to:
Explain in detail the fundamental issues involved in, and the potential pitfalls of the development, installation,
operation, and maintenance of information systems.
Explain in-depth the relevant issues of IS audit and its importance in different systems.
Describe and explain IS audit training, working, accreditation, and IS audit professional bodies.
Apply the acquired knowledge to secure and protect the information assets of an organization.
Course Content
Computer crime and abuse. Legal and ethical issues. Risk Management. Audit Controls: network controls,
database controls, physical controls. Frameworks for information system controls.
Mode of Delivery
Case Studies.
Course Assessment
Total 100%
Information Systems Control and Audit. Ron Weber. Prentice Hall, 1999 - Business & Economics - 1027 pages
Pre-requisites
The purpose of this course is to expose students undertaking the Bachelor of Science in Computer Science to
social network technologies and allow them to appreciate social media which allow dynamic virtual
relationships between friends.
At the end of this course unit, the learner should be able to:
Explain the social relationships, diffusion, propagation, information flow and sharing and the inherent issues.
Appraise the technology used for social media. Analyze social network data.
Explain different social network applications. Assess different social network applications.
Course Content
Social relationships and networks; Personal networks: forms of sociability, relations, social circles and
community; Social media; Technologies: web 2.0, etc; Basic Graph Theory, representation; Dynamics: models of
propagating and influence innovations, network impact on diffusion; Social network analysis: social network
data, analysis methods; Learning in social networks; Applications.
Mode of Delivery
Laboratory
Case Studies.
Course Assessment
Total 100%
Social Network Analysis for Startups: Finding connections on the social web Paperback – October 7, 2011
by MaksimTsvetovat (Author), Alexander Kouznetsov (Author)
Social Network Computing Nathan Eagle and Alex (Sandy) Pentland MIT Media Lab, 20 Ames St, Cambridge, MA
02319
Pre-requisites
The purpose of this course is to expose students undertaking the Bachelor of Science in Computer Science to
the functions of information systems used to create competitive advantage within organizations and how they
should be managed and used.
Expected Learning Outcomes of the Course
At the end of this course unit, the learner should be able to:
To show how information systems (IS) strategies can be developed to enable IT to contribute to the strategic
growth and provide competitive advantage for an enterprise.
Demonstrate a range of generic skills that are relevant to the strategic management of information systems and
technology.
Course Content
Introduction to SISM; Strategic IS and planning; IS evaluation methods; Using Strategic information from
organizational systems: approaches and tools; Developments in IT and business; Contemporary IS strategic
issues; The technical versus social debate in IS and corporate strategy; The integrated nature of corporate
strategy and information systems as a basis for IS strategic management.
Mode of Delivery
Case Studies
Group discussions
Presentations
Course Assessment
Total 100%
Strategic Management of the Information Systems Function: Changing Roles and Planning Linkages by
Venkatraman N
CSC461: PERFORMANCE MODELLING – 3 Hours
Pre-requisites
The course is aimed at enabling students understand and apply concepts, principles, methods, techniques and
tools of computer and network systems performance evaluation.
At the end of this course unit, the learner should be able to:
Describe, explain and analyze the concepts, principles, methods, techniques and tools of computer & network
systems performance evaluation.
Apply of the above to problems in computer architecture, computer networks, network protocols and
applications.
Course Content
Introduction to performance analysis. Overview of analytic models. Application of queuing theory for
performance analysis: overview of probability and stochastic processes, the exponential and Poisson
distributions; Queuing theory fundamental results; Analysis of multi-server queues, open networks, closed
networks, Mean-value analysis, multi-class networks. concept of self-similarity and self-similar data traffic.
Simulation modeling: Techniques; simulator architecture; workloads generation. Performance measurement:
Basic principles and considerations, measurement tools, benchmarking and standard bench marks. Analysis case
studies.
Mode of Delivery
Lectures
Laboratory Work
Case Studies.
Course Assessment
Total 100%
Core Reading Material for the Course
Performance modelling of communication networks and computer architectures Peter G. Harrison, Naresh M.
Patel Addison-Wesley, 1993 - Computers - 472 pages
Computer Performance Evaluation: Modelling Techniques and Tools. 12th International Conference, TOOLS
2002 London, UK, April 14-17, 2002 Proceedings, Volume 12 Anthony J. Field Springer Science & Business
Media, Apr 3, 2002 - Computers - 348
Principles of Sonar Performance Modelling Series: Springer Praxis Books Subseries: Geophysical Sciences.
Ainslie, Michael
Pre-requisites
The purpose of this course is to expose students undertaking the Bachelor of Science in Computer Science to
understand modern computer system architecture and to apply these insights and principles to future
computer designs. The course is structured around the three primary building blocks of general-purpose
computing systems: processors, memories, and networks.
At the end of this course unit, the learner should be able to:
Describe the various architectural concepts that may be applied to optimize and enhance the classical Von
Neumann architecture into high performance computing hardware systems.
Describe and analyze the challenges faced in the implementation of these high performance systems.
Describe and assess contemporary practical examples of advanced architectures and application areas.
Course Content
Limitations of the classical Von Neumann model; Parallel Processing: overview and basic concepts; Memory
subsystem for parallel architectures; Principles of pipelining and pipeline design; Vector Processing System
Architecture; instruction level parallelism including Super-scalar and VLIW architectures; multi-core
architectures; data parallel including array Processor architectures; MIMD Architectures: Shared memory
systems and Distributed memory systems; Interconnection structures for Shared memory and for Distributed
memory systems.
Mode of Delivery
Laboratory work
Course Assessment
Total 100%
Advanced Computer Architecture Hwang McGraw-Hill Education (India) Pvt Limited, Feb 1, 2003 - Computer
architecture - 770 pages
Advanced Computer Architecture and Computing S.S.Jadhav Technical Publications, Jan 1, 2009 - 472 pages
Computing Essentials, complete edition by Timothy J. O’Leary & Linda I. O’Leary. McGraw-Hill Higher Education
2007. ISBN: 978-0-07-351670-7.
Pre-requisites
The purpose of this course is to expose students undertaking the Bachelor Science in Computer Science to learn
how to build system architecture for processors and to discover specific techniques for dealing with hardware
difficulties and manufacturing requirements.
At the end of this course unit, the learner should be able to:
Describe the instruction set architecture and the external interface architecture of microprocessors.
Analyze, design and implement hardware interfaces between the micro-processor and controllers &
instrumentation devices.
Design and code programs that interact with controllers and instrumentation devices, both digital and analogue.
Describe contemporary applications of embedded systems.
Course Content
Generic processor programming & interfacing model; Microprocessor programming model: basic internal
architecture, instruction execution model, instruction set overview including addressing modes, memory
models, I/O model. Microprocessor interface model. Case study of a selected processor e.g. Intel 80X86;
Programming model, instruction set architecture, assembly language programming. Interfacing concepts.
Polling and interrupt based models. Design and programming or simple data acquisition and control systems.
Applications; Monitoring & control, data acquisition, mobile devices, RFID technology, access control &
surveillance systems, etc.
Mode of Delivery
Lectures
Laboratory Practicals
Course Assessment
Total 100%
Programming Embedded Systems: With C and GNU Development Tools, 2nd EditionPaperback – October 1,
2006 by Michael Barr (Author), Anthony Massa (Author)
Making Embedded Systems: Design Patterns for Great Software Paperback – November 9, 2011 by Elecia
White
Programming Embedded Systems in C and C++ Paperback – February 9, 1999 by Michael Barr
Pre-requisites
At the end of this course unit, the learner should be able to:
Describe and analyze the issues related to the design of products supporting group interaction.
Develop a simple groupware to demonstrate knowledge of the concepts and techniques of interaction design
for group communication and collaboration.
Course Content
Introduction to communication and collaboration and mechanisms people use to communicate and collaborate;
common application for collaborative software; Groupware to support specialized tasks such as document
preparation, multi-player games; Asynchronous group communication techniques; Synchronous group
communication techniques; Online communities and multi-user virtual environments; modeling groups of users;
Software characters and intelligent agents, virtual worlds and avatars; Introduction to social psychology, social
networking and social Computing for groupware; Collaborative usability techniques.
Mode of Delivery
Design Case
Computers
Course Assessment
Total 100%
Groupware: Design, Implementation, and Use. 14th International Workshop, CRIWG 2008, Omaha, NE, USA,
September 14-18, 2008, Editors: Briggs, R.O., Antunes, P., de Vreede, G.-J., Read, A.S. (Eds.)
Groupware: Technology and Applications Paperback – Facsimile, July 9, 1995 by David Coleman (Author),
Raman Khanna (Author). ISBN-13: 978-0133051940 ISBN-10: 0133051943 Edition: 1st
The course is meant to expose students to basic concepts of computer games and how to develop these games.
At the end of this course unit, the learner should be able to:
Describe and explain modern computer game design and implementation techniques.
Describe and explain components essential to or common in popular computer game styles.
Course Content
Game Types, platforms, audience demographics; game structure, game flow, and the role of choice in
generating an entertaining interactive experience; Conceptualization and design documentation, interface
design, play mechanics, platform modifications, and performance testing; programming teams and processes,
game programming software including C++ and Java, DirectX, OpenGl; rigid body simulations, and particle
systems; collision detection and collision resolution; Graphic design, color theory, and user interfaces; 3D
modeling, 3D environments; Rendering Nature; Rendering Skies Terrain Rendering, Terrain Texturing , Glow,
Reflections, Shadows, lighting audio design ; Animation: physical motion, animation playback, animation
blending, motion extraction, mesh deformations; Artificial intelligence: game agents, finite state machines, path
finding algorithms; Audio programming; Networked Games; Multiplayer programming.
Mode of Delivery
Tutorials
Laboratory work
Course Assessment
Continuous Assessment 50%
Total 100%
Beginning C++ Through Game Programming by Michael Dawson - Course Technology PTR , 2010
Introduction to Programming Through Game Development Using Microsoft XNA Game Studio by Rob Miles -
Microsoft Press , 2009
Master of Science in Computer Science
Introduction
The Department of Physical Sciences is currently offering the undergraduate B.Sc. in Computer Science. The
M.Sc. Information Systems is a conversion course for persons with any first degree while the M.Sc. Computer
Science is a specialist research and development product oriented Masters course. In the region, there is a
dearth of taught, specialist Computer Science/Information Communication Technology (ICT) postgraduate
programmes that are expressly designed to consider research problems encountered in real life business and
industrial settings. It is this gap that the Master of Science in Computer Science seeks to fill thereby building
appropriate capacity nationally and regionally. In this programme, scholars will be given the necessary
theoretical and conceptual foundation and thereafter be expected to proceed with research into problems that
are experienced in our region. This focus will offer unique opportunities to key development problems thereby
contributing to knowledge by responding to established and emerging challenges.
Contribute to the production of Computer Science professionals required at the various levels of our industrial
development.
Inculcate a proactive and relevant information communication technology (ICT) research and development
community.
Collaborate with industry to develop ICT products, systems and services that address key economic needs.
Produce high quality education, research, systems and products that competes effectively at the global level.
Provide an exit point in the form of a Postgraduate Diploma in Computer Science for those candidates who do
not wish to undertake a substantive project upon successful completion of the core course units.
The common regulations for the Masters degree in all faculties shall apply.
The minimum requirements for eligibility into the Master of Science in Computer Science are:
Holders of a Bachelor's degree in Computer Science, of at least Upper Second Class Honours or an equivalent
qualification from an institution recognised by Senate.
Holders of a Bachelor's degree in Computer Science with a Lower Second Class Honours or an equivalent
qualification from an institution recognised by Senate. In addition the applicant should have at least 2 years
relevant experience.
Holders of a Bachelor's degree in Computer Science with a Pass degree or an equivalent qualification from an
institution recognised by Senate. In addition the applicant should have at least 4 years relevant experience.
Holders of a Bachelor's degree in a related discipline Engineering, Mathematics, Statistics and Physics of at least
Upper Second Class Honours or an equivalent qualification from an institution recognised by Senate. In addition
the candidate must hold a Postgraduate Diploma in Computer Science, of a minimum Credit grade or an
equivalent qualification from an institution recognised by Senate.
A candidate may be exempted from some course units from institutions recognised by Senate, subject to the
following conditions:
Requests for exemption should be made in writing, on admission, to the Director of Board of Postgraduate
Studies, through the Chairman, Department of Physical Sciences and should be accompanied by officially
endorsed supporting documents for the relevant courses.
No candidate shall be exempted for more than one third of the total number of units required in the course.
The programme shall extend over a minimum of four semesters and a maximum of twelve semesters
The Master of Science in Computer Science shall be offered by coursework, examination and project.
The programme shall consist of twelve and a half taught course units and the project.
For those opting to exit with a Postgraduate Diploma in Computer Science, the programme shall consist of nine
and a half compulsory course units and a project
A course unit shall be defined as 60 contact hours comprising of lectures, tutorials and laboratories.
A candidate shall take nine and a half compulsory course (units) and three electives.
For those opting to exit with a Postgraduate Diploma in Computer Science, the research project shall be
equivalent to two course units.
A candidate shall be required to take a minimum of two course units and a maximum of four course units in any
given semester.
5.3 Project
All taught course units shall be examined at the end of the respective semesters.
A candidate for the degree shall satisfactorily complete such coursework and practical assignments as may be
required for the scheme of study. Satisfactory completion of any such requirements shall be a condition of
admission to the examination at the end of that semester of study.
A written examination for a course unit shall have a minimum duration of three hours.
Each course unit or its equivalent shall be graded independently out of a maximum of 100 marks and the pass
mark shall be 50%.
The complete assessment of a taught unit shall consist of course work (assignments, laboratories and
continuous assessment tests) and a compulsory written examination. The contribution towards the unit
aggregate shall be 50% for course work and 50% for written examination.
A candidate who fails to satisfy the examiners in any unit(s), may on the recommendation of the Board of
Examiners and approval by Senate, be allowed to take up to two re-sit/retake examinations in the unit(s) failed
during the ordinary examination time, within the stipulated study period.
A pass obtained in any re-sit examination will be recorded as 50% in the candidate's academic record.
A candidate shall be required to pass in all the taught course units before being allowed to undertake the
research project.
The project shall be graded independently out of a maximum of 100 marks and the pass mark shall be 50%.
A candidate who fails to satisfy the examiners in the project may, on the recommendation of the Board of
Examiners and approval by Senate, be allowed to resubmit the project not more than twice. Any re-
submission(s) must be done within a period of two consecutive semesters starting from the first submission.
A 75% - 100%
B 65% - 74%
C 50% - 64%
F below 50%
A candidate who :
shall, on the recommendation of the Board of Examiners and approval by Senate, be discontinued from the
programme.
A candidate who successfully completes the core course units of the programme (ICS 801 to ICS 810) in
accordance with clauses 6.1 to 6.8 above and opts to undertake the project ICS 859 and passes in accordance
with clauses 6.9 to 6.11 above may, on the recommendation of Senate, be awarded a Postgraduate Diploma in
Computer Science.
Pursuant to clause 6.14 candidates may exit with an award of Postgraduate Diploma in Computer Science. The
classification of the final award of the Postgraduate Diploma in Computer Science, based on the aggregate
computer as per the regulation, shall be as follows:
A candidate who passes one or more course units through resit/retake examinations or resubmission in a
project shall only be eligible for a pass award.
Purpose
This course purpose it to introduce the classic algorithms in various domains, and techniques for designing
efficient algorithms.
Design a GOOD algorithm – major algorithm paradigms (such as divide-and conquer, greedy method, dynamic
programming, local search, branch & bound, and randomized algorithms), and how they apply to a variety of
real-world problems
Analyze an algorithm – tools for analyzing the efficiency and correctness of algorithms (such as exchange
arguments, recurrence, induction, and average case analysis)
Course Content
Models of computation; Design of efficient algorithms; Sorting and order statistics; Data structures for set
manipulation problems; Algorithms on graphs; Matrix multiplication and related operations; The Fast Fourier
Transform and its applications; Integer and polynomial arithmetic; Pattern-matching algorithms; NP-complete
problems; Some provably intractable problems; Lower bounds on numbers and arithmetic operations
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Introduction to Algorithms, 2nd edition, by T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. The MIT Press,
2001
Other References
M. T. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. Wiley, 5th edition, 2010
M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Incompleteness. V. H.
Freeman, 1979
S. Arora and B. Barak. Computational Complexity: A Modern Approach. Cambridge University Press, 2009
Purpose
The main purpose of the Research Methods, Data Analyisis, and Reporting to Support DoD Security Programs
course is to introduce students to quantitative and qualitative methods for conducting meaningful inquiry and
research
Develop skills to investigate, choose develop and refine a focused business research topic into a draft research
proposal.
Review the veracity of existing research and act on these assessments in a business setting.
Appraise ethical issues involved in the various stages of computer science research.
Course Content
Problem identification and definition; Proposal writing; Types of research; Literature review; Research theory;
Research design; Methods and tools for data collection and analysis; Presentation of results; Key contents of a
dissertation; Report writing. Product is Project Proposal
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Benbasat, Isak (ed.). Information Systems Research Challenge, Vol II. McGraw-Hill, 1991.
Other References
Cozby, Paul C. Methods in Behavioral Research. Mountain View, CA: Mayfield, 1997, 2000.
Fowler, Floyd J., Jr. Survey Research Methods, 2nd edition. Sage, 1993.
Green, Samuel B., Neil J. Salkind, Theresa M. Akey. Using SPSS for Windows: Analyzing and Understanding
Data. Prentice Hall, 1997.
Leedy, Paul D. Practical Research: Planning and Design. NJ: Prentice Hall, 1997.
Miller, Delbert C. Handbook of Research Design and Social Measurement. Sage, 1991.
Purpose
Increase basic competence in quantitative reasoning and problem solving, starting at an appropriate entry level
1. Students will learn the vocabulary, syntax, and semantics of two different symbolic languages (sentential &
predicate logic) and how these languages relate to English.
2. Students will learn how to use the symbolic languages taught in this course to determine certain
fundamental features of language and how to talk about these features using analytical vocabulary.
3. Students will learn how to use various mechanical tests to test propositions, sets of propositions, and
arguments for various properties, and develop counterexamples for invalid arguments
4. Students will learn how to formally write proofs in two different languages. That is, they will learn a set of
inference, derivation, or "proof" rules and use these rules to show that a conclusion follows from a set of
premises.
5. Students will learn how to articulate how certain methods and procedures used in logic relate to various
logical properties that belong to everyday argument and arguments in symbolic languages.
Course Content
Propositional logic; Formal approach to propositional logic; Applications to logic design; Predicate logic; Logic
programming; Formal system specification; Declarative knowledge; Inference; Resolution; Resolution strategies;
Non-monotonic reasoning; Induction; Reasoning with uncertain beliefs; Knowledge and belief; Meta-knowledge
and Meta-reasoning; State and change; Planning; Intelligent agent architecture.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Other References
Manna Z. and Waldinger R. (1985) The Logical Basis for Computer Programming. Addison-Wesley
Mendelson, E. (1987). Introduction to Mathematical Logic, 3rd Edition. Wadsworth and Brooks
Bornat R. (1987). Programming from First Principles Hemel Hempstead: PrenticeHall International
Purpose
To help the students to reason precisely about computation and prove mathematical theorems about its
capabilities and limitations.
1. Describe finite automata as useful models for many important kinds of hardware and software.
2. Explain the “lexical analyzer” of a typical complier, that is, the compiler component that breaks the input text
into logical units, such as identifiers, keywords, and punctuation
3. Demonstrate understanding of software for scanning large bodies of text, such as collections of Web pages,
to find occurrences of words, phrases, or other patterns
4. Demonstrate understanding of Software for verifying systems of all types that have a finite number of distinct
states, such as communication protocols or protocols for secure exchange of information.
Course Content
Discrete Mathematics: Overview of sets, logic and proofs; Elementary combinations; Recurrence relations;
Relations and digraphs; Graphs, Boolean algebra; Network flows; Representation and manipulation of
imprecision.
Automata and Languages: Elements of formal languages; Syntax; Semantics and ambiguity; Regular languages
and finite state recognizes; Context free languages and pushdown recognizers; Important features of regular
and context free languages; Phase structure languages and Turing machines.
From computation to languages: Finite state transducers; Turing machines as computers; Dimensions of
computation; Limits of computation and the scope of phrase structure languages.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Other References
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, "Introduction to Automata Theory, Languages, and
Computation", Second Edition, Prentice-Hall, 2001
Peter Dehning, Jack B. Dennis, “Machines, Languages and Computation”, Second Edition, Prentice-Hall, 1978
Harry R. Lewis, Christos H. Papadimitriou, "Elements of the theory of computation", Second Edition, Prentice-
Hall, 1998
Purpose
The purpose of this course is to provide an integrated view of the various facets of software development on
such systems: hardware architectures, programming languages and models, software development tools,
software engineering concepts and design patterns, performance modeling and analysis, experimenting and
measuring.
Course Content
Principles of modern parallel and distributed systems; Architectures of shared-memory multiprocessors and
scalable multiprocessors; Multi-computer systems including cluster, Non-Uniform Memory Access (NUMA)
architecture and grids; Basic communication operations, performance and scalability analysis of parallel
systems; Parallel algorithms; Load balancing; Applications of parallel processing; Programming assignments
involving the use of these parallel systems for application problem solving using one or more parallel
programming environments (Parallel Virtual Machine, Message passing Interface, Java).
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Grama, A. Gupta, G. Karypis and V. Kumar, Introduction to Parallel Computing (Second Edition).
PearsonAddison-Wesley, 2003. 0 201 64865 2.
Other References
“Advanced Computer Architecture: Parallelism, Scalability, Programmability”, by Kai Hwang, McGraw Hill 1993.
As youcan see this is a bit old but has many of the fundamentals of the field.
“Scalable Parallel Computing: Technology, Architecture, Programming” Kai Hwang and ZhiweiXu, McGraw Hill
1998.
”Introduction to Parallel Computing,” second edition AnanthGrama Gupta, Karypis, Kumar, Pearson, Adison
Wesley, 2003.
“Principles and Practices of Interconnection Networks,” William J. Dally and Brian Towles, Morgan Kaufmann
2003.
Purpose
The purpose of this course is to provide a broad and rigorous introduction to the theory, methods and
algorithms of multi-agent systems
Course Content
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Instructional Material and/or Equipment
Core Reference
Y. Shoham and K. Leyton-Brown, Multiagent Systems: Algorithmic Game-Theoretic, and Logical Foundations,
Cambridge University Press, 2009.
Other References
N. Nisan, T. Roughgarden, E. Tardos, and V. Vazirani (Eds.), Algorithmic Game Theory, Cambridge University
Press, 2007.
Purpose
The purpose of the course is to provide students with a balanced view and deeper understanding of
developing information systems strategy and managing information systems from organisational and technical
perspectives so that they have a theoretically sound, but nevertheless practically oriented foundation, from
which to successfully tackle information systems projects, initiatives and implementations.
1. Communicate the importance of information systems in an organization, and the role they play in the various
functional areas of a business.
2. Identify the importance of aligning the information systems strategy with the overall organizational strategy,
and ensuring the information technology assets are supporting the business activities and objectives.
3. Design a simple database using standardized techniques that supports key business processes
4. Recognize the key elements in an organization’s information infrastructure, and how they are combined to
meet an organization’s information needs.
5. Determine the information users’ needs for data, information and knowledge, including creating a plan to
support decision making within the organization.
Course Content
Introduction to strategic management; Information Systems (IS) resource management; IS strategic planning
and implementation; Leadership and the IS function; Emerging issues in IS strategic management
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Other Resources
Carr, N. G. (2003). IT Doesn't Matter. Harvard Business Review (May - 2003), 41-49., N. G. (2003). IT Doesn't
Matter. Harvard Business Review, 81(5), 41-49.
Davenport, T. H., Barth, P., & Bean, R. (2012).How big data is different. MIT Sloan Management Review, 54(1), p.
22-24.
Beath, C., Becerra-Fernadez, I., Ross, J., & Short, J. (2012). Finding value in the information explosion. MIT Sloan
Management Review, 53(4), 18-20.
Buchanan, L., & O'Connell, A. (2006). Brief History of Decision Making. Harvard Business Review (January -2006),
32-41.
Swanson, E. B. (2012).The manager’s guide to IT innovation waves. Sloan MIT Management Review . Vol. 53
No.2. 75-84.
Dlamini, M. T. (2009).Information security: The moving target. Computers & Security, 28, 189–198.
McAfee, A., &Brynjolfsson, E. (2008). Investing in the IT That Makes a Competitive Difference. Harvard Business
Review (July - 2008), 98-107.
Purpose
The course is meant to help the students understand the fundamentals of BPR and appreciate how the overall
business environment influences BPR
Understand how business processes can be radically improved, dramatically reducing process cycle time and
cost, and improving the quality of the process products or outcomes.
Model and develop improved business processes that require IT and organizational redesign
Course Content
Introduction to business process reengineering (BPR); Process Concepts, System Thinking, System Dynamics;
Key Issues Around BPR and the Evolution of BPR; Principles and Tactics of Process Redesign; Restructuring and
Reconfiguring; Changing Information Flows around the Process;
Principles and Tactics for Changing Knowledge Management around the Process; Scoping an Enterprise Process;
Operationalize Process Performance Targets; Define Process Boundaries; Identify Key Process
Issues; Understand Known Best Practices and Define Initial Visions; Outline Data Collection Plan and Collect
Baseline Data; Process Scoping Report. Information and Communications Technology (ICT): Role in BPR, Enabler
of BPR; ICT as Implementer of BPR; ICT Integration Options for Processes. Case Studies
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Davenport, T. H.; (1993). Process Innovation: Reengineering Work through Information Technology, Harvard
Business School Press, 1993.
Other References
1. Rigby, D.; Bilodeau, B. (2005). The Bain 2005 Management Tool Survey; Strategy & Leadership; 2005; Vol. 33,
Number 4; pg. 4.
2. Farr, J.; Sauser,B.J.; Jain, R.; Verma, D. (2005). Engineering Management Education - Technology Integration,
Manufacturing, or the Management of Engineers and Scientists?
3. Al-Shammari M. (2005). Assessing the learning experience in a business process re-engineering (BPR) course
at the University of Bahrain.; Business Process Management Journal; 2005; 11, 1; pg. 47.
4. Winter, R. (2002). An Executive MBA Program in Business Engineering: A Curriculum Focusing on Change;
Journal of Information Technology Education, Volume 1 No. 4; 2002
5. Hammer, M. (1990). Reengineering Work: Don’t Automate, Obliterate; Harvard Business Review, July -
August, 1990.
6. Hammer, M.; Champy, J. (1993). Reengineering The Corporation. A Manifesto for Business Revolution; Harper
Collins Publshers, 1993.
7. Hammer, M.; (1996). Beyond Reengineering: How the Process-Centered Organization Is Changing Our Work
and Our Lives, New York: HarperCollins Publishers, Inc., 1996.
8. Champy, J.; (1995). Reengineering Management: The Mandate for New Leadership, New York: HarperCollins
Publishers, Inc., 1995.
9. Davenport, T.; Short, J. E.; (1990). The New Industrial Engineering: Information Technology And Business
Process Redesign Sloan Management Review. Summer 1990.Vol. 31, Iss. 4; p. 11.
10. Davenport, T. (1993). Need radical innovation and continuous improvement? Integrate process
reengineering and TQM; Planning Review; 0094-064X, May-June 1993 v21 n3 p6(7).
Purpose
The main Purpose of the course is to get student to think constructively and analytically about how to design
and evaluate interactive technologies. Basically, the course will introduce them to key areas, theoretical
frameworks, approaches and major developments in HCI
Demonstrate an understanding of guidelines, principles, and theories influencing human computer interaction.
Design mock ups and carry out user and expert evaluation of interfaces.
Carry out the steps of experimental design, usability and experimental testing, and evaluation of human
computer interaction systems.
Course Content
User interface engineering: user-centred design and evaluation methodologies, architectures, input/output
modes (including multi-modal) and devices, development environments, interface managers, construction skills;
Human computer interface guidelines, principles and standards; interaction styles, metaphors and conceptual
models; User models: human psychology and actions, ergonomics, human information processing; Human-
computer applications: including virtual and connected environments (inc. mobile), games, visualisation,
multimedia, affective computing, systems for users with special needs; Usability engineering and evaluation.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Dix, Alan; Finlay, Janet; Abowd, Gregory; and Beale, Russell, “Human-
Other References
Purpose
The purpose of the course is to allow students develop an appreciation for the need for Simulation and to
develop capacity in simulation model building
Solve real world problems which cannot be solved strictly by mathematical approaches.
Use of logical and Mathematical models to represent and simulate events and processes as well as computer,
information, and communication systems; Introduction to computer modeling techniques and discrete-event
simulation; Model development and testing; Output and problem analysis; Application of techniques to a
multiprocessor system model and an Ethernet model. Examination of development programs such as GPSS,
SIMULA, and SIMSCRIPT
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
W. David Kelton, Randall P. Sadowski and David T. Sturrock, Simulation with Arena, Third Edition, McGraw-Hill
Higher Education, 2004.
Other References
Averill Law and Averill M. Law, Simulation Modeling and Analysis with ExpertÖt Software, Forth Edition,
McGraw-Hill Higher Education, 2007.
Daniel Maki and Maynard Thompson, Mathematical Modeling and Computer Simulation, Thomson Corporation,
2006.
Hans P. M. Veeke, Simulation Integrated Design for Logistics, DUP Science, 2003.
Philip H. Anderson, David A. Beveridge, Timothy W. Scott and David L. Hofmeister, Threshold Competitor: A
Management Simulation, Version 3:0, Prentice Hall, 2003.
Purpose
This course provides students with an introduction to the principles of geographic information systems (GIS)
and remote sensing, and the application of these techniques to the environmental and life sciences
1. Demonstrate the understanding and working knowledge of Geographic Information Systems (GIS).
2. Apply the physics of remote sensing to the major remote sensing systems that are in operation today.
3. Demonstrate the understanding of current research, technology and policy developments in the GIS/RS area
and their potential applications to environmental and sustainability issues.
Course Content
Functionality and applications of a Geographical Information System (GIS). GIS - 2D, 3D, 4D (3D + time);
Characteristics of spatial data; Models of spatial information; Spatial relationships and algorithms; Spatial
analysis (such as route planning, map overlay, buffer zoning, etc.); Database models for spatial data; Errors in
spatial data; Sources of raster spatial data and introduction to remote sensing; Sources of vector spatial data;
Ethical issues and spatial data. Cartographic communication - the display of spatial data; Coordinate systems
and map projections; Remote sensing, Geo-Database Management Systems (spatial Abstract Data Types,
spatial indexing, etc), Mobile GIS" (location based services, combination with positioning, such as GPS, Galileo,
etc.).
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Anderson., J. M. and E. M. Mikhail. , 1985, Introduction to Surveying, New York, McGraw Hill Book Co.
Other References
Berry., J. K.,.1993, Beyond Mapping : Concepts, Algorithms and Issues in GIS. GIS World Inc. Colorado.
Bracken., I., and Webster, C., 1989, Information Technology for Geography and Planning, London, Routeledge.
Burrough., P.A , 1983, Geographical Information, Systems for Natural Resources Assessment, New York, Oxford
University Press.
Chrisman., N.R., 1997, Exploring Geographic Information Systems, Wiley, New York.
ICS 821: DATA WAREHOUSING AND DATA MINING
Purpose
The course provides the learners with skills required to develop and apply critical thinking, problem-solving, and
decision-making skills in data warehousing and data mining.
Interpret the contribution of data warehousing and data mining to the decision support level of organizations
Categorize and carefully differentiate between situations for applying different data mining techniques: mining
frequent pattern, association, correlation, classification, prediction, and cluster analysis;
Course Content
Data warehousing: Introduction to Data Warehouse Terminology, Goals of a Data Warehouse Data Warehouse
Architecture, Data Warehouse Infrastructure.
Data mining: Particular emphasis will be placed on data mining models, data mining functions and data mining
techniques. On-line Analytical Processing (OLAP); Nature of Real-world data; Statistical methods; Machine
Learning model; Data mining examples will be used through out the course to illustrate the concepts. Trends in
Data mining and knowledge discovery.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Jiawei Han, MichelineKamber, and Jian Pei. Data Mining: Concepts and Techniques (3rd ed.). Morgan Kaufmann,
2012. ISBN 978-0-12-381479-1.
Other References
Ian H. Witten, Eibe Frank, and Mark A. Hall. Data Mining: Practical Machine Learning Tools and Techniques (3rd
ed.). Morgan Kaufmann, 2011. ISBN 978-0-12-374856-0.
Purpose
This purpose of this course is to review concepts, theory, methodologies and techniques discussed in the IS
security literature and current practice. Students will undertake case studies exercises using the University's
computing facilities and laboratories to provide them with a better understanding of computerized security
techniques used in practice.
Demonstrate an in-depth understanding of the tasks and knowledge expected of a world class information
systems auditor.
Analyze security threats and risks in the usage of a given information system
Course Content
Concepts and levels of security; Security planning; Analysis of security threats and risks. Security policies; Design
issues in security systems; Security controls; Implementation and monitoring of security systems; Information
systems audit.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
The IT Regulatory and Standards Compliance Handbook: How to Survive Information Systems Audit and
Assessments ISBN-10: 1597492663
Other References
CISA Certified Information Systems Auditor Study Guide: Certified Information Systems Auditor Study Guide
ISBN-10: 0470231521
Purpose
The purpose of the course is to identify and articulate situations, reasons, problems, solutions in computer
privacy and security and to distinguish the needs of the different parties having a stake in the privacy/security of
a computer system.
Understand professional, ethical, legal, security and social issues and responsibilities
Analyze local and global impact of computing on individuals, organizations and society
Course Content
Focus on issues that involve computer impact on society and related concerns; Transitional data flow; copyright
protection; Information as a source of economic power; rights to access computer systems; computer crime;
data privacy; establishing national priorities in the technical and social aspects of computing; current and
anticipated uses of computer prediction; and protection of personal ethical concerns; National Computer
policies of Japan, France, Britain, USA and the European Economic Community; The status of the regulation and
emerging markets; e-governance.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Sara Baase, A Gift of Fire: social, legal, and ethical issues for computing and the Internet, 4th ed., Pearson
Prentice Hall, 2013.
Other References
Informatics and the Digital Society: Social, Ethical and Cognitive Issues, Tom J. van Weert (Editor), Robert K.
Munro (Editor) Springer; 2008 ISBN-10: 1402073631 11
Virtual Shadows - Your Privacy in the Information Society, Karen Lawrence Oqvist. British Informatics Society Ltd
(January 5, 2009) ISBN-10: 1906124094
Smith, H. J., Dinev, T., and Xu, H. 2011. The Information Privacy Research: An Interdisciplinary Review, MIS
Quarterly, Theory and Review, (35:4) pp. 989-1016 with Appendix pages A-A27
Dinev, T., Hart, P., Mullen, M. 2008. Internet privacy concerns and beliefs about government surveillance - an
empirical investigation, Journal of Strategic Information Systems, 17, 3, 214-233
Purpose
The course is relevant to all professions associated with the introduction of complex human-made systems:
project managers, engineers, quality assurance representatives, integrated logistic support practitioners,
operators, managers, maintainers, and so on, from students to professionals, from novices to experienced
practitioners, from technical to non-technical people
Judge the applicability of any proposed process, strategy, or methodology for systems engineering using the
fundamental concepts from disciplines such as probability, economics, and cognitive science.
Apply systems engineering tools (e.g., requirements development and management, robust design, Design
Structure Matrix) to realistic problems.
Course Content
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
INCOSE Systems Engineering Handbook, v3.2. San Diego, CA: INCOSE, 2010
Other References
Miller, John. QBQ! The Question Behind the Question: Practicing Personal Accountability at Work and in Life.
East Rutherford, NJ: Putnam Publishing Group, 2004. ISBN: 9780399152337.
Altshuller, Genrich, Dana W. Clarke, Uri Fedozeev, and Steve Rodman. 40 Principles: TRIZ Keys to Innovation.
Worcester, MA: Technical Innovation Center, Inc., 2005. ISBN: 9780964074057.
Purpose
The course allows students to gain skills and knowledge required to implement and structure distributed
systems programs; write programs that can interoperate using well-defined protocols and debug highly
concurrent code that spans multiple programs running on multiple cores and machines
Demonstrate an understanding of the fundamental technical challenges in advanced distributed systems design
and implementation
Write programs that can interoperate using well-defined protocols and debug highly concurrent code that spans
multiple programs running on multiple cores and machines
Analyze distributed computing models and implement typical algorithms used in distributed systems and
distributed applications in cloud infrastructure.
Course Content
The fundamental challenges in the design, implementation and deployment of large-scale distributed systems:
connection establishment, event handling, inter-process communication, storage management, static and
dynamic component configuration, concurrency and synchronization; Distributed objects issues: mobility,
security, naming, location, evolution, autonomy and negotiations; Focus on practical solutions using the latest
server-side and middleware technology.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Buyya, R., Broberg , J., and Goscinski, A.M., Eds. 2011. Cloud Computing: Principles and Paradigms.John Wiley &
Sons. ISBN: 978-0-470-88799-8 (e-book)
Other References
Cafaro , M., and Aloisio, G., Eds. 2011. Grids, Clouds and Virtualization. Springer. ISBN: 978-0-85729-048-9 (e-
book)
Tanenbaum, A.S., and van Steen, M. 2007. Distributed Systems: Principles and Paradigms (Second ed.). Prentice-
Hall. ISBN: 978-0-13-239227-3
Purpose
The course is meant to expose students to an in-depth understanding of specialist bodies of knowledge within
the network performance discipline.
1. Develop an understanding of modern network architectures from a design and performance perspective.
2. Demonstrate the understanding of major concepts involved in wide-area networks (WANs), local area
networks (LANs), Wireless LANs (WLANs) and Wireless Sensor Networks (WSNs).
Course Content
Analysis of communication network design and performance; Queuing and blocking analysis of queues with
general arrival and service distributions; Network traffic characterization. Self-similar traffic. Service disciplines;
Quality of service characterization and analysis; are event analysis using large deviation theory; Network of
queues; Theory of reversibility of queuing networks; Network design and optimization; Covex programming;
Network economics; Bandwidth and quality of service pricing; Simulation models; Performance measurements.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
Other Reference
http://www.tcpipguide.com/free/index.htm
Purpose
The course is intended to give students a thorough introduction to the topic of distributed algorithms with
emphasis on principles and theory
Demonstrate the understanding of the concepts that underlie distributed computing systems along with the
design and implementation issues.
Demonstrate practical skills which involves client/server communication, remote procedure call (RPC/RMI),
multicasting, consistency, P2P algorithms, cloud computing; and platforms such as PlanetLab for distributed
services and MS Azure for cloud computing.
Course Content
Review of Distributed computing systems concepts and design; Basic algorithms and message passing models;
Leader election and symmetry breaking; Mutual exclusion in Shared memory. Distance computation and
spanning trees; Fault-tolerance Consensus protocols; Causality and time; Distributed computing simulation.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Distributed Systems: Concepts and Design, 5/e, George Coulouris, Jean Dollimore, Tim Kindberg and Gordon
Blair, ISBN 0- 13-214301-1, Addison-Wesley, 2011.
Other References
Reliable Distributed Systems: Technologies, Web Services, and Applications, Kenneth P. Birman, ISBN 0-387-
21509-3, Springer Verlag, 2005.
Distributed Systems, 3rd Edition, SapeMullender, Addison Wesley, 1998. Distributed Algorithms, Nancy Lynch,
ISBN 978-1-55860-348-6, Morgan Kaufmann, 1996.
Distributed Systems: Principles and Paradigms, 2/e, Andrew S. Tanenbaum, Maarten van Steen, ISBN 0-13-
239227-5, Prentice Hall, 2007.
Purpose
This course introduces students to computer networks and concentrates on building a firm foundation for
understanding Data Communications and Computer Networks
High-speed network protocols, such as frame relay, Asynchronous Transfer Mode (ATM) and high speed Local
Area Networks. Wireless systems. Wireless Protocols: mobile Internet Protocol (IP), Wireless Application
protocol (WAP), etc. Congestion and traffic management.Scheduling Algorithms: Buffer management,
bandwidth management, admission control.Traffic Regulation/Shaping. Flow Control: Rate Based, Credit
based. Network routing protocols: overview of graph theory and least-cost paths; interior, exterior routing
protocols and multicast. Quality of service (QoS): integrated and differentiated services, QoS protocols.
Compression: information theory, loss-less and lossy compression. Emerging technologies.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Other References
Purpose
The course is meant to expose students to the latest developments in digital signal processing applications and
research
Signals and Signal Processing; Discrete-Time Signals and Systems in Time Domain; The Discrete-Time Fourier
Transform (DTFT) and The Discrete Fourier Transform (DFT); The Z-transform. Transform Analysis of Linear
Time-Invariant (LTI) Systems; A/D, D/A Converters and Digital Processing of Continuous-Time Signals; Digital
Filter Design; The DFT, The Fast Fourier Transport (FFT) and The Digital Spectral Analysis; Theory & Applications
of Non-uniformly Sampled Signals.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
DSP First: A Multimedia Approach, McClellan, Schafer, and Yoder, Prentice-Hall, 1998. Other References
H. Sayed, Lecture Notes on Discrete-Time Signal Processing, available online on course website.
Purpose
Explain and apply the fundamental concepts and terminology of real-time systems
Course Content
Introduction to and characterization of real-time systems, time-critical systems, fault tolerance and fault
recovery, feedback and control theory and techniques, robotics, application to selected areas; Hardware and
software fault-tolerance.
Development: modeling issues, modeling process, tools, modeling techniques, implementation modeling
heuristics, process and task stage heuristics, module stage tools.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
MicroC/OS-II The Real-Time Kernel, 2nd edition, by Jean J. Labrosse, CMP Books, 2002, ISBN No: 1-57820-103-9
Other References
G.C. Buttazzo, “Hard real-time computing systems, predictable scheduling – algorithms and applications”,
Springer, 2011, ISBN 978-1-4614-0676-1 (3nd edition)
R.J. Bril, E.F.M. Steffens, and W.F.J. Verhaegh, Best-case response times and jitter analysis of real-time tasks,
Journal of Scheduling, 7(2): 133-147, 2004
J.A. Stankovic, Real-Time Computing, Byte, pp. 155 – 160, August 1992.
Purpose
The purpose of this course is to help students develop competence in analysis, design, and evaluation of new
technologies in computer architecture. This course serves students in two ways. For those who will continue in
computer architecture, it lays foundation of state-of-the-art techniques implemented in current and future
high-performance microprocessors and multiprocessors. It helps the students develop understanding of
engineering trade-offs in the design of computers. For those students not continuing in computer architecture,
it helps them to gain understanding of fundamental architectural principles and the techniques in today’s
computers and their interplay with software.
1. Understand how parallel computers work and how to analyze the correct designs of parallel architectures,
especially within the technological constraints.
Course Content
Review of the von Neumann model and its limitations; Parallel Computer Models.Performance and Scalability;
Hardware Technologies; Processors and Memory Hierarchy; Parallel memory organizations; Bus. Cache and
Shared-Memory; Pipelining and Super scalar Techniques; Parallel and Scalable Architectures: vector, array and
Symmetric Multiprocessor systems; Cluster and grid computing architectures; Non-Uniform Memory Access
(NUMA) architectures.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core Reference
“Parallel Computer Organization and Design”, Michel Dubois, MuraliAnnavaram, and Per Stenstrom, Cambridge
University Press, 2012.
Other References
“Advanced Computer Architecture: Parallelism, Scalability, Programmability”, by Kai Hwang, McGraw Hill 1993.
As youcan see this is a bit old but has many of the fundamentals of the field.
“Scalable Parallel Computing: Technology, Architecture, Programming” Kai Hwang and ZhiweiXu, McGraw Hill
1998.
”Introduction to Parallel Computing,” second edition AnanthGrama Gupta, Karypis, Kumar, Pearson, Adison
Wesley, 2003.
“Principles and Practices of Interconnection Networks,” William J. Dally and Brian Towles, Morgan Kaufmann
2003.
Purpose
The purpose of this course is to enable learners overcome challenges and take opportunities in fault tolerance
computing.
Understand techniques to model faults and know how to generate tests and evaluate effectiveness
Evaluate reliability of systems with permanent and temporary faults; determine applicability of these forms of
redundancy to enhance reliability: spatial, temporal, procedural
Assess the relation between software testing and residual defects and security vulnerabilities.
Course Content
Need for reliability; Reliability Concepts and measures: Component faults, System failures, Synchronous and
asynchronous systems, Failures and fault tolerance, Redundancy; Fault tolerance using active
replication/primary replication; Agreement in faulty systems; Forward and backward error recovery; Reliability
of mobile computing systems
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
ParagLala: "Fault tolerant and Fault Testable Digital Design"; (Prentice Hall International). It is not available from
the publisher. The instructor has a few copies of this text which may be borrowed.
Other References
Purpose
Introduce students to both the theory, and the practice of machine learning
Understand a range of machine learning algorithms along with their strengths and weaknesses.
Course Content
Pattern Recognition: Introduction; Fundamental problems in pattern recognition; Design concepts and
methodologies; Examples in automatic pattern recognition systems; Pattern recognition: input vectors, distance
measures/metrics; Decision functions; Linear and generalized decision functions; Cluster analysis; Pattern
classification by likelihood functions. Trainable pattern classifiers - the deterministic and statistical approach.
Definition and concepts in Machine Learning; Learning models. Adaptive learning: Artificial Neural networks,
instance-based systems, decision trees, version spaces, etc. Explanation based learning models: inductive and
deductive systems, fuzzy logic models. Concepts of knowledge discovery and data mining.
Applications and trends: Machine Learning for Bioinformatics, Machine Learning for Natural Language
Processing.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Other References
1. Richard O. Duda, Peter E. Hart, David G. Stork. Pattern classification (2nd edition). Wiley, New York, 2001.
Purpose
To develop broad understanding of the issues in developing and analyzing evolutionary computation systems,
and to develop a deeper understanding of evolutionary computation topic through an in-depth research project
Identify EAs suitable for solving different types of problems, and how to apply EAs to optimisation, machine
learning, or design tasks.
Course Content
Introduction to genetic algorithms; in search, optimization, and machine learning; Mathematical foundations;
implementation of a genetic algorithm; Parameter representation; Advanced operators and techniques in
genetic search. Genetic Programming; Evolutionary Programming; Evolutionary strategies; Applications of
genetic-bases machine learning.Applications and trends.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Abraham, A., L. Jain, and R. Goldberg, 2005. Evolutionary multiobjective optimization: theoretical advances and
applications. Springer Verlag London Limited, Printed in USA, ISBN 1852337877.
Other References
Ghaemi, S., M.T. Vakili, and A. Aghagolzadeh, 2007. Using a genetic algorithm optimizer tool to solve university
timetable scheduling. 9th International Symposium on Signal Processing and Its Application. pp. 1-4, ISBN: 978-
1-4244-0778-1
Opera, M., 2006. Multi-agent system for university course timetable scheduling. The 1st International
Conference on Virtual Learning, pp. 231-237
Purpose
This course is about a variety of ways to represent human languages (like English and Chinese) as computational
systems, and how to exploit those representations to write programs that do neat stuff with text and speech
data, like translation, summarization, extracting information, question answering, natural interfaces to
databases, and conversational agents.
Demonstrate the understanding of approaches to discourse, generation, dialogue and summarization within
NLP.
Apply machine learning techniques used in NLP, including hidden Markov models and probabilistic context-free
grammars, clustering and unsupervised methods, log-linear and discriminative models, and the EM algorithm
within NLP.
Course Content
Introduction; Words: Regular expressions and automata; Morphology and finite state transducers;
Computational phonologies and text-to-speech; Probabilistic models of pronunciation and spelling; N-grams;
Features and unification; Lexicalized and probabilistic parsing; Language and complexity.
Semantics: Representing meaning; Dialogue and conversational agents; Natural language generation; Machine
translation.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Jurafsky, David, and James H. Martin. Speech and Language Processing: An Introduction to Natural Language
Processing, Computational Linguistics and Speech Recognition. Upper Saddle River, NJ: Prentice-Hall, 2000.
ISBN: 0130950696.
Other References
Manning, Christopher D., and HinrichSchütze. Foundations of Statistical Natural Language Processing.
Cambridge, MA: MIT Press, 1999. ISBN: 0262133601
Purpose
This course introduces fundamental concepts and methods for bioinformatics and the advanced applications
Course Content
Methods for analysing biological sequences and structures; Methods for comparing multiple sequences and
structures; Methods for description and discovery of similarities in sequences and structures; how these can be
used in classification and prediction of structures; Introduction to phylogeny is given; the same are bio-
informatics methods related to sequencing.
Mode of Delivery
The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.
Mode of assessment
Continuous Assessment 50 %
Total 100 %
Core References
Bioinformatics: Sequence and Genome Analysis. David W. Mount. CSHL Press, 2001
Other References
Bioinformatics: A Practical Guide to the Analysis of Genes and Proteins, Second Edition -- by Andreas D.
Baxevanis (Editor), et al
Purpose
Provide a technically oriented scientific graduate education for individuals who are motivated to extend their
computer science expertise and education or to acquire new technical and scientific skills in the discipline of
computer science.
Offer students opportunities to study the philosophical and theoretical foundations underlying the discipline.
Offer students a solid background in core areas and exposure to cutting-edge research in computer science.
By the end of the project, a student should be able to solve in a scientific way a discovered problem emerging
from any of the following areas: distributed systems, artificial intelligence, computer architecture, information
systems, human computer interface, software engineering and scientific computing
Course Description
The Project will be undertaken from at least one of the following areas of specialization namely: distributed
systems, artificial intelligence, computer architecture, information systems, human computer interface,
software engineering and scientific computing. The Project topic will be chosen in consultation with the
supervisors and will need to be approved by the School of Computing and Informatics Board.
Purpose
Provide a technically oriented scientific graduate education for individuals who are motivated to extend their
computer science expertise and education or to acquire new technical and scientific skills in the discipline of
computer science.
Offer students opportunities to study the philosophical and theoretical foundations underlying the discipline.
Offer students a solid background in core areas and exposure to cutting-edge research in computer science.
By the end of the project, a student should be able to solve in a scientific way a discovered problem emerging
from any of the following areas: distributed systems, artificial intelligence, computer architecture, information
systems, human computer interface, software engineering and scientific computing
Course Description
The Project will be undertaken from at least one of the following areas of specialization namely: distributed
systems, artificial intelligence, computer architecture, information systems, human computer interface,
software engineering and scientific computing. The Project topic will be chosen in consultation with the
supervisors and will need to be approved by the School of Computing and Informatics Board.
Doctor of Philosophy in Computer Science Programme
The Ph.D. in Computer Science is based on strong belief and conception to orient candidates to the informed
and critical application of knowledge to problems, challenges, innovation, new advances and entrants to issues
concerning Computing as a discipline and its application in real and theoretical arena
The advancement of development in developing and developed economies is driven by professionals with
advanced knowledge and skills that are relevant in areas identified as priority. This requires training students to
the highest level of knowledge and skills relevant for advancement of existing knowledge and new identified
areas. This programme is intended to serve the objectives of training Computer Science professionals for the
industry very well. With diminishing scholarship programmes and the growing need for the training of
Computer Science professionals, there has been need to start local training programmes at the postgraduate
level. It is partly in order to address this challenge that this Ph.D. programme is proposed.
The goal of this programme is to train high calibre manpower locally, regionally and internationally in the area
of Computer Science. Locally, this manpower would help to steer the country towards industrialization as per
the current Government’s industrialization vision. This is owing to the critical role of science and technology,
and particularly information technology, to national development. A graduate of the Ph.D. programme will,
among others, be able to join research groups in Information Systems or Computer Science at universities or in
industry, and teach information systems and/or computer science programmes at both undergraduate and
postgraduate levels.
To serve national and regional development needs with respect to staff development
To provide high quality training in computer science and information systems locally and internationally.
This shall include face to face consultations between supervisors and candidates, proposal writing, data
collection and analysis, thesis and publications writing and presentations, seminars and workshops attendance
and presentations, thesis presentations and defense at relevant University boards.
To be eligible for registration for the Doctor of Philosophy programme, a candidate must be a holder of a
Master of Science in Computer Science or a Master of Science in Information Systems of Embu University
College or a holder of an equivalent qualification, recognized by Senate, from another institution.
The applicant for enrollment to the programme shall be granted provisional admission letter.
The provisionally admitted candidate shall be required to develop an acceptable research proposal before being
substantively admitted and enrolled as a doctoral student.
Subject to the approval of Senate, the Department may require the candidate to attend such a course or
courses in the candidate’s academic area of study or to endow the candidate with specialized skills or
knowledge to assist him in his study or research. Performance in courses offered may be assessed in accordance
to University Regulations on Examinations
A candidate shall carry out supervised thesis research in his/her chosen or guided area of study for a minimum
of six semesters and a maximum of twelve semesters.
An extension of the registration period may be granted by Senate to satisfactory reason being presented by the
candidate
No Exemption shall be given for the programme unless provisions are made for option of course work with
approval of senate
Request for credit transfer should be made in writing to dean of school after admission.
The portion of the programme on which credit transfer is sought shall not exceed 49% of the programme
The portion of the programme for which transfer is sought shall be limited to proposal writing/approval for
commencement of data collection and preliminary data collection subject to approval of the Senate.
The candidate seeking credit transfer shall meet all prescribed cost of the university
The student shall be responsible for proposal development, data collection, and thesis development under the
guidance of allocated qualified University Supervisor(s)
The student shall be assessed, as shall be determined from time to time, by the Board of Examiners in
accordance to Postgraduate Studies regulations
To qualify for award of degree, the candidates shall fulfilled all the requirements as outlined in the
Postgraduates studies regulations
2.8.7 Management and Administration of the Programme
The chairman of the department shall oversee implementation of the programme. An academic leader shall be
responsible of the programme implementation, review and development. He or She shall be responsible of
students’ guidance in the programme. The program shall be subjected to internal quality assurance as
determined by the University organs.
The University will establish the following research groups that represent the broad areas of research:
i) Distributed Systems
In addition to the areas stipulated above, other research areas shall be incorporated from time to time as
recommended by the Board of Postgraduate Studies and approved by Senate.