0% found this document useful (0 votes)
5 views

Comp Science

The document outlines the courses offered for the Bachelor of Science in Computer Science program, detailing common university courses, core program courses across four years, and elective options. Each course includes course codes, titles, and the number of contact hours, with a total of 45 hours per course unit. Additionally, it describes the program's duration, structure, and assessment methods, emphasizing the importance of various mathematical and programming concepts.

Uploaded by

joemwirichia831
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Comp Science

The document outlines the courses offered for the Bachelor of Science in Computer Science program, detailing common university courses, core program courses across four years, and elective options. Each course includes course codes, titles, and the number of contact hours, with a total of 45 hours per course unit. Additionally, it describes the program's duration, structure, and assessment methods, emphasizing the importance of various mathematical and programming concepts.

Uploaded by

joemwirichia831
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 126

2.

10 Courses Offered for the programme

2.10.1 Programme courses for Bachelor of Science in Computer Science

2.10.1 COMMON UNIVERSITY COURSES

Course Code Course Title Hours

CCS001 Communication Skills 45

CCS010 HIV/AIDS 45

CCS009 Economics 45

2.10.2 CORE PROGRAMME COURSES

Year I (Compulsory Units)

Semester I

Course Code Course Title Hours

CSC111 Introduction to Computer Systems 45

CSC112 Introduction to Programming 45

CSC113 Discrete Mathematics 45

CSC114 Differential and Integral Calculus 45

Semester II

Course Code Course Title Hours

CSC121 Programming and Problem-solving 45

CSC122 Database Systems 45

CSC123 Data Communications 45

CSC124 Probability and Statistics 45

CSC125 Linear Algebra 45

CSC126 Physics for Computing Systems 45

Year II (Compulsory Units)

Semester I
Course Code Course Title Hours

CSC211 Data Structures and Algorithms 45

CSC212 Systems Analysis and Design 45

CSC213 Computer Architecture 45

CSC214 Digital Electronics 45

CSC215 Introduction to Artificial Intelligence 45

CSC216 Assembly Language Programming 45

CSC217 Web Programming and Applications 45

Semester II

Course Code Course Title Hours

CSC221 Object-oriented Analysis Design and Programming 45

CSC222 Automata Theory 45

CSC223 Operating Systems 45

CSC224 Software Engineering 45

CSC225 Computer Networks 45

CSC226 Computer Systems and Networking Lab 45

CSC227 Programming Project 45

Year III (Compulsory Units)

Semester I

Course Code Course Title Hours

CSC311 Analysis and Design of Algorithms 45

CSC312 Artificial Intelligence Programming 45

CSC313 Foundations of Human Computer Interaction 45

CSC314 Computer Graphics 45

CSC315 Distributed Systems 45

CSC316 Introduction to Organizations and Management 45


Semester II

Course Code Course Title Hours

CSC321 ICT Project Management 45

CSC322 Network and Distributed Programming 45

CSC323 Machine Learning 45

CSC324 User-centred Development and Evaluation 45

CSC325 Management Information Systems 45

CSC326 Compiler Construction 45

Year IV

Semester I

Course Code Course Title Hours

CSC411 Computer Network Security 45

CSC412 Knowledge-based Systems 45

CSC413 Principles of Business Management and Entrepreneurship 45

CSC414 ICTs and Society 45

CSC416 Computer Systems Project 45

Elective 1 (from group I Electives) 45

Semester II

Course Code Course Title Hours

CSC416 Computer Systems Project 135

Elective 2 (from group II Electives) 45

Elective 3 (from group II Electives) 45

Elective 4 (from group II Electives) 45

Electives

Group I Electives

Course Code Course Title Hours

CSC421 Introduction to Language Technologies 45


CSC422 Design Thinking 45

CSC423 Wireless Networks and Mobile Computing 45

Group II Electives

Net-centric Computing

Course Code Course Title Hours

CSC431 Network Management 45

CSC432 Service-oriented Computing 45

CSC433 Multimedia Technologies 45

Intelligent Systems

Course Code Course Title Hours

CSC441 Knowledge Engineering and Society 45

CSC442 Knowledge Discovery and Data Mining 45

CSC443 Advanced Language Technologies 45

CSC444 Multi-agent Systems 45

Information Systems

Course Code Course Title Hours

CSC451 Distributed Databases 45

CSC452 Information Systems Control and Audit 45

CSC453 Social Network Computing 45

CSC454 Strategic Information Systems 45

Computer Architecture

Course Code Course Title Hours

CSC461 Performance Modelling 45

CSC462 Advanced Computer Architecture 45

CSC463 Embedded Systems 45

Human Computer Interaction

Course Code Course Title Hours


CSC471 Interaction Design for Collaboration and Communication 45

Graphics and Visual Computing

Course Code Course Title Hours

CSC481 Computer Games Programming 45

10.2. Course Matrix for Learning Outcomes

Learning Year 1 Year 2 Year 3 Year 4


Outcomes

Courses Lecture Courses Lecture Courses Lecture Courses Lecture


hours hours hours hours

PROGRAMME LEARNING OUTCOMES

PLO 1 CCS001 45 Hrs CSC215 45 Hrs CSC322 45 Hrs CSC411 45 Hrs

CSC111 45 Hrs CSC216 45 Hrs CSC323 45 Hrs CSC412 45 Hrs

CSC124 45 Hrs CSC217 45 Hrs CSC324 45 Hrs

CSC125 45 Hrs CSC221 45 Hrs

PLO 2 CCS010 45 Hrs CSC211 45 Hrs CSC314 45 Hrs CSC413 45 Hrs

CSC112 45 Hrs CSC212 45 Hrs CSC315 45 Hrs

CSC123 45 Hrs CSC225 45 Hrs CSC321 45 Hrs

PLO 3 CCS009 45 Hrs CSC213 45 Hrs CSC313 45 Hrs CSC414 45 Hrs

CSC121 45 Hrs CSC214 45 Hrs CSC316 45 Hrs CSC416 45 Hrs

CSC122 45 Hrs CSC226 45 Hrs CSC325 45 Hrs

PLO 4 CSC113 45 Hrs CSC222 45 Hrs CSC311 45 Hrs CSC416 45 Hrs

CSC114 45 Hrs CSC223 45 Hrs CSC312 45 Hrs

CSC126 45 Hrs CSC224 45 Hrs CSC326 45 Hrs

CSC227 45 Hrs

SPECIALIZATION LEARNING OUTCOMES

LANGUAGE TECHNOLOGIES
SPO1 1 CSC421 45 Hrs

SPO 2 CSC422 45 Hrs

CSC423 45 Hrs

NET-CENTRIC COMPUTING

SPO2 1 CSC431 45 Hrs

CSC433 45 Hrs

SPO2 1 CSC432 45 Hrs

INTELLIGENT SYSTEMS

SPO3 1 CSC441 45 Hrs

CSC443 45 Hrs

SPO3 2 CSC442 45 Hrs

CSC444 45 Hrs

INFORMATION SYSTEMS

SPO4 1 CSC451 45 Hrs

CSC452 45 Hrs

SPO4 2 CSC453 45 Hrs

CSC454 45 Hrs

COMPUTER ARCHITECTURE

SPO5 1 CSC461 45 Hrs

SPO5 2 CSC462 45 Hrs

CSC463 45 Hrs

HUMAN COMPUTER INTERACTION & GRAPHICS AND VISUAL COMPUTING

SPO6 1 CSC471 45 Hrs

SPO6 2 CSC481 45 Hrs


2.11 DURATION AND STRUCTURE OF THE PROGRAMME

The course shall extend over a minimum period of 8 semesters and a maximum period of 16 semesters.

Each academic year shall have at least two 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 Industrial Attachment shall be equivalent to two (2) course units.

The Fourth Year Project shall be equivalent to four (4) course units.
2.12 COURSE DESCRIPTION

CSC111: INTRODUCTION TO COMPUTER SYSTEMS – 3 Hours

Purpose of the course

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.

Expected Learning Outcomes of the Course

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 external and internal representation of data

Describe the diverse areas of application of computers and computer systems.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Multimedia Technology

White Boards

Marker pens

Computer Software: MS Word, MS Excel, Ms Access

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%


Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

Computing Essentials, complete edition by Timothy J. O’Leary & Linda I. O’Leary. McGraw-Hill Higher Education
2007. ISBN: 978-0-07-351670-7.

CSC112: INTRODUCTION TO PROGRAMMING - 3 HOURS

Purpose of the course

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

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe basic programming concepts and constructs

Demonstrate proficiency in use of a selected high-level procedural programming language.

Apply programming concepts and tools in developing simple programs

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment


Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Programming in C’’ by Stephan Kochan, third edition, Sams Publishing, 2005.

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.

Recommended Reference Materials

Beginning Programming for Dummies, 4th Edition, Wallace Wang, John Wiley & Sons (2006), 0470088702, 978-
0470088708

CSC113: DISCRETE MATHEMATICS - 3 HOURS

Purpose of the course

The purpose of the course is to equip the learner with the mathematics related to the field of digital
electronics.

Expected Learning Outcomes of the Course

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.

Construct simple mathematical proofs

Explain and analyze logical arguments and logical constructs

Explain and analyze sets, functions, and relations.

Describe and analyze computer programs in a formal mathematical manner

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

Lectures and Tutorials.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

Molluzo and Buckley – A first course in Discrete Mathematics, Any publisher or course pack

Stanat and McAllister – Discrete Mathematics in Computer Science.

L. Lovasz, J. Pelikan, K. Vestergombi – “Discrete Mathematics”, Springer 2003

CSC114: DIFFERENTIAL AND INTEGRAL CALCULUS - 3 HOURS

Purpose of the course

To introduce fundamental mathematical concepts and properties in calculus which are


applicable to a computer Scientist

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Distinguish between various types of numbers.

Apply basic geometric concepts such as Pythagoras theorem.

Differentiate standard functions.

Integrate standard functions.


Course Content

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

Lectures and Tutorials

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Differential and Integral Calculus, Vol. One Paperback – June 13, 2010 by Richard Courant ISBN-13: 978-
4871878388 ISBN-10: 4871878384

Recommended Reference Materials

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

CCS 001: Communication Skills

Purpose of the course

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.

Expected Learning Outcomes

At the end of the course, the learner should be able to:-

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

Apply critical thinking skills in evaluating concepts

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

Lectures, Class discussions and presentations

Instructional Materials and/or Equipment

Lecturer notes, Text books, journals, Projectors, White boards and Marker pens

Course Assessment

Type Weighting

Examination 70%

Continuous Assessment Tests 30%

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.

Journal of Communication Management, Emeraldsight, ISSN 1363 254X

Language and Communication, Elsevier, ISSN 072105309

Unit Title

CCS 009: Elements of Economics

Course Purpose

The course provides the learner with an introduction to the basic elements of modern economics and their
application to economic decision making

Expected Learning Outcomes

By the end of this course, the student is expected to be able to:

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.

Instructional Materials and or/equipment

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%

Continuous Assessment Test (CAT) 30%

Total marks 100%

Core Reading materials

Maddala G.S. (2007) microeconomics, Theory and applications, McGraw-Hill.

Nicholson, W. (1992): Microeconomic Theory: Basic principles and extensions, 5th edition, San Diego, Dryden
Press

Koutsoyiannis, A. (1979): Modern Microeconomics, 2nd edition, Macmillan

Mansfield, E, (1991): Microeconomic theory/applications, 7th edition, New York, Norton

Recommended Reference Materials

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

CCS 010: HIV and AIDS

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.

Course learning outcomes

By the end of the course unit the learners should be able to

Differentiate sexuality and sexually transmitted diseases

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

Describe government policies and impact of AIDS in present society

Describe the relationship of HIV and Aids and Drug Abuse

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

Text books, whiteboard, handouts, overhead projector

Course evaluation

Type Weighting

Examination 70%

Continuous Assessment Test (CAT) 30%

Total marks 100%

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

Simberkoff, M. S. (1999) Clinical Infectious Diseases, 2nd Edition

Sen, A. (2000) Development As Freedom; New York

Recommended References

Current HIV/AIDS Reports, Springer, ISSN (Online) 1548 3568, (Print)1548 3576

HIV/AIDS Reviews, Elsevier, ISSN 1730 1270

Journal of HIV and AIDS, Sciforschen Publications, ISSN 2380 5536

CSC121: PROGRAMMING AND PROBLEM- SOLVING - 3 HOURS

Pre-requisite

CSC112: Introduction to Programming

Purpose of the course

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

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and explain advanced programming concepts and constructs.

Demonstrate good programming practices.

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

Lectures, Tutorials and Labs.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

King, K. N. (2008). C Programming: A Modern Approach, Second Edition. Toronto: W. W. Norton & Company.

Recommended Reference Materials

Deitel. (2004). C How to Program - 5th Edition; Published by Prentice Hal, ISBN 0-13-240416-8.

Internet Resources

CSC 122: DATABASE SYSTEMS - 3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the goals, roles, applications, of database systems.

Demonstrate a detailed understanding of the principles and techniques of database systems design.

Demonstrate a detailed understanding of Relational Database Management Systems (RDMS).

Describe, analyze and apply SQL and other selected database tools.

Specify, design and develop databases for a variety of applications.

Course Content

An Overview of Database Systems. Database Architecture and its Environment.Entity-Relationship


Modeling.Normalization.Relational Database Systems.Introduction to SQL. File Organization for Physical
Database De-sign. Database security.Transaction processing. Query processing.

Mode of Delivery
Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Fundamentals of Database Systems by Ramez Elmasri and Shamkant B. Navathe, Addison-Wesley

Recommended Reference Materials

Database Systems: A Practical Approach to Design, Implementation, and Management, Thomas M. Connolly,
Carolyn E. Begg, Addison-Wesley Pub Co, ISBN: 0201342871

CSC 123: DATA COMMUNICATION - 3 HOURS

Purpose of the course

The purpose of this course is to expose students undertaking the Bachelor Science in Computer Science to the
basic concepts of data communication.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the generic components of a data communications system.

Describe the various transmission media their characteristics and applications.

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

Lecture, Practicals, Discussion, Exercises and assignments


Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Data and Computer Communications 8th Edition by William Stallings

Farouzan B. A. (2005). Data Communications and Networking. 4th Ed. New Delhi: Tata McGraw-Hill Publishing
Company Limited, ISBN 0-07-063414-9

Recommended Reference Materials

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

CSC124: PROBABILITY AND STATISTICS - 3 HOURS

Pre-requisites

CSC113: Discrete Mathematics

Purpose of the course

This course is an introduction to probability and statistics. Students will be introduced to


organizing data, descriptive statistics, and inferential statistics while incorporating problem solving and critical
thinking skills to real life situations

Expected Learning Outcomes of the Course

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

Lectures and Tutorials

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

A First Course in Probability 4th ed. by Sheldon M. Ross; MacMillan, Publishing Company 2010, ISBN:
0024038725. ISBN-13: 9780024038722.

Recommended Reference Materials

Elementary Probability, 2nd Ed; D. Stirzaker; 2003. Cambridge, Cambridge University

CSC125 LINEAR ALGEBRA -3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Explain the elements of predicate and propositional logic.

Formulate and analyze logical constructs

Apply graph theory in real-life situations.


Course Content

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens, Computers

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Friedberg, Linear Algebra, 4th Edition, Prentice Hall, 2003

Recommended Reference Materials

Hoffman, D. and R. Kunze, Linear Algebra, Prentice-Hall, Englewood Cliffs, NJ

CSC 126: PHYSICS FOR COMPUTING SYSTEMS – 3 Hours

Prerequisites

CSC113: Discrete Mathematics

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Describe applications of magnetism, electronics and waves in computing systems.

Explain the impact of advances in semiconductor electronic technology on computing systems.


Course Content

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Morris Mano, Digital Design, 4th Edition

Digital Fundamentals with VHDL, Thomas L. Floyd, Prentice Hall, 2003 (recommended).

Digital Design, Practices and Principles, John Wakerly, Fourth Ed., Prentice Hall (prescribed

Recommended Reference Materials

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

CSC211: DATA STRUCTURES AND ALGORITHMS – 3 Hours


Pre-requisites

CSC121: Programming and Problem-solving

Purpose of the course

This course unit is designed to focus on implementation and mathematical analysis of fundamental data
structures and algorithms

Expected Learning Outcomes of the Course

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Cormen, Leiserson, and Rivest- Algorithms

Recommended Reference Materials

Anany Levitin – Introduction to the design and analysis of algorithms

CSC 212: SYSTEM ANALYSIS AND DESIGN – 3 Hours


Purpose of the course

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

Expected Learning Outcomes of the Course

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.

Describe, analyze and compare various systems acquisition alternatives.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials


Systems Analysis and Design. 3rd Edition. Shelly Cashman, Rosenblatt. ISBN. 0789542668

Systems Analysis and Design for the Global Enterprise by Lonnie D. Bentley p.160 7th edition

CSC213: COMPUTER ARCHITECTURE – 3 Hours

Pre-requisites

CSC111: Introduction to Computer Systems

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Describe the organization of secondary storage and input-output subsystems.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%


End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

John L. Henessy, David A Patterson: Computer Architecture: A quantitative Approach. ISBN: 978-1558603295

CSC214: DIGITAL ELECTRONICS – 3 Hours

Pre-requisites

CSC126: Physics for Computing Systems

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Apply DeMorgan’s Theorem to simplify a negated expression.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

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.

CSC215: INTRODUCTION TO ARTIFICIAL INTELLIGENCE – 3 Hours

Pre-requisites

CSC113: Discrete Mathematics

CSC124: Probability and Statistics

Purpose of the course

To explore the idea that computers can be programmed to emulate “human-like” intelligence

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the main sub-disciplines of Artificial Intelligence.

Describe and apply the search technique as a way of solving problems in AI.

Construct applications using knowledge based techniques.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

Luger, George; Stubblefield, William (2004). Artificial Intelligence: Structures and Strategies for Complex
Problem Solving (5th ed.). Benjamin/Cummings. ISBN 0-8053-4780-1.

Artificial Intelligence: A Modern Approach, Russell and Norvig.

CSC 216: ASSEMBLY LANGUAGE PROGRAMMING – 3 Hours

Pre-requisites

CSC111: Introduction to Computer Systems

CSC121: Programming and Problem-solving

Purpose of the course

To enhance students understanding in PC hardware, using assembly language and writing, linking and executing
a program written in assembly language.

Expected Learning Outcomes of the Course

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.

Describe and be able to use assembly language instruction set

Demonstrate the implementation of standard programming constructs, including control structures and
functions, in assembly language

Develop assembly language programs to solve simple problems

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Laboratory Exercises.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Jeff Duntemann: Assembly Language Step-by-Step. Wiley, 2000. ISBN 0-471-37523-3

Robert Britton: MIPS Assembly Language Programming. Prentice Hall, 2003. ISBN 0-13-142044-5

Recommended Reference Materials

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

CSC217: WEB PROGRAMMING AND APPLICATIONS - 3 Hours


Pre-requisites

CSC123 Data Communications

Purpose of the course

Student to be able to participate in development of web-based applications

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the concept of the layered communication protocols architecture.

Describe the internetworking architecture.

Explain the client-server interaction and the socket interface. Describe the various Internet application and
services.

Describe web programming methods and tools

Apply web programming methods and tools

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Laboratory Exercises.

Case studies

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

PHP and MySQL Web Development, Welling and Thompson, Sams


Beginning PHP and MySQL: From Novice to Professional, Jason Gilmore, Apress (2008), ISBN: 1590598628, 978-
1590598627

Recommended Reference Materials

PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide, 2007, ISBN: 978-0321525994

CSC 221: OBJECT-ORIENTED ANALYSIS, DESIGN AND PROGRAMMING – 3 Hours

Pre-requisites

CSC121 Programming and problem solving

CSC211 Data structures and algorithms

Purpose of the course

The purpose of this course is to ground students to advanced concepts in object-oriented programming and in
writing more difficult/complex programs

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Demonstrate an in-depth understanding of Object Oriented paradigm and concepts

Apply object oriented concepts using a selected language e.g. Java

Develop object oriented programs using a selected OOP programming language

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment
Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Meyer, Bertrand (1988). Object-Oriented Software Construction. Cambridge: Prentise Hall International Series in
Computer Science. p. 23. ISBN 0-13-629049-3.

Recommended Reference Materials

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.

CSC 222: AUTOMATA THEORY – 3 Hours

Pre-requisites

CSC113 Discrete Mathematics

Purpose of the course

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

Expected Learning Outcomes of the Course

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.

Describe the connection between language and computation.

Develop abstract machines that demonstrate the properties of physical machines and specify the possible
inputs, processes and outputs of these machines.

Analyze the computational strengths and weaknesses 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

Lecture, Practicals, Discussion, Exercises and assignments


Tutorials

Laboratory Exercises.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

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.

CSC 223: OPERATING SYSTEMS - 3 Hours

Pre-requisites

CSC111 Introduction to Computer Systems

CSC211 Data Structures and Algorithms

Purpose of the course

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.

Expected Learning Outcomes of the Course

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall.

Silberschatz Galvin Gagne (2012). Operating Systems Concepts. New York: Wiley. ISBN 978-1118063330.

Recommended Reference Materials

Hansen, Per Brinch, ed. (2001). Classic Operating Systems. Springer. pp. 4–7. ISBN 0-387-95113-X.

CSC 224: SOFTWARE ENGINEERING - 3 Hours

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Describe and discuss current developments and trends in software engineering.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Laboratory Exercises.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Software Engineering, Sommerville, L. , Addison-Wesley 2004, ISBN: 0-201-56898-5

Software Engineering – A Practitioners Approach, Pressman, McGraw-Hill. 2005, ISBN:0-07-050814-3

Recommended Reference Materials

Fundamentals of software engineering, Ghezzi, New Delhi, India Prentice Hall of India 2003, ISBN: 8120322428

CSC 225: COMPUTER NETWORKS - 3 Hours

Pre-requisites

CSC123 Data Communications

CSC213 Computer Architecture

Purpose of the course

To expose students to practical skills in development and configuration of computer networks

Expected Learning Outcomes of the Course


At the end of this course unit, the learner should be able to:

Describe and explain fundamental generic concepts and principles in computer networking.

Describe the layered network architecture reference models

Describe and analyze common network topologies, protocols and standards.

Describe and analyze the TCP/IP architecture, its protocols and applications.

Describe and analyze contemporary network technologies.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

William Stallings, Computer Networking with Internet Protocols and Technology, Pearson Education 2004.

Shelly, Gary, et al. "Discovering Computers" 2003 Edition

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.

CSC226: COMPUTER SYSTEMS AND NETWORKING LAB - 3 HOURS

Pre-requisites

CSC123 Data Communications

CSC225 Computer Networks.

Purpose of the course

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?"

Expected Learning Outcomes of the Course

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 the hardware system of a computer.

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

Demonstrations and Hands-on practicals

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Single board microcomputer

Digital simulators e.g. Digital Works, 8086 emulators

Course Assessment
Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

M Morris Mano. Computer System Architecture. Pearson Higher Education. 1992. ISBN: 0131757385

Douglas E. Comer, Essentials of Computer Architecture, 2004, Prentice Hall.

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

CSC227: PROGRAMMING PROJECT - 3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Analyze, design, program and implement a small computer application system.

Develop a project report in line with SCI project requirements and guidelines.

Present and demonstrate a computer application system effectively

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%.

CSC 311: ANALYSIS AND DESIGN OF ALGORITHMS - 3 HOURS

Pre-requisites

CSC113 Discrete Mathematics

CSC211 Data structures and Algorithms.

Purpose of the course

To introduce the students to Algorithms Analysis and Design Techniques.

Expected Learning Outcomes of the Course

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.

Derive the time and space complexity of algorithms.

Deduce recurrence relations that describe the time complexity of recursively defined algorithms.

Describe and explain different approaches to design of 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

Lectures, Tutorials and Labs.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%


End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Anany Levitin – Introduction to the design and analysis of algorithms

Cormen, Leiserson, Rivest, and Stein – Introduction to Algorithms

Recommended Reference Materials

Cormen, Leiserson and Rivest – Algorithms

John Kleiberg – Algorithm Design

CSC312: ARTIFICIAL INTELLIGENCE PROGRAMMING- 3 HOURS

Pre-requisites

CSC113 Discrete Mathematics

CSC215 Introduction to Artificial Intelligence

CSC222 Automata Theory.

Purpose of the course

The course is meant to expose students to concepts of developing logical reasoning systems

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and explain the concepts in propositional and predicate calculus.

Apply logic-based inference strategies.

Use a logic programming language to implement logical reasoning systems.

Formulate logical reasoning strategies and models.

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

Lectures, demonstrations, tutorials and laboratory exercises

Instructional Material and/or Equipment

Use of Prolog III or Lisp in Teaching Artificial Intelligence Techniques


Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Foundations Of Logic Programming (Unknown Binding) by J.W. Lloyd

Introduction to Logic Programming Through PROLOG: The Essence of PROLOG (Paperback) by J.M. Spivey

Logic-Based Artificial Intelligence (Hardcover) by Jack Minker (Editor) published 2000

Recommended Reference Materials

Programming in PROLOG: Using the ISO Standard (Paperback) by William F. Clocksin

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.

CSC313: FOUNDATIONS OF HUMAN COMPUTER INTERACTION - 3 HOURS

Pre-requisites

CSC212 Systems Analysis and Design.

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and explain the user-centered product development process in HCI.

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.

Articulate use of vocabulary for analyzing human inter-action with software.

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

Lectures, Practical Exercises, Group Discussions and assignment, Tutorials

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

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.

CSC314: COMPUTER GRAPHICS - 3 HOURS

Pre-requisites

CSC211 Data Structures and Algorithms.

Purpose of the course

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

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Define computer graphics primitives.

Distinguish the capabilities of different levels of graphics soft-ware and describe the appropriateness of each.

Create images using a standard graphics API.

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

Lectures, Laboratory Sessions

Instructional Material and/or Equipment

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:

OpenGL - The Industry Standard for High Performance Graphics


Plot: Reads text, CSV, or binary data files. Plots functions by equations. Creates trend-lines, does forward and
reverse FFTs on selected data. Multiple axes. 2-D and 3-D plotting. Extremely scriptable.

Maple: Maple is a commercial computer algebra system.

MathCad: Simple GUI driven interface.

Mathematica: Computer algebra, statistics and numerical analysis system with general graphic language

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Edward Angel, Interactive Computer Graphics,4th ed., Addison Wesley, 2006.

Woo M, Neider J, Davis T, OpenGL Programming Guide , 6/e Addison-Wesley,

2007

Recommended Reference Materials

OpenGL: A Primer (3e), Edward Angel, Addison-Wesley, 2007. ISBN 0321398114.

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.

CSC315: DISTRIBUTED SYSTEMS - 3 HOURS

Pre-requisites

CSC223 Operating Systems

CSC225 Computer Networks

Purpose of the course

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.

Describe emerging application areas for distributed systems.

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

Lectures and Tutorials

Instructional Material and/or Equipment

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

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

G. Coulouris, J. Dollimore, T. Kindberg and G. Blair, Distributed Systems: Concepts and Design, 5/E, Addison-
Wesley, 2006, ISBN-10: 0321263545

Recommended Reference Materials

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.

CSC316: INTRODUCTION TO ORGANIZATIONS AND MANAGEMENT - 3 HOURS

Purpose of the course

The course is aimed at exposing students to important organizational issues in order to successfully derive value
from computer based systems

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Define managers and their roles in organizations.

Explain the distinction between management and leadership.

Explain the key functions of management.

Describe theories of organizations and management.

Apply tools of management in practical situations.

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

Lectures, Group discussions and presentations

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Introduction to Management Paperback – 10 Nov 2006 by Richard Pettinger (Author)

CSC321: ICT PROJECT MANAGEMENT - 3 HOURS

Pre-requisites

CSC316 Introduction to Organizations and Management.

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the project management life cycle

Explain the ICT project management process

Apply project management methodologies and tools in ICT project management

Describe ICT project management standards

Explain how to manage change associated with ICT projects

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

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%


End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

Effective Project Management (5th Edition), Robert K. Wysocki, Wiley, 2009.

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.

CSC322: NETWORK AND DISTRIBUTED PROGRAMMING - 3 HOURS

Pre-requisites

CSC221 Object-oriented Analysis, Design and Programming

CSC223 Operating Systems

CSC225 Computer Networks

CSC315 Distributed Systems.

Purpose of the course

The course provides students with knowledge of principles, mechanisms, architectures and platforms that
underpin the design and implementation of distributed systems and applications.

Expected Learning Outcomes of the Course

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

Lectures and Tutorials lectures

Instructional Material and/or Equipment

Network Teaching Lab: dual boot PCs (Windows and Linux), LANs/LAN devices (hubs, switches, and servers),
WAN devices (routers) and wireless devices.

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

G. Coulouris, J. Dollimore, T. Kindberg and G. Blair, Distributed Systems: Concepts and Design, 5/E, Addison-
Wesley, 2006, ISBN-10: 0321263545

Recommended Reference Materials

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.

CSC323: MACHINE LEARNING - 3 HOURS


Pre-requisites

CSC121 Programming and Problem Solving

CSC124 Probability and Statistics

CSC125 Linear Algebra

CSC215 Introduction to Artificial Intelligence

CSC222 Automata Theory

CSC312 Artificial Intelligence Programming.

Purpose of the course

This course provides students with an understanding of concepts of machine learning problems and how to
select effective learning algorithms.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and analyze machine learning problems.

Demonstrate ability to select effective learning algorithms.

Design machine learning systems.

Describe the nature of real-world data.

Demonstrate practical knowledge of the structure and content of learning programs.

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

Lectures, seminars, group projects and discussions, supervised laboratories.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

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.

Recommended Reference Materials

Phil Simon (March 18, 2013). Too Big to Ignore: The Business Case for Big Data. Wiley. ISBN 978-1118638170.

CSC324: USER-CENTERED DEVELOPMENT AND EVALUATION - 3 HOURS

Pre-requisites

CSC313 Foundations of Human Computer Interaction.

Purpose of the course

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.

Expected Learning Outcomes of the Course

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

Lectures, Group Discussions and Tutorials, Design case. lectures

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment
Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Alan Dix et al, Human-Computer Interaction, Third Edition by Prentice Hall (2004)

Recommended Reference Materials

Rosson, M. and Carroll, J Usability Engineering: Scenario-Based Development of Human-Computer Interaction

Nielsen, J. Usability Engineering

CSC325: MANAGEMENT INFORMATION SYTEMS - 3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Identify and describe various types of information systems.

Describe organizational and managerial foundations of information systems.

Evaluate the role of information systems in a business.

Analyze challenges posed by information systems and management solutions.

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

Lectures and Tutorials.lectures


Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Business Information Systems; Elizabeth Hardcastle; ISBN 978-87-7681-463

Recommended Reference Materials

Decision Support Systems by Power and Sharda (Springerlink)

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

CSC326: COMPILER CONSTRUCTION - 3 HOURS

Pre-requisites

CSC211 Data Structures and Algorithms

CSC213 Computer Architecture

CSC216 Assembly Language Programming

CSC222 Automata Theory

CSC223 Operating Systems

Purpose of the course

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 explain the concepts of compiler construction.

Describe and analyze software tools and techniques which are applicable both to compilers and the
implementation of system utility routines, command interpreters, etc.

Apply the tools and techniques in the construction simple compilers.

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

Lectures, Tutorials and Labs

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

Watt, David (2000). Programming Language Processors in Java. Prentice Hall. ISBN 0130257869.

CSC411: COMPUTER NETWORK SECURITY - 3 HOURS

Pre-requisites
CSC225 Computer Networks.

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and analyze security threats and vulnerability of networked systems

Describe and analyze security control mechanisms.

Undertake security analysis and apply relevant security control mechanisms.

Develop security policy and design security plans.

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

Lectures and Tutorials lectures

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

CSC412: KNOWLEDGE-BASED SYSTEMS - 3 HOURS

Pre-requisites

CSC113 Discrete Mathematics

CSC121 Programming and Problem Solving

CSC215 Introduction to Artificial Intelligence

CSC222 Automata Theory

CSC323 Machine Learning

Purpose of the course

This course exposes students to concepts of knowledge representation and expert systems using appropriate
knowledge-based software tools.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the various schemes for Knowledge Representation.

Describe and demonstrate association of knowledge representation methodologies with appropriate


application areas.

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

Lectures and Tutorials

Instructional Material and/or Equipment

Projectors, White boards and Marker pens


Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Knowledge-Based Systems. Rajendra Akerkar , Priti Sajja, 2009 , ISBN10: 0763776475.

Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Building Expert Systems. Addison-Wesley.
ISBN 0-201-10686-8.

Recommended Reference Materials

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

CSC413: PRINCIPLES OF BUSINESS MANAGEMENT AND ENTREPRENEURSHIP - 3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe and analyze the nature of entrepreneurship and management.

Analyze and discuss issues involved in developing businesses.

Describe the process of starting business ventures.

Discuss the problems faced by entrepreneurs.

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

Lectures, tutorials, case studies

Instructional Material and/or Equipment

Laboratories equipped with modern arrangements as well as with the state-of-art facilities for entrepreneurship
networking.

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

The High Tech Entrepreneur's Handbook, Ft.com. Lang, J.(2002)

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.

W.L. Peh and Y. Ng Practice of Technopreneurship, (2003), Prentice Hall.

Mankani, D.), Technopreneurship : The Successful Entrepreneur in the New Economy. (2003, Prentice Hall.

CSC414: ICTS AND SOCIETY - 3 HOURS

Pre-requisites

CSC325 Management Information Systems

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe various perspectives of ICT and of society

Demonstrate basic understanding of ethics, ethical theories and ethical decision-making

Identify ethical issues that arise in ICT development and implementation and determine how to address them

Analyze the social impacts of ICT on society

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.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials


Kenneth Einar Himma and Herman T. Tavani (eds.). The Handbook of Information and Computer Ethics. New
York: Wiley, 2008.

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.

Spinello, R.A., Ethical Aspects of Information Technology, Prentice-Hall, 1995.

CSC416: COMPUTER SYSTEMS PROJECT - 3 HOURS

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Tackle and successfully complete a computing problem of some complexity

Demonstrate experience in self-organization, project planning and control.

Implement a system prototype during the project period.

Develop and present a project report in line with SCI’s project requirements and guidelines.

Course Assessment

The project is equivalent to four (4) course units.

The project should be graded independently out of a maximum of 100 marks and the pass mark should be 40%.

CSC421: INTRODUCTION TO LANGUAGE TECHNOLOGIES - 3 HOURS

Pre-requisites

CSC121 Programming and Problem Solving

CSC124 Probability and Statistics

CSC215 Introduction to Artificial Intelligence

CSC222 Automata Theory

CSC312 Artificial Intelligence Programming

CSC323 Machine Learning.


Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Describe key linguistic concepts.

Explain the different application areas, technologies, tools and techniques applicable in language technology.

Demonstrate an in-depth grasp in one of the key LT areas.

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

Lectures, tutorials, group projects and supervised laboratories.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Recommended Reference Materials

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.

CSC422: DESIGN THINKING - 3 HOURS

Pre-requisites

Pre-requisites: CSC313 Foundations of Human Computer Interaction.

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Demonstrate ability to articulate design precedents in their own reper-toire (gambits).

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.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens


Computers (installed with C/C++ compilers))

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Visser, W. 2006, The cognitive artifacts of designing, Lawrence Erlbaum Associates.

Lupton, Ellen. Graphic Design Thinking: Beyond Brainstorming. New York, NY: Princeton Architectural Press,
2011. ISBN 978-1-56898-760-6.

Recommended Reference Materials

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

CSC423: WIRELESS NETWORKS AND MOBILE COMPUTING – 3 Hours

Pre-requisites

CSC123 Data Communications

CSC225 Computer Networks

Purpose of the course

To enhance an understanding among students of the fundamental concepts underlying current developments in
mobile applications and wireless networks.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe the lower layer issues in wireless communication systems.

Discuss the principles of Mobile Computing and its enabling technologies,

Critically analyze state of the art wireless communication systems.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.

Mobile communications; J.Schiller, ISBN: 0-321-12381-6, Addison-Wesley, 2003

Recommended Reference Materials

AS. Tanenbaum, Computer Networks, Prentice Hall PTR, 0130661023

Security in Computing (the 4th edition);Charles Pfleeger and Shari Lawrence Pfleeger

CSC431: NETWORK MANAGEMENT – 3 Hours

Pre-requisites

CSC123 Data Communications

CSC225 Computer Networks

CSC423 Wireless Networks and Mobile Computing

Purpose of the course

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:

Describe network management and the network management architecture

Explain the various functions of network management.

Demostrate in-depth theoretical and practical knowledge of network management, and in particular of SNMP
(Simple Network Management Protocol).

Compare a number of variations of the network management architecture.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Network Security, Administration and Management: Advancing Technology and Practice Dulal Chandra Kar and
MahbuburRahman Syed
Release Date: June, 2011. Copyright © 2011.384 pages.

Recommended Reference Materials

Network Management Fundamentals by Alexander Clemm

CSC432: SERVICE-ORIENTED COMPUTING– 3 Hours

Pre-requisites

CSC315 Distributed Systems


CSC322 Network and Distributed Programming

Purpose of the course

The course is intended to expose students to web-based technologies and service-oriented computing theories
for implementing service oriented architectures.

Expected Learning Outcomes of the Course

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, implement and publish autonomous, plat-form independent services.

Design and implement flexible, dynamically com-posed and agile service oriented distributed applications that
solve real life problems

Course Content

Introduction to service oriented computing paradigm; Service foundations: Service-oriented Architecture;


Realizing SOA with web services; Web services technologies: WSDL, SOAP, UDDI; Service composition; Service
management and monitoring; Developing Web services based distributed applications; Introduction to service
oriented computing applications in enterprise computing, grid computing and cloud computing.

Mode of Delivery

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Laboratory Work

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course


Service Oriented Computing and Applications Editors-in-Chief: K.-J. Lin; J.-Y. Chung Managing Director: Kuo-
Ming Chao, ISSN: 1863-2394 (electronic version)

Anthony T. Velte (2010). Cloud Computing: A Practical Approach. McGraw Hill. ISBN 978-0-07-162694-1.

Recommended Reference Materials

Norbert Bieberstein, Sanjay Bose, Marc Fiammante (2005) Service-Oriented Architecture (SOA) Compass:
Business Value, Planning, and Enterprise Roadmap, IBM Press books. ISBN 0133762904

CSC433: MULTIMEDIA TECHNOLOGIES – 3 Hours

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Develop a multimedia application of modest size.

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%
Core Reading Material for the Course

1.Encyclopedia of Multimedia Technology and Networking, Second Edition (3 Volumes)MargheritaPagani


(Bocconi University, Italy)
Release Date: August, 2008. Copyright © 2009.1756 pages.

2.Interactive Multimedia Music Technologies (Premier Reference Source) Hardcover – 31 Oct 2007 by Kia Ng
(Author)

Recommended Reference Materials

Machinery's Handbook Franklin D. JonesHenry H. Ryffel Erik Oberg

CSC441: KNOWLDEGE ENGINEERING AND SOCIETY – 3 Hours

Pre-requisites

CSC412 Knowledge-based Systems

CSC323 Machine Learning

CSC414 ICTs and Society

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Explain the relationship between knowledge engineering and national development.

Apply knowledge engineering methodologies and tools.

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

Lecture, Practicals, Discussion, Exercises and assignments

Seminars

Group Presentations

Guest Speakers

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

http://www.computer.org/web/swebok

CSC442: KNOWLEDGE DISCOVERY AND DATA MINING – 3 Hours

Pre-requisites

CSC122 Database Systems

CSC323 Machine Learning

CSC412 Knowledge-based Systems.

Purpose of the course

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.

Expected Learning Outcomes of the Course


At the end of this course unit, the learner should be able to:

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.

Analyze data mining results.

Explain and assess different data mining applications.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Case Studies

Lab exercises and assignments using data mining software.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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)

Recommended Reference Materials

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

CSC421 Introduction to Language Technologies

CSC323 Machine Learning

Purpose of the course

To equip students with LT tools and techniques and provide them with in-depth understanding of their
application areas

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Explain in-depth the LT tools and techniques.

Demonstrate practical competency in an LT application area.

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

Lecture, Practicals, Discussion, Exercises and assignments

Supervised Labs

Project

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

Topic Detection and Tracking: Event-Based Information Organization. James Allan Springer Science & Business
Media, Feb 28, 2002 - Computers - 266 pages

CSC444: MULTI-AGENT SYSTEMS – 3 Hours

Pre-requisites

CSC113 Discrete Mathematics

CSC121 Programming and Problem Solving

CSC215 Introduction to Artificial Intelligence

CSC222 Automata Theory

CSC323 Machine Learning

Purpose of the course

Introduce the student to the concept of agents and multi-agent systems, and the main applications for which
they are appropriate.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Discuss the basics of Game Theory

Explain the concept of an agent and its difference from ’objects’

Describe the features of applications that lend themselves to agent-based solutions

Describe the issues and approaches to high-level communication in multi-agent systems

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

Lecture, Practicals, Discussion, Exercises and assignments


Tutorials

Demonstrations.

Projects

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

An Introduction to MultiAgent Systems, 2nd Edition. Michael Wooldridge. May 2009, ©2009

Recommended Reference Materials

Data Mining and Knowledge Discovery Handbook. Editors: Maimon, Oded, Rokach, Lior (Eds.)

CSC451: DISTRIBUTED DATABASES – 3 Hours

Pre-requisites

CSC315 Distributed Systems

Purpose of the course

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.

Expected Learning Outcomes of the Course

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

Lecture, Practicals, Discussion, Exercises and assignments

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

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

CSC452: INFORMATION SYSTEMS CONTROL AND AUDIT – 3 Hours

Purpose of the course

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

Expected Learning Outcomes of the Course

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

Lecture, Practicals, Discussion, Exercises and assignments

Seminar by the professional bodies

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Information Systems Control and Audit. Ron Weber. Prentice Hall, 1999 - Business & Economics - 1027 pages

Recommended Reference Materials

Information Systems Control and Audit. Ron Weber, Rodger Jamieson

CSC453: SOCIAL NETWORK COMPUTING – 3 Hours

Pre-requisites

CSC217 Web Programming and Applications

Purpose of the course

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.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Define social network computing terminology.

Describe the use and applications of social network computing.

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

Lecture, Practicals, Discussion, Exercises and assignments

Laboratory

Case Studies.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Computational Social Networks. ISSN: 2197-4314 (electronic version)

Social Network Analysis for Startups: Finding connections on the social web Paperback – October 7, 2011
by MaksimTsvetovat (Author), Alexander Kouznetsov (Author)

Recommended Reference Materials

Social Network Computing Nathan Eagle and Alex (Sandy) Pentland MIT Media Lab, 20 Ames St, Cambridge, MA
02319

CSC454: STRATEGIC INFORMATION SYSTEMS – 3 Hours

Pre-requisites

CSC325 Management Information Systems.

Purpose of the course

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:

Explain information technology (IT) as a strategic resource for an Enterprise.

Explain the nature of business in competitive markets.

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

Lecture, Practicals, Discussion, Exercises and assignments

Case Studies

Active research by learners

Group discussions

Presentations

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Strategic Management of Information Systems by Gordon D. Brown, Tamara T. Stone, Timothy B.


Patrick, Tamara Stone

Strategic Information Systems Management by Kevin Grant, David Edgar,Ray Hackney

Recommended Reference Materials

Strategic Management of the Information Systems Function: Changing Roles and Planning Linkages by
Venkatraman N
CSC461: PERFORMANCE MODELLING – 3 Hours

Pre-requisites

CSC124 Probability and Statistics

CSC213 Computer Architecture

CSC225 Computer Networks

Purpose of the course

The course is aimed at enabling students understand and apply concepts, principles, methods, techniques and
tools of computer and network systems performance evaluation.

Expected Learning Outcomes of the Course

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.

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

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

Recommended Reference Materials

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

CSC462: ADVANCED COMPUTER ARCHITECTURE – 3 Hours

Pre-requisites

CSC213 Computer Architecture

Purpose of the course

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.

Expected Learning Outcomes of the Course

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 the design issues relating to the architectural options.

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

Lecture, Practicals, Discussion, Exercises and assignments


Case Studies.

Laboratory work

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

Computing Essentials, complete edition by Timothy J. O’Leary & Linda I. O’Leary. McGraw-Hill Higher Education
2007. ISBN: 978-0-07-351670-7.

CSC463: EMBEDDED SYSTEMS – 3 Hours

Pre-requisites

CSC121 Programming and Problem Solving

CSC213 Computer Architecture

CSC216 Assembly Language Programming

Purpose of the course

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.

Expected Learning Outcomes of the Course

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.

Conceive, specify and design innovative applications based on 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

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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

Recommended Reference Materials

Programming Embedded Systems in C and C++ Paperback – February 9, 1999 by Michael Barr

CSC471: INTERACTION DESIGN FOR COLLABORATION AND COMMUNICATION


– 3 Hours

Pre-requisites

CSC324 User-centred Development and Evaluation.

Purpose of the course


The course intends to expose the students to design and usability concepts to consider when developing
groupware and other group work support information systems.

Expected Learning Outcomes of the Course

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

Lecture, Practicals, Discussion, Exercises and assignments

Group Discussions and Tutorials

Design Case

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Computers

Course Assessment

Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

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.)

Recommended Reference Materials

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

CSC481: COMPUTER GAMES PROGRAMMING – 3 Hours


Pre-requisites

CSC121 Programming and problem solving

CSC125 Linear Algebra,

CSC211 Data structures and algorithms

CSC215 Introduction to Artificial Intelligence

CSC314 Computer Graphics

Purpose of the course

The course is meant to expose students to basic concepts of computer games and how to develop these games.

Expected Learning Outcomes of the Course

At the end of this course unit, the learner should be able to:

Describe developments in the computer games industry.

Describe and explain modern computer game design and implementation techniques.

Describe and explain components essential to or common in popular computer game styles.

Analyze and apply the games development tools.

Develop computer games applications.

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

Lecture, Practicals, Discussion, Exercises and assignments

Tutorials

Laboratory work

Instructional Material and/or Equipment

Projectors, White boards and Marker pens

Course Assessment
Continuous Assessment 50%

End of Semester Examination 50%

Total 100%

Core Reading Material for the Course

Beginning C++ Through Game Programming by Michael Dawson - Course Technology PTR , 2010

A Practical Introduction to 3D Game Development by Yasser Jaffal - Bookboon , 2014

Recommended Reference Materials

Data-Oriented Design by Richard Fabian - dataorienteddesign.com , 2013

Game Programming Patterns by Bob Nystrom - gameprogrammingpatterns.com , 2013

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.

The objectives of the programme are to:

Create new opportunities for postgraduate research in Computer Science

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.

Foster national and regional collaboration in Computer Science

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.

2.0 Entry Requirements

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.

3.0 Exemptions of Courses

A candidate may be exempted from some course units from institutions recognised by Senate, subject to the
following conditions:

Must have passed similar units at postgraduate level.

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.

Payment of the prescribed exemption fee.

No candidate shall be exempted for more than one third of the total number of units required in the course.

4.0 Course Structure and Duration

Each academic year shall have three semesters of 15 weeks each.

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.

The choice of the three electives shall be approved by the School.

The research project shall be equivalent to six course units.

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.0 Course Outline

5.1 Core Course Units

Code Title Hours

ICS 801 Design and Analysis of Algorithms 60


ICS 802 Research Methodology 30

ICS 803 Computer Logic and Symbolic Reasoning 60

ICS 804 Theory of Computation 60

ICS 805 Distributed and Parallel Computing 60

ICS 806 Multi-agents Systems 60

ICS 807 Information Systems Strategic Management 60

ICS 808 Business Process Re-engineering 60

ICS 809 Human Computer Interaction 60

ICS 810 Modeling and Simulation 60

5.2 Elective Course Units

Choose any three units

Information Systems Elective

Code Title Hours

ICS 820 Geographic Information Systems and Remote Sensing 60

ICS 821 Data Warehousing and Data Mining 60

ICS 822 Information Systems Security and Audit 60

ICS 823 Legal & Ethical Aspects of Computing 60

Software Engineering Electives

Code Title Hours

ICS 824 Systems Engineering 60

Distributed Systems Electives

Code Title Hours

ICS 830 Distributed Systems Design 60

ICS 831 Network Performance 60

ICS 832 Distributed Computing Algorithms 60

ICS 833 Computer Networks Design 60


Computer Architecture Electives

Code Title Hours

ICS 834 Digital Signal Processing 60

ICS 835 Real-time Systems and Embedded Systems 60

ICS 836 Advances in Parallel Computer Architectures 60

ICS 837 Fault Tolerant Computing 60

Artificial Intelligence Electives

Code Title Hours

ICS 840 Machine-Learning 60

ICS 841 Evolutionary Computation 60

ICS 842 Natural Language Processing 60

Scientific Computing Electives

Code Title Hours

ICS 843 Methods in Bioinformatics 60

5.3 Project

Code Title Hours

ICS 859 Project (Postgraduate Diploma) 120

ICS 899 Project (MSc) 360

6.0 Examination Regulations

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 pass obtained in any resubmitted project will be recorded as 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.

The grading system of individual courses will be as follows:

A 75% - 100%

B 65% - 74%

C 50% - 64%

F below 50%

A candidate who :

has failed any course or its equivalent after three attempts or

has failed to take any prescribed examination without good cause or

fails to complete the programme within twelve semesters, or

fails on second re-submission of the project

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.

7.0 Degree Award

The final degree awarded shall be Master of Science 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:

Distinction 75% - 100%


Credit 65% - 74%

Pass 50% - 64%

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.

8.0 Course Description

ICS 801: DESIGN AND ANALYSIS OF ALGORITHMS

Purpose

This course purpose it to introduce the classic algorithms in various domains, and techniques for designing
efficient algorithms.

Expected Learning Outcomes

At the end of the course the learner should be able to:

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)

Determine when to stop – lower-bounds and the theory of NP-completeness.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories


Core Reference

Introduction to Algorithms, 2nd edition, by T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. The MIT Press,
2001

Other References

S. Skiena. The Algorithm Design Manual. Springer, 2nd edition, 2008

J. Kleinberg and E. Tardos. Algorithm Design. Addison Wesley, 2005

S. Dasgupta, C. Papadimitriou, and U. Vazirani. Algorithms. McGraw-Hill, 2006

M. T. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. Wiley, 5th edition, 2010

J. Edmonds. How to Think About Algorithms. Cambridge University Press, 2008

M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Incompleteness. V. H.
Freeman, 1979

O. Goldreic. Computational Complexity: A Conceptual Perspective. Cambridge University Press, 2008 • C. H.


Papadimitriou. Computational Complexity. Addison Wesley, 1993

S. Arora and B. Barak. Computational Complexity: A Modern Approach. Cambridge University Press, 2009

ICS 802: RESEARCH METHODOLOGY

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

Expected Learning Outcomes

At the end of the course the learner should be able to:

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.

Understand the qualitative and quantitative approaches to research.

Appraise ethical issues involved in the various stages of computer science research.

Understand how to manage a business related research project.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 803: COMPUTER LOGIC AND SYMBOLIC REASONING

Purpose

Increase basic competence in quantitative reasoning and problem solving, starting at an appropriate entry level

Expected Learning Outcomes

At the end of the course the learner should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core Reference

Essential Logic: Basic Reasoning Skills for the Twenty-First Century


byRonald C. Pine, Oxford University Press, 2001

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

ICS 804: THEORY OF COMPUTATION

Purpose

To help the students to reason precisely about computation and prove mathematical theorems about its
capabilities and limitations.

EXPECTED LEARNING OUTCOMES


At the end of the course the learner should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core Reference

Papadimitriou, Elements of the Theory of Computation, Prentice-Hall, 1998

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

ICS 805: DISTRIBUTED AND PARALLEL COMPUTING

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.

Expected Learning Outcomes

At the end of the course the learner should be able to:

1. Design and analyze high performance computing algorithms

2. Understand concepts of high performance computing.

3. Implement high performance computing algorithms

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

“Parallel Computer Architecture: A Hardware/Software Approach”, by David Culler J. P. Singh, Morgan


Kaufmann, 1999.

“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.

ICS 806: MULTI-AGENT SYSTEMS

Purpose

The purpose of this course is to provide a broad and rigorous introduction to the theory, methods and
algorithms of multi-agent systems

Expected Learning Outcomes

By the end of the course, the student should be able to

1. Identify and discuss the characteristics of agent-based systems

2. Program actual agents in one multiagent environment

Course Content

Introduction to Intelligent agents: Definitions, Characteristics, Applications; Agent architectures; Agent


modelling; Distributed rational decision making, Multi-agent Systems; Inter-agent communication; Agent
interactions: Agent coordination, Agent negotiation, Game Theory; Economic models and multi-agent systems;
Multi-agent learning; Agent methodologies.

Mode of Delivery

The course will be delivered through Lectures, Tutorials, Practical demonstrations and Hands on Laboratory
sessions.

Mode of assessment

Continuous Assessment 50 %

End of Semester examination 50 %

Total 100 %
Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

M. Osborne and A. Rubinstein, A Course in Game Theory, MIT Press, 1994.

ICS 807: INFORMATIONSYSTEMS STRATEGIC MANAGEMENT

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.

Expected Learning Outcomes

At the end of the course the learners should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core Reference

Textbook Rainer, Cegielski, Splettstoesser-Hogeterp, Sanchez-Rodriguez. Introduction to Information


Systems.2nd Canadian Edition, Wiley, 2011.

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.

ICS 808: BUSINESS PROCESS RE-ENGINEERING

Purpose

The course is meant to help the students understand the fundamentals of BPR and appreciate how the overall
business environment influences BPR

Expected Learning Outcomes

At the end of the course the learners should be able to:


Understand the importance of processes and BPR and appreciate how BPR bridges the business operations and
engineering of systems.

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.

Identify business processes that are candidates for improvement

Model current business processes and diagnose problems

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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).

ICS 809: HUMAN COMPUTER INTERACTION

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

Expected Learning Outcomes

At the end of the course the learners should be able to:

Demonstrate an understanding of guidelines, principles, and theories influencing human computer interaction.

Recognize how a computer system may be modified to include human diversity.

Select an effective style for a specific application.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core Reference

Dix, Alan; Finlay, Janet; Abowd, Gregory; and Beale, Russell, “Human-

Computer Interaction”, 3rd Edition, Prentice Hall, 2004.

Other References

Usability Engineering: Scenario-Based Development of Human-Computer Interaction by Rosson, M. and Carroll,


J.

Usability Engineering by Nielsen, J.

ICS 810: MODELING AND SIMULATION

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

Expected Learning Outcomes

At the end of the course the learners should be able to:

Demonstrate skills in modeling and simulating a variety of management-related problems.

Solve real world problems which cannot be solved strictly by mathematical approaches.

Demonstrate understanding of programs such GPSS, SIMULA and SIMSCRIPT


Course Content

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 820: GEOGRAPHICAL INFORMATION SYSTEMS AND REMOTE SENSING

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

Expected Learning Outcomes


By the end of the course the learner should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

Expected Learning Outcomes

At the end of the course the learners should be able to:

Interpret the contribution of data warehousing and data mining to the decision support level of organizations

Evaluate different models used for OLAP and data pre-processing;

Categorize and carefully differentiate between situations for applying different data mining techniques: mining
frequent pattern, association, correlation, classification, prediction, and cluster analysis;

Design and implement systems for data mining

Evaluate the performance of different data mining algorithms

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 822: INFORMATION SYSTEMS SECURITY & AUDIT

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.

Expected Learning Outcomes

At the end of the course the learner should be able to:

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

Demonstrate competence in information systems audit

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core References

The IT Regulatory and Standards Compliance Handbook: How to Survive Information Systems Audit and
Assessments ISBN-10: 1597492663
Other References

IT Auditing: Using Controls to Protect Information Assets (Paperback) ISBN-10: 0072263431

CISA Certified Information Systems Auditor Study Guide: Certified Information Systems Auditor Study Guide
ISBN-10: 0470231521

ICS 823: LEGAL & ETHICAL ASPECTS OF COMPUTING

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.

Expected Learning Outcomes

At the end of the course the learner should be able to:

Understand professional, ethical, legal, security and social issues and responsibilities

Analyze local and global impact of computing on individuals, organizations and society

Recognize the need to engage in continuing professional development

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories


Core Reference

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

ICS 824: SYSTEMS ENGINEERING

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

Expected Learning Outcomes

By the end of the course the learner should be able to:

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.

Understand system engineers' role and responsibilities.

Apply systems engineering tools (e.g., requirements development and management, robust design, Design
Structure Matrix) to realistic problems.

Recognize the value and limitations of modeling and simulation.

Formulate an effective plan for gathering and using data.

Course Content

Characteristics of systems engineering; Challenges in a systems engineering project; Scope of a systems


engineering problem; Identify the stakeholders and other factors that shape the system requirements;
Emergent system properties; Identifying the real problem which the system is intended to solve; Technological
and economic considerations in the design process; Interactions between a system and its environment;
Integrating the system with existing 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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 830: DISTRIBUTED SYSTEMS DESIGN

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

EXPECTED LEARNING OUTCOMES

By the end of the course the learner should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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

ICS 831: NETWORK PERFORMANCE

Purpose

The course is meant to expose students to an in-depth understanding of specialist bodies of knowledge within
the network performance discipline.

Expected Learning Outcomes

By the end of the course, the learner should be able to:

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).

3. Demonstrate network programming skills using TCP/IP.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core Reference

Data Communications and Networking, 3/e, Behrouz A Forouzan.

Other Reference

The TCP/IP Guide, by Charles M. Kozierok, Free online Resource,

http://www.tcpipguide.com/free/index.htm

ICS 832: DISTRIBUTED COMPUTING ALGORITHMS

Purpose

The course is intended to give students a thorough introduction to the topic of distributed algorithms with
emphasis on principles and theory

EXPECTED LEARNING OUTCOMES

At the end of the course the learners should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 833: COMPUTER NETWORK DESIGN

Purpose

This course introduces students to computer networks and concentrates on building a firm foundation for
understanding Data Communications and Computer Networks

Expected Learning Outcomes

At the end of the course the learners should be able to:

Demonstrate an in-depth understanding of computer network design issues.

Demonstrate an understanding of Network Security and Mobile Communications.

Analyze a network in terms of performance metrics such as quality of service


Course Content

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core References

Computer Networks (4th edition), Andrew Tanenbaum, Prentice Hall

Other References

1. Computer Networking and the Internet (5th edition),FredHalsall, Addison Wesley

2. Data Communications and Networking (4th edition), BehrouzForouzan, McGraw Hill

3. TCP/IP Protocol Suite (3rd edition), BehrouzForouzan, McGraw Hill

ICS 834: DIGITAL SIGNAL PROCESSING

Purpose

The course is meant to expose students to the latest developments in digital signal processing applications and
research

Expected Learning Outcomes

At the end of the course the learners should be able to:

Analyze and manipulate digital signals

Demonstrate understanding of digital signal processing using MatLab programming


Course Content

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core References

DSP First: A Multimedia Approach, McClellan, Schafer, and Yoder, Prentice-Hall, 1998. Other References

Interactive Digital Signal Processing Laboratory, http://www.ee.ucla.edu/~dsplab.

H. Sayed, Lecture Notes on Discrete-Time Signal Processing, available online on course website.

ICS 835: REAL TIME AND EMBEDDED SYSTEMS

Purpose

Develop an understanding of the technologies behind the embedded computing systems

Expected Learning Outcomes

At the end of the course the learners should be able to:

Explain and apply the fundamental concepts and terminology of real-time systems

Explain and address the fundamental problems of real-time systems;

Analyze real-time systems designs

Design a real-time system

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

ICS 836: ADVANCES IN PARALLEL COMPUTER ARCHITECTURES

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.

Expected Learning Outcomes


At the end of the course the learners should be able to:

1. Understand how parallel computers work and how to analyze the correct designs of parallel architectures,
especially within the technological constraints.

2. Design the computer systems of the future

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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.

“Parallel Computer Architecture: A Hardware/Software Approach”, by David Culler J. P. Singh, Morgan


Kaufmann, 1999.

“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.

ICS 837: FAULT TOLERANT COMPUTING

Purpose

The purpose of this course is to enable learners overcome challenges and take opportunities in fault tolerance
computing.

Expected Learning Outcomes

At the end of the course the learners should be able to:

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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

PankajJalote: "Fault Tolerance in Distributed Systems" (Prentice Hall)


Daniel J. Sorin. "Fault Tolerant Computer Architecture." Synthesis Lectures on Computer Architecture, Morgan
& Claypool Publishers, 2009.

ICS 840: MACHINE LEARNING

Purpose

Introduce students to both the theory, and the practice of machine learning

Expected Learning Outcomes

At the end of the course the learners should be able to:

Formulate machine learning problems corresponding to different applications.

Understand a range of machine learning algorithms along with their strengths and weaknesses.

Understand the basic theory underlying machine learning.

Apply machine learning algorithms to solve problems of moderate complexity.

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.

Learning Paradigms: Supervised, unsupervised and Reinforcement learning.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories


Core References

Mitchell Tom. Machine Learning.McGraw Hill, 1997.

Other References

1. Richard O. Duda, Peter E. Hart, David G. Stork. Pattern classification (2nd edition). Wiley, New York, 2001.

2. Machine Learning, Tom Mitchell, McGraw Hill, 1997, ISBN 0-07-042807-7.

ICS 841: EVOLUTIONARY COMPUTATION

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

Expected Learning Outcomes

At the end of the course the learners should be able to:

Demonstrate the understanding of various evolutionary computation techniques

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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

ICS 842: NATURAL LANGUAGE PROCESSING

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.

Expected Learning Outcomes

At the end of the course the learners should be able to:

Demonstrate the understanding of approaches to syntax and semantics in NLP.

Demonstrate the understanding of approaches to discourse, generation, dialogue and summarization within
NLP.

Apply the current methods for statistical approaches to machine translation.

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.

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

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

ICS 843: METHODS IN BIOINFORMATICS

Purpose

This course introduces fundamental concepts and methods for bioinformatics and the advanced applications

Expected Learning Outcomes

By the end of the course the learner should be able to:

Explain historical perspective to the field of bioinformatics

Demonstrate understanding of the key methods and tools used in bioinformatics

Demonstrate skills in the usage of Whitehead’s bioinformatics server

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 %

End of Semester examination 50 %

Total 100 %

Instructional Material and/or Equipment

White board marker and White board, computer laboratories

Core References

Bioinformatics: Sequence and Genome Analysis. David W. Mount. CSHL Press, 2001

Other References

Developing Bioinformatics Computer Skills -- by Cynthia Gibas,

Bioinformatics: A Practical Guide to the Analysis of Genes and Proteins, Second Edition -- by Andreas D.
Baxevanis (Editor), et al

ICS 859: PROJECT (POSTGRADUATE DIPLOMA)

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.

Provide students with the tools needed to compete in any marketplace.

Expected Learning Outcomes

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.

ICS 899: PROJECT (MSC)

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.

Provide students with the tools needed to compete in any marketplace.

Expected Learning Outcomes

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

2.2. Programme Philosophy

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

2.3. Rationale of the Programme

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.

2.4. Goal of the Programme

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.

2.5. Expected Learning Outcomes of the Programme

To provide a progression path for graduates of our MSc. (Computer Science)

To facilitate research at the University;

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.

2.6 Mode of Delivery of the programme

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.

2.7. Eligibility for Registration

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.

2.8. Regulations for the Degree of Doctor of Philosophy


2.8.1. Registration as a Doctoral Student

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

2.8.2. Thesis Research

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.

2.8.3. Extension Regulations

An extension of the registration period may be granted by Senate to satisfactory reason being presented by the
candidate

2.8.4. Regulations for Credit Transfer and Exemptions

2.8.4.1. Regulations for Exemption

No Exemption shall be given for the programme unless provisions are made for option of course work with
approval of senate

2.8.4.2. Regulation for Credit Transfer

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

2.8.4. Course Requirements

The student shall be responsible for proposal development, data collection, and thesis development under the
guidance of allocated qualified University Supervisor(s)

2.8.5 Student Assessment Criteria

The student shall be assessed, as shall be determined from time to time, by the Board of Examiners in
accordance to Postgraduate Studies regulations

2.8.6 Graduation Requirements

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.

2.8.8 Courses Offered for the programme

The University will establish the following research groups that represent the broad areas of research:

i) Distributed Systems

ii) Software Engineering

iii) Management Information Systems

iv) Artificial Intelligence

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy