CS Curriculum
CS Curriculum
Faculty of Engineering
October 2008
Curriculum of Computer science 4 - Years Degree (Regular)
1. BACKGROUND
The rapid growth in the development of computer hardware, software, information technology
and its widespread applications in all aspects of life created a considerable demand for computer
graduates in all specializations. Computer science is concerned with the study of the hardware,
software, and theoretical aspects of high-speed computing devices and with the application of
these devices to scientific, technological, and business problems. A bachelor’s degree gives
students a basic understanding of computer science. After completing a required set of
fundamental courses, students arrange their subsequent work around one of several upper
division emphases within either computer science or an interdisciplinary area involving
computer applications. The degree prepares students for graduate work or for various industrial,
governmental, and business positions involving the use of computers.
The program outlined below is therefore prepared partly in response to the initiative and partly
to address the ever-increasing demand for Computer professionals in the various sectors by
producing skilled workforce capable of taking up positions at various levels in the areas of
software engineering, database management and networking. It is designed for offering in four
years after freshman year or in line with the new education policy where students are expected
to join departments of their choice after completing 10+2.
2. Rationale
The basic rationale for program is the prevailing conditions in the Country with respect to the
needs for professionals in this area and the future trends that are developing in the demands
for the profession. The Department has been keenly following the developments in this regard
both within the Country and internationally and the following provide some of the major facts
and observations on which these programs premised.
Over these years the undergraduate instructions have significantly developed - reflecting both
the national needs and the rapid growth of the discipline - and have now reached a point where
graduates of its undergraduate program are equipped with sufficient theoretical and practical
skills that would enable them to be engaged in work.
Ethiopia, like many of the developing countries, is essentially a user of products of computer
technology. The current undergraduate program, which has matured through a series of
evolutionary changes over the years, is designed so as to meet the needs of the main employers
of the graduates in the operation and maintenance of electrical and electronic equipment and
machines. To meet these needs the program is made broad enough to cover most major. But it
has now become necessary to look ahead to the future needs of the country and provide
educational means to meet these needs.
The convergence of computers & communication technologies has made it imperative to provide
education that imports knowledge & skill in these two fields concurrently.
The training provided should be versatile and enables graduates to work in research, design,
development, manufacturing, quality control, marketing, sales and technical support, and as
entrepreneurs, consultants and teachers.
3. Program Objectives
The primary objective of the program is to produce a high quality graduate with an
entrepreneurial and problem-solving mindset. The specific objectives of the program are:
- Educating and training students for the very dynamic and rapidly changing science and
technology market.
- Educating and training students to become life-long learners by providing them with a
sound base in computer science, basic sciences as well as general education.
- Motivating students to become innovators who can respond very positively to the
challenges and opportunities presented by new ideas and technologies.
- Laying a strong foundation for, and instilling confidence in students who may want to
pursue post-graduate studies later in life.
- Provide students with computer knowledge and academic background based on
internationally recognized academic standards.
- Encourage research and development in computer related fields.
- Provide an environment in which students are exposed to the ethical and legal
- Issues that is associated with the computing field.
- Offer staff members a motivating environment within which they can be a tutor,
researcher, trainer, expert and practitioner
4. Staff Profile
5. Graduate Profile
The Graduate of the Program would be able to:
1. Elicit/determine user information requirements.
2. Continue their studies in advanced concepts in the field of Computer Science.
3. Design, develop and maintain application software.
4. Design, set up and administer computer networks.
The department concerned with all of the outcomes suggested in the curriculum guide line
document of computing programs.
Knowledge and understanding of the essential facts, concepts, principles and theories
relating to computer science.
A good knowledge of how knowledge and understanding of essential facts, concepts,
principles and theories relating to computer science can be used to model and design
computer system.
An in depth understanding the appropriate theory, practices, languages and tools that may be
deployed for specification, design, implementation, and evaluation of software systems.
Knowledge of how to present succinctly (orally, electrically or in writing) rational and
reasoned arguments that address a given problem to be solved by computer.
An ability to apply knowledge of computing and mathematics appropriate to the discipline.
An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution.
Specify, design and construct computer systems in a manner that is both innovative and
creative.
Critically evaluate and analyze computer systems (including any risks or safety aspects that
may be involved in their operation).
Deploy effectively the tools used for the construction and documentation of computer
systems, with practical emphases on understanding of the whole process involved in the
effective deployment of computers to solve practical problems.
7. Teaching/Learning strategies:
Cognitive abilities: The knowledge required for the basic topics is obtained via Lectures,
exercises, practical, assignments and project work. Appropriate IT and other software
packages are taught. Practical demonstrator and project supervisors advise students, and
feedback is provided on all continually assessed work. As the course progresses students are
expected to show greater initiative.
Practical Abilities: Practical abilities are developed mostly through the “project stream”
which commences in the first year of study with small individual exercises, continues into
the second year and third year with a group project and is completed in the final year with an
individual project. The further development of the program practical skills also forms part of
other streams of study making up the program.
Transferable Skills: Software tools are taught partly in lectures, mainly through practical
sessions and assignments. Data skills are acquired in laboratory and projects, as are team
working, time management and presentations. Use of information resources, such as the
library and IT methods experienced through projects and assignments.
8. Academic Requirements
8.1. admission Requirements
General National University Entry Requirement
8.2. Duration of the Study
• Students will not take different Computing courses at their high school study
• The nature of the discipline needs many practical works
Considering the above facts, program objectives and graduate profile, under normal
circumstances, four years of study are required to complete the program.
8.3. Assignment of Course Code
The course coding system has the following features
• The first four English letters(the first capital letter) represents the degree programme,
e.g. Comp represents Computer Science
• The three numeric letters represented by XYZ, represent the course number and reveals
the following features
o The first number represents the year i.e. 1 for 1st Year, 2 for 2nd Year and so on.
o The second number represents the course module names as given below.
o The third number represents the semester. If it is odd like 1, 3,…, it designate a
first semester course and if it is even like 2,4,…, it reveals that the course is given
in the second semester.
The course required for the completion of B. Sc. Degree in computer Science is divided into 10
categories based on their characteristics as described below.
0. General
a. Computer Science
1. Programming
a. Fundamentals of Programming I
b. Fundamentals of Programming II
c. Object Oriented Programming
d. Advanced Programming
e. System Programming
f. Internet Programming
g. Visual Programming
2. Information Management/Database Management
a. Fundamentals of Database Systems
b. Advanced Database Systems
c. Information Storage and Retrieval
d. Introduction to Data Mining and Data Warehousing
3. System Development and Software Engineering
a. Software Engineering
b. System Analysis and Design
c. Requirement Engineering
d. Software Project Management
4. Communication and Networking
a. Data Communications and Computer Networks
b. Advanced Computer Networking
c. Computer Security
d. Wireless Communications & Mobile Computing
e. Introduction to Distributed Systems
f. Parallel Computing
5. Algorithms
a. Data Structure and Algorithms
b. Analysis of Algorithm
6. Hardware
a. Computer Organization and Architecture
b. Micro Processor and Assembly Language
c. Logic Design
d. Systems Simulation and Modeling
e. Operating Systems
7. Intelligent Systems
a. Introduction to Artificial Intelligence
b. Neural Network
c. Expert Systems
8. Theoretical Concepts
a. Automata & Formal Language
b. Principles of Compiler Design
c. Complexity Theory
Practical Abilities: Practical Abilities are assessed mostly by continuous assessment. Some of
practical abilities are assessed as part of group project module.
Transferable skills: some skills, like the use of software tools and ability to communicate orally
and in written form are directly assessed, in assignments or projects, other skills are not
directly assessed but their effective use will enhance the students overall performance.
Evaluation will be done based on the midterm exam, assignments, laboratory sessions
demonstrations, Project work, and final exam and etc
የ ሳ ይን ስ ባ ችለ ር ዲግሪ በ ኮ ምፒዩ ተር ሳ ይን ስ
9. Mechanisms of Quality Assurance
To guarantee the quality and standard of the programme the following must be considered:
• The quality of staff.
• Feedback from employers and graduates.
• Examinations and various assessment methods of courses.
• Regular evaluation of the programme.
• Periodical acquisition of appropriate textbooks/references, laboratory equipment,
application software, etc.
10. List of Courses
Common Courses
S.$o Course Title Course Credit
Code hour
1 Introduction to Civics and Ethics Cvet 100 2
2 Entrepreneurship and Small Business Mgmt Ieng 452 3
3 Sophomore English Enla 201 3
4 Business Communication skills Mgt 100 2
5 Technical Report Writing Enla 300 2
Total 12
Elective I
S. Course Title Course Credit Lec Lab Tut
No Code Hours
1 Introduction to Distributed Systems Comp 443 3 2 3 0
2 Introduction to Data Mining and Data Comp 423 3 2 3 0
Warehouse
3 E-Commerce Comp 435 3 3 0 0
4 Selected Topics in Computer Science Comp 403 3
5 Expert Systems Comp 473 3 2 3 0
Elective II
Course Title Course Code Credit hours Lec Lab Tut
Parallel Computing Comp 446 3 3 0 0
Information Storage & Retrieval Comp 424 3 2 3 0
Visual Programming Comp 414 3 2 3 0
Neural Networks Comp 472 3 2 3 0
Multimedia Systems Comp 486 3 2 3 0
Wireless communications & mobile computing Comp 446 3 2 3 0
Year I, Semester I
Year I, Semester II
o Course ame Course Credits Pre-requisites
Code
Total Lect Lab Tut
1 Fundamentals of Programming Comp 112 3 2 3 - Comp 111
II
2 Discrete Structure Math 397 3 2 - 3 None
3 Electronics Eeng 202 3 2 3 - Eeng 201
4 Probability and Statistics Stat 276 3 2 - 3 None
5 Reasoning Skills (Logic) Phil 100 2 2 - - None
6 Logic Design Comp162 3 2 3 0 None
Semester Total 17 12 9 6
Semester Total
Total 19 14 12 3
Year I, Semester I
Total 11 8 9 0
Year V, Semester I
o Course ame Course Credits Pre-requisites
Code
Total Lect Lab Tut
Year V, Semester II
Course Objective At the end of the course the students should be able to:
• Explain foundation concepts and principles of computer science;
• Explain fundamental computer programming principles, methodologies, and
techniques; and
• Explain basic concepts of programming in general.
Course Description
Introduction to PC Applications; an overview of Computer Science; historical
development of computers; logical organization of a computer system; data
representation inside computers; computer arithmetic; computer system
architecture; system software (operating software, language software...); problem-
solving using computers; programming concepts; programming using C/C++
Course Outline
Chapter 1: Overview
1.1 Introduction to PC Applications
1.2 An overview of Computer Science
1.3 Historical development of computers
Chapter 2: Components of a Computer System
2.1 Logical organization of a computer system
2.2 Computer Hardware
2.3 Computer Software
Chapter 3: Data Representation and $umber System
3.1 Number System
3.2 Data representation inside computers
3.3 Computer arithmetic
3.4 Computer system architecture;
Chapter 4: Operating Systems
4.1 Windows
4.2 Linux/Unix
Chapter 5: Computer $etworking and Internet
Instructor Qualification
A minimum of M. Sc. Degree in Computer Science, Computer Engineering or Information
Science
Text and University Reference
• Dida Midekso. (1994). Introduction to Computer Science. Addis Ababa printing
press.
• Schildt, H. (1990). C: The Complete Reference, 2nd ed.. Boston: Irwin Sawyer,
S.I: (1990). Computers: The users perspective. 2nded., Boston; Irwin Brightman,
W. R. (1986). Computer organization and architecture: Using computers in an
information age
Learning Outcome
- Identify some contributors to digital logic and explain why
Boolean logic is important to this subject.
- Articulate why gates are the fundamental elements of a digital
system.
- Indicate some uses for sequential logic.
- Work with binary number systems and arithmetic.
- Derive and manipulate switching functions that form the basis of
digital circuits.
- Realize switching functions with networks of logic gates.
- Explain and apply fundamental characteristics of relevant
electronic technologies.
- Analyze and explain uses of small- and medium-scale logic
functions as building blocks.
- Analyze and design combinational logic networks in a hierarchical,
modular approach, using standard and custom logic functions.
- Design and describe the operation of basic memory elements.
- Analyze the behavior of synchronous and asynchronous machines.
- Hierarchical, modular design of digital systems
Course Description: The course includes History and overview; Switching theory
Combinational logic circuits; Modular design of combinational circuits; Memory
elements ;
Sequential logic circuits; Digital systems design
Course Outline
Text Books:
1. Tocci-Digital systems principles an applications
2. Malivino, Leach Digital principles and applications
Reference:
Mano MM – Digital logic and computer design
Douglas V. hall. Microprocessors and Digital
Palmer JE and systems perlman DE – Introduction to digital systems.
Method of Evaluation:
Practical: 20%
Mid exam: 25%
Design assignment: 5%
Final exam: 50%
Learning Outcome
– Identify some contributors to human-computer interaction and relate their
achievements to the knowledge area.
– Define HCI.
– Explain the reasons for proper HCI designs in Computer Science.
– Provide a good reason for having a small-screen and large-screen graphical user
interface.
– Develop a conceptual vocabulary for analyzing human interaction with software: to
include terms such as affordance, conceptual model, and feedback.
– Summarize the basic science of psychological and social interaction relevant to the
development of human computer interfaces.
– Distinguish between the different interpretations that a given icon, symbol, word, or
color can have in (a) different human cultures and (b) in the context of human
diversity.
– Identify several fundamental principles for effective GUI design relevant for different
applications in computer science.
– Use a GUI toolkit to create a simple application that supports a graphical user
interface.
– Illustrate the effect of fundamental design principles on the structure of a graphical
user interface.
– Recognize contexts in which to deploy the various technologies associated with
intelligent systems.
– Demonstrate an awareness of the capabilities as well as the limitations of the
available techniques and technologies.
– For a range of contexts in which intelligent systems are deployed in a computer
science context, identify the technical implications for devices, for computing power
and for software
– Identify the potential for the use of intelligent systems in a range of computer
engineering equipment
– Discuss the professional, legal and ethical implications of deploying intelligent
systems in a range of computer science situations
Course Outline
Chapter 1: History and overview
1.1 Indicate some reasons for studying human-computer interaction
1.2 Highlight some people that influenced or contributed to the area of human-
computer interaction
References:
A Dix, J Finlay, G Abowd and R Beale. Human-Computer Interaction, Prentice Hall, 3nd
Edition
(second or first editions are OK), 2004.
Recommended reading
• J Nielsen. Usability Engineering, Academic Press, 1993.
Chapter 5 on ‘Usability Heuristics’ is excellent, providing in-depth coverage of the heuristics that
you will use in your HCI assignment.
• H Thimbleby. User Interface Design, Addison-Wesley, 1990
Learning Outcome:
Course Outline:
Method of Evaluation:
Assignment----------------------10%
Mid and---------------------------30%
Project-----------------------------20%
Final examination----------------40%
Learning Outcome :
5 Define the basic properties of an algorithm.
6 Develop algorithms for solving simple problems.
7 Use a suitable programming language to implement, test, and debug algorithms for
solving simple problems.
8 Apply the techniques of structured decomposition to break a program into smaller
pieces.
9 Write programs that use each of the following data structures: arrays, records, strings,
linked lists.
10 Explain the concept of recursion.
11 Explain the structure of the divide-and-conquer approach.
12 Write, test, and debug simple recursive functions and procedures.
13 Read and write text files.
14 Read and write binary files.
Course Outline:
Chapter 1: Overview of Data structure
1.1 Primitive types
1.2 Arrays
1.3 Records
1.4 Strings and string processing
1.5 Data representation in memory
1.6 Static, stack, and heap allocation
1.7 Runtime storage management
1.8 Pointers and references
1.9 Linked structures
Chapter 2: Recursion
2.1 The concept of recursion
2.2 Recursive mathematical functions
2.3 Divide-and-conquer strategies
2.4 Recursive backtracking
2.5 Implementation of recursion
Chapter 3: Files and Streams
3.1 Streams and Files
3.2 Binary Files and Text Files
3.3 Input and Output Streams
3.4 Reading and Writing Text Files
3.5 Reading and Writing Binary Files
Chapter 4: Overview of Object oriented programming
References:
Course Objectives
Reference
- Weiss Mark (1997), Data Structure and Algorithms Analysis in C: Benjamin
Cummings Publishing.
- Ammereaal, Leendert (1988), Programming and data Structure in C (2nd ed.):
John Wiley & Sons.
Course Objectives: At the end of this course, students should be able to:
Have a broad understanding of the object-oriented approach,
Understand the major concepts involved in object-oriented system Development
including encapsulation, abstraction, inheritance, and reusability;
Analyze application requirements and define the important objects;
Be aware of the differences between object-oriented programming languages.
Course Description
Object Oriented Programming paradigm and its use; classes, Objects, abstraction and
encapsulation; inheritance, polymorphism and overloading; generality and persistence;
OOP design basics: finding objects (informal descriptions, domain analysis, etc.),
finding classes, classification techniques, class roles, finding interactions, use cases, OO
analysis, OO design, etc. Practices on the techniques and idioms of Object-
oriented programming in C++, Java and/or other OOP languages
Course Outline
Chapter 1:Overview of Object Orientation
1.1 The potential benefits of object orientation
1.2 The potential drawbacks of object orientation
1.3 object standards
1.4 The object orientation software process
Chapter 2: Gathering user requirements
2.1 Putting together requirements gathering team
2.2 Fundamental requirements gathering techniques
2.3 Essential Use Case Modelling
2.4 Essential User Interface Prototyping
Domain modelling with class responsibility collaborator (CRC) cards
2.5 developing a supplementary Specification
ing Change Cases
Chapter 3: ensuring Your Requirements Are correct: Requirement validation
Techniques
Use Case Scenario Testing
Chapter 4: Determining What to Build: OO Analysis
4.1 em Use Case Modelling
4.1 Sequence Diagrams: From Use Cases to Classes
4.1 Conceptual Modelling :Class diagrams
4.1 Activity diagramming
4.1 User interface prototyping Evolving your supplementary specification
Method of Evaluation:
Assignment---------------------20%
Mid and---------------------------30%
Final examination----------------50%
Course Objectives: At the end of this course, students should be able to:
Course Description
Object Oriented Programming paradigm and its use; classes, Objects, abstraction and
encapsulation; inheritance, polymorphism and overloading; generality and persistence;
OOP design basics: finding objects (informal descriptions, domain analysis, etc.),
finding classes, classification techniques, class roles, finding interactions, use cases, OO
analysis, OO design, etc. Practices on the techniques and idioms of Object-
oriented programming in C++, Java and/or other OOP languages
Course Outline
Chapter 1: Overview
1.1 Overview of Classes, Methods, Variables and Data types
1.2 Statements and Expressions, Literals
1.3 Expressions and Operators
1.4 Working with Objects
1.5 Logic, and Loops
Learning Outcome:
7 Identify some components of a network.
8 Name some network devices and describe their purpose.
9 Describe advantages of a star topology over a ring topology.
10 Describe advantages of a ring topology over a star topology.
11 Define the meaning of a protocol.
12 Explain the importance of security when dealing with networks.
13 Understand fundamental concepts of networks and their topologies.
14 Understand the concept of network architecture and its hardware components.
15 Understand data transmission and transmission media
Text and Reference: Computer Networking. Kurose & Ross. Addison Wesley, latest edition
Learning Outcome:
– Describe the progression of computer architecture from vacuum tubes to VLSI.
– Demonstrate an understanding of the basic building blocks and their role in the historical
development of computer architecture.
– Use mathematical expressions to describe the functions of simple combinational and
sequential circuits.
– Design a simple circuit using the fundamental building blocks.
– Explain the reasons for using different formats to represent numerical data.
– Discuss how fixed-length number representations affect accuracy and precision.
– Describe the internal representation of nonnumeric data.
– Describe the internal representation of characters, strings, records, and arrays.
– Explain the organization of the classical von Neumann machine and its major functional
units.
– Explain how an instruction is executed in a classical von Neumann machine.
– Summarize how instructions are represented at both the machine level and in the context of a
symbolic assembler.
– Explain different instruction formats, such as addresses per instruction and variable length vs.
fixed length formats.
– Write simple assembly language program segments.
– Demonstrate how fundamental high-level programming constructs are implemented at the
machine-language level.
– Explain how subroutine calls are handled at the assembly level.
– Explain the basic concepts of interrupts and I/O operations.
– Identify the main types of memory technology.
– Explain the effect of memory latency on running time.
– Explain the use of memory hierarchy to reduce the effective memory latency.
– Describe the principles of memory management.
– Describe the role of cache and virtual memory.
– Explain the workings of a system with virtual memory management.
– Explain how interrupts are used to implement I/O control and data transfers.
– Identify various types of buses in a computer system.
– Describe data access from a magnetic disk drive.
– Compare the common network configurations.
– Identify interfaces needed for multimedia support.
– Describe the advantages and limitations of RAID architectures.
– Compare alternative implementation of datapaths.
– Discuss the concept of control points and the generation of control signals using hardwired or
microprogrammed implementations.
– Explain basic instruction level parallelism using pipelining and the major hazards that may
occur.
Course Description: To be a professional in any field of computing today, one should not
regard the computer as just a black box that executes programs by magic. All students of
Text Reference
• D. A. Patterson and J. L, Hennessy (1996) Computer Architecture: A Quantitative
Approach, 2nd edition. Morgan Kaufmann, Inc.
• D.A. Patterson and J.L Hennessy (1991} Computer Organization and Design: The
• Hardware/Software Interface, 2nd edition. Morgan Kaufmann Publishers
• J.D. Carpinelli (2000) Computer Systems Organization and Architecture, Addison Wesley Pub Co.
• A.S. Taneubaum (1998) Structured Computer Organization. Prentice Hall M.
• M. Mario (1992) Computer System Architecture, Prentice Hall
• Hemacher: Computer Organization
Course Objectives
At the end of this course the students will be able to:
Course Description
This course is assumed to be the first course in database management systems. It starts by
introducing database systems and how it differs with the traditional file processing system. It then
deals with data models, ER diagrams, database design methods The course mainly emphasizes on
basics of database systems how to retrieve and modify data. It also deals different database
environments.
Course Outline
1 Introduction to Database Systems.
1.1 introduction to database system
1.2 Database system and File System
1.3 Characteristics of the Database Approach
1.4 Actors on the Scene
Course Outline:
Chapter 1:
Finite State Models:
Chapter 2:
Language definitions preliminaries, Regular expressions/Regular languages, Finite automata
(FAs), Transition graphs (TGs), NFAs, kleene’s theorem, Transducers (automata with output),
Pumping lemma and non regular language Grammars and PDA:
Chapter 3:
Context free grammars, Derivations, derivation trees and ambiguity, Simplifying CFLs , Normal
form grammars and parsing, Push-down Automata, Pumping lemma and non-context free
languages, Decidability, Chomsky’s hierarchy of grammars Turing Machines Theory:
Chapter 4:
Turing machines, Post machine, Variations on TM, TM encoding, Universal Turing Machine,
Context sensitive Grammars, Defining Computers by TMs.
Method of Evaluation:
Assignment----------------------10%
Group project---------------------15%
Mid --------------------------------30%
Final examination----------------45%
Reference Books:
Hopcroft & Ullman, “Introduction to Automata theory languages and computation”,
Narosa.
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and
Tools, Addison-Wesley; 0201100886
Mishra & Chandra Shkaran, “Theory of computer Science”, Prentice Hall.
Kohan, “Theory of Computer Science”.
Learning Outcome:
Explain the use of big O, omega, and theta notation to describe the amount of work done by
an algorithm.
Use big O, omega, and theta notation to give asymptotic upper, lower, and tight bounds on
time and space complexity of algorithms.
Determine the time and space complexity of simple algorithms.
Deduce recurrence relations that describe the time complexity of recursively defined
algorithms.
Solve elementary recurrence relations.
Describe the shortcoming of brute-force algorithms.
For each of several kinds of algorithm (brute force, greedy, divide-and-conquer,
backtracking, branch-and-bound, and heuristic), identify an example of everyday human
behavior that exemplifies the basic concept.
Implement a greedy algorithm to solve an appropriate problem.
Course Objectives: At the end of this course the students will be able to have
• Practical use of Internet and its application in the real life
Course Description
Overview of Internet and World Wide Web: Client-server Architecture: Web server and
security. HTTP Protocol; Web page Design and development; information Architecture &
visualization; s t a t i c & dynamic pages, client side programming using scripting languages
(JavaScript, VBScript); server-side programming (JSP/ASP/ PHP); web-based database
application development.
Course Outline
Chapter 1: Introduction
1.1 Overview of Internet
1.2 World Wide Web:
1.3 Client-server Architecture:
1.4 Web server and security.
Chapter 2: Protocols:
1.1 URL,
1.2 WWW,
1.3 HTTP Protocol
Chapter 3: Web Page Design:
Software Requirements: HTML, Front page, ASP, Java Script, PHP, VB Script , Server
side scripting language
Instructor Qualification
A minimum of M. Sc. Degree in Computer Science, Information Science or
Computer Engineering
Text
Goodman: Java script bible (3rd edition) Gage Publishing
Reference
• Deitel and Deitel. "Java - How to Program", Addison-Wesley Press, Reading, Mass.
1998,
• David Flanagan. "Java in a Nutshell (Java 1.1)", Second Edition, O'Reilly and
• Associates Publishing, Sebastopol, CA, 1997.
• David Flanagan. "Java Examples in a Nutshell (Java 1.1)", O'Reilly and Associates
Publishing, Sebastopol, CA, 1997.
• Larry Wall and Randall Schariz. "Programming Perl", O'Reilly and Associates
Publishing. Sebastopol, CA, 1994
• Scott Oaks and Henry Wong. "Java Threads", O'Reilly and Associates Publishing.
Sebastopol, CA, 1997.
• Gary Cornell, Cay Horstmann. "Core Java", SUN Soft Press Publishing, Mountain View,
1996.
• S. Gundavaram. "CGI Programming on the World Wide Web", O'Reilly and
Associates Publishing, Sebastopol, CA, 1996.
Learning Outcome:
Understand the different uses of computer networks
Identify the network software and hardware components
Understand the network reference models
Differentiate between guided and unguided transmission media
Compare and contrast how Communication Satellites, Public Switched Telephone Networks,
Mobile Telephone Systems, and Cable Televisions work.
Identify the different mechanisms used to detect and correct errors at the data link layer
Understand and mention the different mechanisms of flow control at the data link layer
Understand the Channel Allocation Problem
Understand Multiple Access Protocols
Compare and contrast Ethernet, Wireless LANs, Broadband Wireless, and Bluetooth
Understand Data Link Layer Switching
Understand Network Layer Design Issues
Understand and identify different Routing Algorithms, Congestion Control Algorithms
Understand Quality of Service, Internetworking
Compare and contrast TCP and UDP
Explain DNS—The Domain Name System, Electronic Mail
Describe the World Wide Web, and Multimedia
Course Description: This course is designed to study the details of the network reference
models: some general introduction; the physical layer; data link layer; network layer; transport
layer; and application layer.
Course Outline
Chapter 1: Introduction
1.1 Uses of computer networks
1.2 Network Hardware
Method of Evaluation:
8 Assignment----------------------10%
9 Mid and---------------------------25%
10 Project-----------------------------20%
11 Final examination----------------45%
Learning Outcome:
12 Provide examples of the software process.
13 Articulate some of the components of a software process.
14 Provide some examples that would use software engineering.
15 Give reasons for the importance of testing and validation in the development of
software.
16 Select, with justification, the software development models most appropriate for the
development and maintenance of diverse software products.
17 Apply key elements and common methods for elicitation and analysis to produce a set
of software requirements for a medium-sized software system.
18 Use a common, non-formal method to model and specify (in the form of a
requirements specification document) the requirements for a medium-size software
system (e.g., structured analysis or object-oriented-analysis).
19 Conduct a review of a software requirements document using best practices to
determine the quality of the document.
20 Translate into natural language a software requirements specification written in a
commonly used formal specification language.
21 Evaluate the quality of multiple software designs based on key design principles and
concepts.
22 Using a software requirement specification and a common program design
methodology and notation, create and specify the software design for a medium-size
software product (e.g., using structured design or object-oriented design).
23 Demonstrate the application of the different types and levels of testing (unit,
integration, systems, and acceptance) to software products of medium size.
24 Identify the principal issues associated with software evolution and explain their
impact on the software life cycle.
25 Select, with justification, an appropriate set of tools to support the software
development of a range of software products.
Course Objectives: -Keeping students on the forefront of technology, this course offers a
practical reference to all programming and Interfacing aspects of the popular Intel family
of Microprocessors.
Course Description: This course is designed to provide fundamental skills needed to analyze
the internal architecture of Intel MPU, their assembling language and interfacing system.
Course Outline
Chapter 1: Introduction to Microprocessor and computer
Chapter 2: The Microprocessor and its Architecture: 80186, 80188, 80286, 80386, 80486
Chapter 3: Pentium II, Pentium III and Pentium 4 architecture
Chapter 4: The Arithmetic Coprocessor.
Chapter 5: Addressing Modes
Chapter 6: Data Movement Instruction.
Chapter 7: Arithmetic and Logic Instruction.
Chapter 8: Program Control Instruction.
Chapter 9: Assembling Programming language
Chapter 10: Memory Interface.
Chapter 11: Basic I/O Interface
Chapter 12: Bus Interface
Reference Books:
Learning Outcomes
- Provide some reasons for a computer to have an operating system.
- Describe concurrency and reasons for its importance.
- Describe scheduling and illustrate how it works to improve computer
performance.
- Identify some devices an operating system would manage.
- Demonstrate understanding of the logical layers and the benefits of building
these layers in a hierarchical fashion.
- Relate system state to user protection.
- Explain the range of requirements that a modern operating system has to
address.
- Define the functionality that a modern operating system must deliver to meet a
particular need.
- Articulate design tradeoffs inherent in operating system design.
- Justify the presence of concurrency within the framework of an operating
system.
- Demonstrate the potential run-time problems arising from the concurrent
operation of many (possibly a dynamic number of) tasks.
- Summarize the range of mechanisms (at an operating system level) that are
useful to realize concurrent systems and be able to describe the benefits of
each.
- Explain the different states that a task may pass through and the data structures
needed to support the management of many tasks.
- Compare and contrast the common algorithms used for both preemptive and
non-preemptive scheduling of tasks in operating systems.
- Investigate the wider applicability of scheduling in such contexts as disk I/O,
networking scheduling, and project scheduling.
- Introduce memory hierarchy and cost-performance tradeoffs.
- Explain virtual memory and its realization in hardware and software.
- Identify the relationship between the physical hardware and the virtual devices
maintained by the operating system.
- Summarize the features of an operating system used to provide protection and
security, and describe the limitations of each of these.
- Compare and contrast different approaches to file organization, recognizing the
strengths and weaknesses of each.
Course Description: The course deals with History and overview of OS; Design
principles of OS; Concurrency; Scheduling and dispatch; Memory management; Device
management; Security and protection; File systems
Course Outline
Chapter 1: History and overview
1.1 Indicate some reasons for studying operating systems
1.2 Indicate some important topic areas such as function and design, concurrency,
scheduling, dispatch, memory management, device management, file systems,
security, and protection
1.3 Describe the purpose of an operating system
1.4 Indicate the meaning of an interrupt
1.5 Describe the meaning of concurrency and the reasons for its importance
1.6 Illustrate the manner in which scheduling and dispatch take place in a
computer through its operating system
1.7 Describe the manner and importance of memory management
1.8 Describe the manner and importance of device management
1.9 Explore some additional resources associated with operating systems
1.10 explain the purpose and role of operating systems in computer engineering
Chapter 2: Design principles
2.1 Functionality of a typical operating system
2.2 Mechanisms to support client-server models, hand-held devices
Course Description: The field of artificial intelligence (AI) is concerned with the design and
analysis of autonomous agents. These are software systems and/or physical machines, with
sensors and actuators, embodied for example within a robot or an autonomous spacecraft. An
intelligent system has to perceive its environment, to act rationally towards its assigned tasks, to
interact with other agents and with human beings. These capabilities are covered by topics such
as computer vision, planning and acting, robotics, multiagents systems, speech recognition, and
natural language understanding. They rely on a broad set of general and specialized knowledge
representations and reasoning mechanisms, on problem solving and search algorithms, and on
machine learning techniques. Hence the focus of this course is to deal with Fundamental issues in
intelligent systems; Search and constraint satisfaction; Knowledge representation and reasoning.
Course Outline
Chapter 1: Fundamental issues in intelligent systems
1.1History of artificial intelligence
1.2 Philosophical questions
1.2.1 The Turing test
1.2.2 Searle’s “Chinese Room” thought experiment
1.2.3 Ethical issues in AI
1.3 Fundamental definitions
2.3.1 Optimal vs. human-like reasoning
2.3.2 Optimal vs. human-like behaviour
1.4 Philosophical questions
1.5 Modelling the world
1.6 The role of heuristics
Chapter 2: Search and constraint satisfaction
2.1 Problem spaces
2.2 Brute-force search (breadth-first, depth-first, depth-first with iterative deepening)
2.3 Best-first search (generic best-first, Dijkstra’s algorithm, A*, admissibility of A*)
2.4 Two-player games (minimax search, alpha-beta pruning)
2.5 Constraint satisfaction (backtracking and local search methods)
Chapter 3: Knowledge representation and reasoning
3.1Review of propositional and predicate logic
3.2 Resolution and theorem proving
3.3 Nonmonotonic inference
3.4 Probabilistic reasoning
3.5 Bayes theorem
Chapter 4: Agents
4.1 Definition of agents
4.2 Successful applications and state-of-the-art agent-based systems
4.3 Agent architectures
Learning Outcome:
15 Distinguish the capabilities of different levels of graphics software and describe the
appropriateness of each.
16 Create images using a standard graphics API.
17 Use the facilities provided by a standard API to express basic transformations such as scaling,
rotation, and translation.
18 Implement simple procedures that perform transformation and clipping operations on a
simple 2-dimensional image.
19 Discuss the 3-dimensional coordinate system and the changes required to extend 2D
transformation operations to handle transformations in 3D
20 Describe the appropriateness of graphics architectures for given applications.
21 Explain the function of various input devices.
22 Compare and contrast the techniques of raster graphics and vector graphics.
23 Use current hardware and software for creating and displaying graphics.
24 Discuss the expanded capabilities of emerging hardware and software for creating and
displaying graphics.
25 Explain the value of using colors and pseudo-colors.
26 Demonstrate the ability to create effective video and hardcopy images.
27 Identify effective and ineffective examples of communication using graphics.
28 Create effective examples of graphic communication, making appropriate use of color,
legends, text, and/or video.
29 Create simple polyhedral models by surface tessellation.
30 Construct CSG models from simple primitives, such as cubes and quadric surfaces.
31 Generate a mesh representation from an implicit surface.
32 Generate a fractal model or terrain using a procedural method.
33 Generate a mesh from data points acquired with a laser scanner.
34 Explain the operation of the Bresenham algorithm for rendering a line on a pixelbased
display.
35 Explain the concept and applications of each of these techniques.
36 Demonstrate each of these techniques by creating an image using a standard API.
37 Describe how a graphic image has been created.
38 Explain the spline interpolation method for producing in-between positions and orientations.
39 Compare and contrast several technologies for motion capture.
40 Use the particle function in common animation software to generate a simple animation, such
as fireworks.
41 Use free-form deformation techniques to create various deformations.
Course Description: Computer graphics is the art and science of communicating information
using images that are generated and presented through computation. This requires (a) the design
and construction of models that represent information in ways that support the creation and
viewing of images, (b) the design of devices and techniques through which the person may
interact with the model or the view, (c) the creation of techniques for rendering the model, and (d)
the design of ways the images may be preserved The goal of computer graphics is to engage the
person’s visual centers alongside other cognitive centers in understanding. Generally, this course
deals with Fundamental techniques in graphics; Graphic systems; Graphic communication;
Geometric modeling; Basic rendering; Advanced rendering; Advanced techniques; Computer
animation.
Course Outline
Chapter 1: Fundamental techniques in graphics
1.1 Hierarchy of graphics software
1.2 Using a graphics API
1.3 Simple color models (RGB, HSB, CMYK)
1.4 Homogeneous coordinates
6.7 Deformation
Teaching Mthodology: Lecture, Laboratory session and group based assignment and
presentation
Evaluation Method: Assignment, Mid term exam, Group project and Final examination
Software Requirement: Programming language: C or C++, OpenGel
Instructor Qualification: A minimum of MSc degree in computer Science and above
Reference:
Angel, Edward (2000) Interactive Computer Graphics, 2nd ed., Addison-Wesley.
Foley, J.D. (1994) Computer Graphics: Principles and Practice, 2nd ed. Addison-
Wesley.
Hearn and Baker (1997) Computer Graphics – C version, 2nd ed. Prentice Hall.
Woo, Mason (1999) OpenGL Programming Guide: The
official Guide to Learning OpenGL, Version 1.2, 3rd
ed. Addison-Wesley
Course Objective: After the end of this lesson, students will be able to:
Course Outline:
Chapter 1: Introduction.
Chapter 2: Turing machines
Chapter 3: P versus NP
Chapter 5: NP-completeness
References:
Course Objectives At the end of this course the students will be able to:
Understand the database query processing and optimization
Know the basics of transaction management
Understand database security
Use different recovery methods when there is a database failure
Design a distributed database system in homogenous and heterogeneous
environments
Course Description: This course includes including file organizations, storage
management, , query optimization, transaction management, recovery, and concurrency
control, database authorization and security. Additional topics including distributed
databases, mobile databases, and integration may also be covered. A major component of
the course is a database implementation project using current database languages and
systems
Course Outline
Chapter 1: Query processing and Optimization
1.1. Translating SQL Queries into Relational Algebra
References:
Course Objective: After completing this course, students should be able to:
Course Description
This course is designed to provide fundamental skills needed to analyze the internal and
external security threats against a network, and to develop security policies that will
protect an organization’s information. Students will learn how to evaluate network and
Internet security issues and design, and how to implement successful security policies
and firewall strategies.
Problems in network security; kinds of attacks, PKI, key exchange protocols, example
protocols such as PGP, Kerberos, IPSEC/VPN, SSL, S/MIME etc. Steganography. Tools
for network security such as firewalls and intrusion detection systems.
Course Outline
Chapter 1: Introduction:
2.2 secret key and public key cryptographic algorithms; hash functions;
2.3 authentication;
6.1 viruses,
6.2 worms,
6.3 Trojan horses;
6.4 how they work and how to defend against them.
Tools:
Tools for network security such as firewalls and intrusion detection systems, Java etc
References:
Fred Halshall "Data Communication, Computer Networks & Open systems" Publication
Pearson Education
W. Stallings. Cryptography and etwork Security: Principles and Practice, 2nd Edition,
Prentice Hall, 2000
C. E. Perkins, B. Woolf, and S. R. Alpert. "Mobile IP: Design Principles and Practices," Addison
Wesley, 2000.
Course Outline
Chapter 1: Introduction to Project Management
1.1. Importance of software project management
1.1.1 What is a project?
1.1.2 Problems with Software Projects
1.1.3 What is Project Management?
1.2. Stages of Project
1.2.1. The Feasibility Study
1.2.1.1 The Cost-benefit Analysis
1.2.2. Planning
1.2.3. Project Execution
1.2.4 Project and Product Life Cycles
1.3. The Stakeholder of Project
1.3.1 All parties of project
1.3.2 The Role of Project Manager
1.4. Project Management Framework
1.5. Software Tools for Project Management
Chapter 2: Project Planning
2.1. Integration Management
2.1.1 What is Integration Management?
2.1.2. Project Plan Development
2.1.3. Plan Execution
2.2 Scope Management
2.2.1 What is Scope Management?
2.2.2 Methods for Selecting Projects
2.2.3 Project Charter
2.2.4 Scope Statement
2.2.5 Work Breakdown Structure
2.3 Stepwise Project Planning
2.3.1 Overview
2.3.2 Main Steps in Project Planning
Chapter 3: Project Scheduling
3.1 Time Management
3.1.1. Importance of Project Schedules
3.1.2. Schedules and Activities
3.1.3. Sequencing and Scheduling Activity
3.2 Project Network Diagrams
Chapter 4: Project Cost Management
4.1. Importance and Principles of Project Cost Management
4.2. Resource Planning
4.3. Cost Estimating
4.4 Cost Budgeting
References:
1. Software Project Management, Richard H. Thayer, Wiley IEEE Press 2002, ISBN
0-7695-1199-6.
2. Software Engineering: A Practitioner's Approach, 4th edition, Roger S. Pressman,
McGraw-Hill Higher Education, ISBN: 0070521824.
3. “Information Technology Project Management” Kathy Schwalbe, International
Student Edition, THOMSO Course Technology, 2003
4. Basics of Software Project Management, IIT, Prentice-Hall India, 2004
5. Software Project Management in Practice, Pankaj Jalote, Pearson Education,
2002
6. Software Project Management, A Concise Study, S.A. Kelkar, Revised Edition,
Prentice-Hall India, 2003
Course Objectives
At the end of the this course the students will be able to understand the fundamental problems in
the area of wireless communication and mobile computing and study the existing and proposed
solutions for these problems from both research and development perspective.
Course Description
Overview of wireless Telephony, IEEE 802.11 & Blue Tooth, Wireless Multiple access
protocols, mobile and wireless networks (cellular, ad hoc, sensor based) ,applications
(data broadcasting, context-aware),challenges , Cellular architecture, co-channel
interference, frequency reuse, capacity increase by cell splitting. Evolution of mobile
system: CDMA, FDMA, TDMA, GSM. , Multiple-access schemes (CSMA/CA, MACA
etc.),Unicast and multicast routing protocols (Mobile-IP, IPv6, DSR, AODV etc.),Data
dissemination in wireless sensor networks. Mobility management :Location management
schemes, handoff schemes
Resource management: channel allocation, power-management, Wireless and mobile data
services: data broadcast scheduling algorithms,Mobile client-server computing and data
management : data caching, disconnected operation, Energy-efficient computing and
communication: MAC protocols, disk scheduling Ad hoc Network Routing Protocols:
Ad hoc network routing protocols, destination sequenced distance vector algorithm,
cluster based gateway switch routing, global state routing, fish-eye state routing, dynamic
source routing, ad hoc on-demand routing, location aided routing, zonal routing
algorithm.
Course Outline
Chapter 1: Introduction to Wireless Communication :
Overview of wireless Telephony,
IEEE 802.11 & Blue Tooth,
Fourozon " Data Communication & Computer Networks" Tata Mcgraw Hill Publication
W. Stallings. Cryptography and etwork Security: Principles and Practice, 2nd Edition,
Prentice Hall, 2000
C. E. Perkins, B. Woolf, and S. R. Alpert. "Mobile IP: Design Principles and Practices," Addison
Wesley, 2000.
Course Outline:
Ian Sommerville & Pete Sawyer (1997) Requirement Engineering : A Good Practice
Guide. UK, John Wiley and Sons LTD
Hull, Jackson and Dick(2004).Requirements Engineering, 2nd ed. Spring
Karl E. Wiegers (2003). Software Requirements, Second Edition
Ian K Bray and Ian Bray (2002). An Introduction to Requirements Engineering.
Gerald Kotonya and Ian Sommerville (1998). Requirement Engineering: Process and
Techniques.
Johan F. Hoorn(2006). Software Requirements: Update, Upgrade, Redesign- Towards a
Theory of R equirement Change. Vrije Universiteit.
Description:
This project will enable students to acquire analytical and problem-solving skills,
application of theory and practices Computer based system management, collaboration
in group-work, communication skills both written and oral, and confidence to tackle
unfamiliar problems in addition to the business-related skills. In this course students
will define their problem area, prepare project proposal, elicit requirements, and
analyze and design their new system.
Instructional Method: Group work assisted by Advisor
Assessment & Evaluation:
Group presentation -------------------15%
Documentation, ------------------------30%
System Implementation---------------55%
Description:
This course is a continuation of Industrial project I. Students will implement, test and
prepare documentation for the new system based on the their work in Industrial Project
Instructional Method: Group work assisted by Advisor
Assessment & Evaluation:
Group presentation -----------------------15%
Documentation, ---------------------------30%
System Implementation------------------55%
Objective:
This module helps the students to choose the subjects and topics from their own
specialized interest. After having successfully participated in this module the students will learn
how to choose and deliver the topics both from the existing and emerging fields.
Description:
The students are also expected to choose the topic of their own and present it before the
whole class and get the exposure how to delver the lecture in an efficient and effective
manner.
Course Objectives
This course gives an introduction to basic neural network architectures and learning rules.
Emphasis is placed on the mathematical analysis of these networks, on methods of
training them and on their application to practical engineering problems in such areas as
pattern recognition, function approximation and signal processing.
Course Description
History of neural network, distinction between biological and artificial neural network;
Analysis of Neural networks; Characteristics of Neural Networks; Limitations and
applications of Neural Networks; Perceptron; Performance estimation and model
selection; multi-layer perceptron networks; hopfield networks; stochastic neural
networks; associative memory networks; Kohonen networks .
Course Outline
1.3Artificial Neuron
Chapter 2: Perceptron
3.1 Motivation
3.2 The Holdout
3.3 Re-sampling techniques
3.4 Three-way data splits
4.1 Delta Learning Rule for the Output Layer, Generalized Delta Learning Rule
4.2 Backpropagation learning algorithm
4.3 Mathematical modeling of MLP Networks
4.4 Application to Function Approximation
Introduction to Artificial Neural Systems, Zurada, Jacek M., West Publishing Company, 1992.
Introduction to Neural Computing, Igor Alexsander and Helen Morton, International Thomson
Computer Press, 1995.
Brief history of expert system; why expert system; economic reasons, time, space,
consistency and quality in decision making, intelligent reasons, human cognitive ,
shortcomings, pure reasoning systems versus knowledge-rich systems. Knowledge
acquisition: meaning, purpose and techniques. Knowledge representation: frames
rules, classes and procedures.
An introduction to expert system development tools and shells. Inference methods
Course objective
At the end of the course students will be able to
1. Understand how Expert system work
2. Design knowledge base system
3. Understand how knowledge base system is represented
Chapter 1: Introduction
1.1 Expert Reasoning
1.2 Expert Domains
1.3 roduction Systems
1.4 Rule-Based Expert Systems
1.4.1 MYCI$
1.4.2 Dendral
1.4.3 R1/XCO$
Chapter 2: Knowledge
2.1 Representation
2.2 Frames
2.3 Logic
Chapter 3: Reasoning Under
3.1 Uncertainty
3.2 Bayesian Probability
3.3 Dempster-Shafer
3.4 EMYCI$'s Certainty Factors
3.5 The Tuning Fallacy
Chapter 4: Knowledge
4.1 Acquisition Tools
4.2 Teiresias, protos
4.3 Rule Induction Algorithms
4.4 Choosing Applications
4.5 Getting Knowledge from an
Expert
Chapter 5: Expert System
5.1 Building Tools and Hardware
5.2 LISP, EMYCI$, KAS, S-1,
ROSIE, KEE, MRS, ART, OPS-5
Chapter 6: Blackboard Systems
Chapter 7: Research Trends
Teaching Methods: Lecture, tutor
Evaluation Methods:
Midterm exam----------------------------------------------------------------------- (20%)
Final examination ---------------------------------------------------------------------(30)
Project students are expected to a real requirement project in teams----------- (50%)
Instructor Qaulification: A minimum of MSc in Information Science, or Computer Science
References:
Learning Outcome:
Students will be able:
To develop practical experience in designing & developing multimedia information
system applications.
To understand about the latest technological developments, which have laid the basis for the
information society such as digital broadcasting, Electronic transaction in banking, shopping,
etc. Implications for security. Various audio , video conferencing
Course Description:
Multimedia technologies; multimedia storage models and structures; data models
and interfaces; multimedia information systems; video/audio networking; media
synchronization; image computing and information assimilation; conferencing
paradigms and structured interaction support.
Course Outline:
Chapter one
Introduction
1.1 What is Multimedia?
1.2 History of Multimedia
1.3 Multimedia and Hypermedia
1.4 Multimedia and World Wide Web
Chapter Two
Multimedia Authoring and Tools
2.1 What is Multimedia Authoring?
2.2 Some Useful Editing and Authoring Tools 2.3 Authoring
Paradigms
Chapter Three
Data Representations
3.1 Graphics/Image Data Representation
3.2 Digital audio and MIDI
3.3 Popular File Formats
Chapter Four
Image and Video
4.1 Color Science
4.2 Colour Models in Images 4.3 Colour Models in Video
Chapter Five
Fundamental Concepts in Video 5.1 Types of Video
Signals
5.2 Analogue Video
5.3 Digital Video
5.4 Different TV standards
Chapter Six
Basics of Digital Audio
6.1 Digitization of Sound
6.2 Quantization and Transmission of Audio
Chapter Seven
Lossless Compression Algorithms
7.1 Introduction
7.2 Basics of Information Theory
7.3 Run-Length Coding
7.4 Variable-Length Coding (VLC)
7.5 Dictionary Based Coding
7.6 Huffman Coding
7.7 Arithmetic Coding
7.8 Lossless Image Compression
Chapter Eight
Loss Compression Algorithms
8.1 Introduction
8.2 Distortion Measures
8.3 The Rate Distortion Theory
8.4 Quantization
8.5 Transform Coding
Chapter $ine
Image Compression Standards
the JPEG Standard
Chapter Ten
Basic Video Compression Techniques
1 Introduction to Video Compression
2 Video Compression Based on Motion Compensation
Chapter Eleven
MPEG Video and Audio Coding
1. Video Compression
2 MPEG Audio Compressions
Evaluation Methods:
Midterm exam -------------- (20%)
Final examination ----------- (30%)
Project--------------------------50%
References:
1) Ze-Nian Li and Mark S. Drew, Fundamentals of Multimedia, Prentice Hall, 2004.
2) Richard Brice, Multimedia and Virtual Reality Engineering, Newnes, 1997
3) Jon Crowcroft, Mark Handley, Ian Wakeman; Internetworking Multimedia,
Morgan Kaufmann Publishers, San Francisco, California, 1999
4) Doug Sahlin, Flash 5 Virtual Classroom, McGraw-Hill, 2001, California
Any other multimedia book can be used as refere
Learning Outcome: At the end of the course students will be able to:
Understand the various Information Retrieval Systems and processes
Know the retrieval model and evaluation of Information Retrieval Systems
Understand the processes of information storage and retrieval
Design ,develop and evaluate information retrieval models
Understand evaluation issues in IR
Understand current research issues in IR
Course Description: This course will explore the Introductory concepts of Information
Storage and Retrieval (Definition, components, kinds of Information Retrieval Systems,
the retrieval process etc.); automatic text operation and automatic indexing (term
selection, term weighting, etc); data and file structure for information retrieval ( flat files,
inverted files, signature files, PAT trees, and graphs), Retrieval Model (Boolean Model,
Vector Based Retrieval Model, Probabilistic Retrieval Model); Evaluation of Information
retrieval systems (Precision Recall, fallout, generality, E-measure, harmonic mean, User
based evaluation etc.), Techniques for enhancing retrieval effectiveness(including
relevance feedback, query reformulation, thesauri etc), query languages, query
operations, string manipulation and search algorithms, document classification and
clustering; Current Issues in IR etc.
Course Outline
Chapter 1: Introduction to information storage and retrieval
Chapter 2: Foundations, basic theories and principles of information storage and
retrieval
Chapter 3: Content analysis
Chapter 4: Vocabulary control and indexing techniques
Chapter 5: Automatic indexing and searching
Course Outline
Evaluation Methods:
Assignments-----------------------------10%
Laboratory exams-----------------------15%
Mid-semester Examination-------------30%
Final examination-------------------------45%
Reference:
Visual Basic V6.0 programmers Guide.
Visual Basic V5.0 programmers Guide.
Course Description:
Topics to be discussed in this course should reflect topics of current interest in
Computer Science. Topics to be covered in the course will be decided from time to time
by taking into account current developments in the field and by a careful selection of
contents that cannot be covered by any other courses
Course Details
design issues in distributed systems, hardware and software issues, interprocess communication,
remote procedure calls, group communication, synchronization problem, Lamport`s Logical
Clocks, processes and processor allocation system models, scheduling problem, fault tolerance,
real time distributed systems.
Course Outline
We will cover fundamental and current research topics in the design, implementation, and
evaluation of parallel and distributed systems. Our focus will be on the systems software
and parallel programming systems, but some hardware issues will also be covered.
Topics will include parallel algorithms, parallelization strategies, distributed shared
memory (and related ideas), system area networks (SAN), and operating system support.
Approximately 2/3 of the course will be on the practical and hands-on aspects of parallel
programming. The other 1/3 of the course will be on current research issues. A number of
research papers will be discussed and critically evaluated.
Some of the topics (in rough order) to be covered include:
Chapter 1: Introduction
1.1 Why use parallel and distributed systems? Why not use them?
1.2 Speedup and Amdahl's Law
1.3 Hardware architectures: multiprocessors (shared memory), networks of
workstations (distributed memory), clusters (latest variation)
1.5 Software architectures: threads and shared memory, processes and
message passing, distributed shared memory (DSM), distributed shared
data (DSD)
1.6 Possible research and project topics
Chapter 2: Chapter 1: Parallel Algorithms
1.1 Concurrency and synchronization (review)
1.2 Data and work partitioning
1.3 Common parallelization strategies
1.4 Granularity
1.5 Load balancing
1.6 Examples: parallel search, parallel sorting, etc.
Chapter 3: Shared-Memory Programming: Threads
3.1 Pthreads
3.2 Locks and semaphores
Chapter 4: Distributed-Memory Programming: Message Passing
4.1MPI
4.1PVM
Chapter 5: Other Parallel Programming Systems
5.1 TreadMarks: Distributed shared memory
5.2 Aurora: Scoped behaviour and abstract data types
5.3 Enterprise: Process templates
Chapter 6: Research Topics
6.1 Protocols for DSM systems
6.2 Impact of network protocols (TCP/IP, UDP/IP, bulk-data transfer, etc.)
6.3 System area networks (SAN) (e.g., Myrinet)
6.4 Operating system issues
6.5 More to come
Teaching Methods: Lectures supported by tutorials laboratory exercise and assignments
Evaluation Methods:
Assignments-----------------------------10%
Mid-semester Examination-------------40%
Final examination-------------------------50%
Textbooks
B. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications
Using $etworked Workstations and Parallel Computers, 2/e, Prentice Hall,
2005. (OPTIO$AL).
W.R. Stevens and S.A. Rago, Advanced Programming in the Unix Environment,
2nd Edition Addison Wesley, 2005. (OPTIO$AL). Alternatively any equivalent
book
Course Objective
At the end of this course the students should be able to :
• Work by applying different types of simulation models
• Analyze various simulation techniques
• Simulate or model a given computer oriented problem
Course Outline
Chapter 1: Introduction
1.1 Introduction
1.2 Basic simulation procedures
Evaluation Methods:
Assignments-----------------------------10%
Laboratory exams-----------------------15%
Mid-semester Examination-------------30%
Final examination-------------------------45%
Reference:
Course Objectives
On completion of this course students should have gained a good understanding of basic
concepts, principles and techniques of data warehousing and data mining. Specifically,
they should be able to:
• define what knowledge discovery and data mining are
• recognize the key areas and issues in data mining
• develop an in-depth understanding of several data mining techniques
• define the concept, structure and major issues of data warehousing
• develop general awareness of data warehousing project management
• apply multi-dimensional modeling techniques in designing data warehouses
• apply the online analytical processing (OLAP) technology for decision support
• apply data cubing techniques
• use knowledge discovery in data warehouses
Course Description
Data Warehouse: Data Model for Data Warehouses; Implementing Data Warehouses:
data extraction, cleaning, transformation and loading, data cube computation,
Course Outline
Chapter 1: Introduction
1.1 What motivated data mining? Why is it important?
1.2 What is data mining?
1.3 Data mining on what king of data?
1.4 Data mining functionalities-what kind of patterns can be mining?
1.5 Classification of data mining system
Chapter 2: Data warehousing and OLAP Technology for data mining
2.1 What is a data warehouse?
2.2 A multidimensional data model
2.3 Data warehouse architecture
2.4 Data warehouse implementation
2.5 From data warehouse to data mining
Chapter 3: Data preprocessing
3.1 Why preprocess the data?
3.2 Data cleaning
3.3 Data integration and Transformation
3.4 Data reduction
3.5 Discretization and concept hierarchy generation
Chapter 4: Mining association rules in large databases
4.1 Association rule mining
4.2 Mining single-dimensional Boolean association rules from transactional databases
4.3 Mining multilevel association rules from transactional databases
4.4 Mining multidimensional association rules from relational databases and data
warehouses
Chapter 5: Classification and prediction
5.1 What is classification? What is prediction?
5.2 Issues regarding classification and prediction
5.3 Classification by decision tree induction
5.4 Bayesian classification
5.5 Classification by backpropagation
5.6 Other classification methods
5.6.1 K-nearest neighbor classifier
5.6.2 Genetic algorithm
5.7 Prediction
5.8 Classifier accuracy
Chapter 6: Cluster analysis
6.1 What is cluster analysis?
6.2 Types of data in cluster analysis
6.3 Categorization of major clustering methods
6.4 Partitioning methods
6.5 Hierarchical methods
6.6 Density based methods
Evaluation Methods:
Assignments-----------------------------10%
Laboratory exams-----------------------15%
Mid-semester Examination-------------30%
Final examination-------------------------45%
Reference:
Morgan Kaufmann, “Data Mining: Concepts and Techniques”, 2nd edition, 2006 -----
(Text Book)
Pang-Ning Tan, Michael Steinbach, and Vipin Kumar, "Introduction to Data Mining",
Pearson Addison Wesley, 2005
Margaret H. Dunham, “Data Mining: Introductory and Advanced Topics”, Prentice Hall,
2003.
Course Description
Introduction to parallel processing: Application requirements, Examples of parallelism,
Interconnection infrastructure, Flynn classification in parallel architectures, Memory
based classification, Performance metrics, Computation distribution, Degree of
parallelism, Load balancing, Amdahl's law. Main characteristics and examples of
advanced architectures: SISD architectures, Very large instruction word (VLIW) systems,
SIMD architectures, Array processors / Associative processors, MIMD architectures,
Systolic arrays, Pipelines and vector processors: Basic concepts, Vector instruction
analysis, Arithmetic pipelines, Instruction pipelines, Example of pipeline design, Pipeline
conflicts and throughput optimization. Memory: Context addressable or associative
memory, Cache memories, Overview of data placement policies, Memory coherence and
consistency, Snoopy caches, Directory solutions, Software solutions, Hierarchical
memory design, Memory multiplexing, Parallel access for vectors of processors, Data
placement stride and access collisions for pipelines, Memory organization for vector
processors.
Course outline:
Chapter 1: Introduction ?-not clear
Why use parallel and distributed systems? Why not use them?
Speedup and Amdahl's Law
Hardware architectures: multiprocessors (shared memory), networks of
workstations (distributed memory), clusters (latest variation)
Software architectures: threads and shared memory, processes and message
passing, distributed shared memory (DSM), distributed shared data (DSD)
Possible research and project topics
Chapter 2: Parallel Algorithms
2.1 Concurrency and synchronization (review)
2.2 Data and work partitioning
2.3 Common parallelization strategies
2.4 Granularity
2.5 Load balancing
2.6 Examples: parallel search, parallel sorting, etc.
Chapter 3: Shared-Memory Programming: Threads
3.1 Pthreads
3.2 Locks and semaphores
Chapter 4: Distributed-Memory Programming: Message Passing
4.1 MPI
4.2 PVM
Chapter 5: Other Parallel Programming Systems
5.1 TreadMarks: Distributed shared memory
5.2 Aurora: Scoped behaviour and abstract data types
5.3 Enterprise: Process templates
Chapter 6: Research Topics
6.1 Protocols for DSM systems
6.2 Impact of network protocols (TCP/IP, UDP/IP, bulk-data transfer, etc.)
6.3 System area networks (SAN) (e.g., Myrinet)
6.4 Operating system issues
6.5 More to come
Textbooks
B. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications Using
$etworked Workstations and Parallel Computers, 2/e, Prentice Hall, 2005.
(OPTIO$AL).
W.R. Stevens and S.A. Rago, Advanced Programming in the Unix Environment,
2nd Edition Addison Wesley, 2005. (OPTIO$AL). Alternatively any equivalent
book
Evaluation Methods:
Assignments-----------------------------10%
Laboratory exams-----------------------15%
Mid-semester Examination-------------30%
Final examination-------------------------45%
Course Objective:
At the end of this course the students will be able to understand about the latest
technological developments, which have laid the basis for the information society such as
digital broadcasting, Electronic transaction in banking, shopping, etc. Implications for
security
Course Description
Chapter 1: Introduction
1.2 M-Commerce,
1.3 D-Commerce
Chapter 2: Electronic Commerce:'
2.1 Business Models,
2.2 Electronic Data Interchange,
2.3 Electronic Commerce: Architectural Framework,
Chapter 3: Electronic Commerce:
3.1 Network Infrastructure,
3.2 Electronic Commerce:
3.3 Information Distribution and Messaging,
Chapter 4: Electronic Commerce:
1.1 Information Publishing Technology,
Chapter 5: Electronic Commerce:
5.1 Securing the Business on Internet ,
Chapter 6: Electronic Commerce:
6.1 Securing Network Transaction,.
6.2 Electronic Payment Systems,.
Chapter 7: Electronic Commerce:
7.1 Search Engines and Directory Services ,
7.2 Internet Advertising,.
7.3 Mobile Commerce:
7.4 Introduction, Framework, and Models,
7.5 Agents in Electronic Commerce,
Legal Issues, ?
Cyber Security,
Cyber Crimes
Evaluation Methods:
Assignments-----------------------------10%
Laboratory exams-----------------------15%
Mid-semester Examination-------------30%
Final examination-------------------------45%
Reference Books
Bajaj, K.K.; Nag, Debjani " E-Commerce " Mc-Grawhills Publication , India ,
2005
Bharat and Bhaskar " E-Commerce- 2nd Edition Mc-Grawhills Publication , India
, 2002
Chakravarti and Rajesh " The Asian Manager's Handbook On E-Commerce" Mc-
Grawhills Publication , India , 2002
6.2 Random approaches to sampling: basic method, stratified sampling and variants
thereof, cluster sampling
6.3 Non-random approaches: purposive methods, sequential sampling
6.4 Data analysis; tools; graphical and numerical summaries
6.5 Multivariate distributions, independent random variables
Chapter 7: Estimation
7.1Nature of estimates: point estimates, interval estimates
7.2 Criteria to be applied to single point estimators: unbiased estimators, consistent
estimators, efficiency and sufficiency of estimators
7.3 Maximum likelihood principle approach, least squares approach; applicability
conditions for these
7.4 Confidence intervals
7.5 Estimates for one or two samples
Chapter 8: Hypothesis tests
8.1 Development of models and associated hypotheses, the nature of these
8.2 Hypothesis formulation: null and alternate hypotheses
8.3 Testing hypothesis based on a single parameter, choice of test statistic; choice of
samples and distributions
8.4 Criteria for acceptance of hypothesis
8.5 t-test, chi-squared test; applicability criteria for these
Teaching Methods : Lecture supported by tutorials, group discussion, questioning and
answering.
Assessment & Evaluation Method:
Assignments-----------------------------20%
Mid-semester Examination-------------30%
Final examination-------------------------50%
Course Objectives: To develop good English writing, language usage and reading skills.To
appreciate the importance of business communication and to develop understanding of
communication concepts, principles, theories and problems. To develop good oral
communication and presentation skills.
Course Outline:
Chapter 1: Review and continual reinforcement of individual presentation skills,
such as voice projection, eye contact, body and hand control,
speaking pace, and managing anxiety about public speaking.
Chapter 2: Brief overview of communication theory, particularly as applicable
to communication in business and the professions.
Chapter 3: Principles and practices of effective small-group communication,
particularly as applicable to business and the professions.
Chapter 4: Principles and practices of interviewing.
Chapter 5: Principles and practices of leading and participating effectively in
group discussions.
Chapter 6: Principles and practices of conducting and participating in
meetings, both informal and formal.
Chapter 7: Principles and practices of conducting question-and-answer
sessions.
Chapter 8: Principles and practices of developing interesting and effective
visual aids, and using them effectively in presentations.
Chapter 9: Organization and delivery of short persuasive presentations,
extemporaneously or from notes.
Chapter 10: Organization and delivery of informal business or professional
presentations using a flip chart. (Video-recorded and critiqued)
Chapter 11: Organization and delivery of formal business or professional
presentations using transparencies or computer slides. (Videorecorded
and critiqued)
Chapter 12: Team presentations in which students, working in groups, research,
organize and present a formal business presentation to an invited
audience using computer slides and conducting an extended
question-and-answer session afterwards. (Video-recorded and
critiqued)
Chapter 13: Organization and delivery of short, informal speeches for special
occasions, such as introductions, toasts, awards, eulogies, etc.
Reference:
• Business English, Vawdrey, Stoddard, Bell.
Objectives: To develop efficient literature survey, analysis, report writing and document
designing skills.
Teaching and Learning Methodology: Lecture and practical Report writing projects
Assessment & Evaluation:
Assignments-----------------------------10%
Project-------------------------------------35%
Mid-semester Examination-------------25%
Final examination-------------------------30%
Reference:
• Greenfield, T., Research Methods, Guidance for Postgraduates, Arnold, 1996,
034064629.
Course Description
Chapter 1: Error Analysis;
Chapter 2: Finding the Roots of Equations;
Chapter 3: System of Linear Equations;
Chapter 4: Interpolation;
Chapter 5: Numerical Integration and Numerical Solutions of Ordinary Differential Equations;
Chapter 6: Solutions of Partial Differential Equations;
Chapter 7: Least Squares and Descriptions.
Lab. Experiment: Program for solving roots of equations; bracketing methods – Bisection
method, Open methods – Secant method. Program for solving system of linear equations;
Gaussian elimination, Gauss – seidel iteration. Culve fitting; Program for linear repression,
Program for Newton interpolation. Numerical integration; Program for trapezoidal rule, Program
for Simpson’s integration (1/3, 3/8). Solving ordinary differential equations; program for Euler’s
methods, Program for Runge-Kutta methods.
Methods of Presentation: Lecture and laboratory
Methods of Evaluation:
Assignments-----------------------------10%
Project-------------------------------------20%
Mid-semester Examination-------------30%
Final examination-------------------------40%
• To study the different properties of single phase and poly phase ckts.
• To define resonance and study its different properties
Course content:
Chapter 1: Introduction to electric quantities
1.1 Atoms and their Structure
1.2 The nature of electricity
1.3 Electric current and voltage
Chapter 2: The principal law of DC
2.1 The electric circuit and its elements
2.2 Resistance and conductance
2.3 Temperature coefficient of resistance
2.4 Ohm’s law
2.5 Resistances in series
2.6 Resistances in parallel
2.7 Electric energy and power
Chapter 3: $etwork theorems
3.1 Kirchhoff’s laws
3.2 Mesh and Node analysis
3.3 Current and voltage divider rule
3.4 Types of Sources and their conversion
3.5 Superposition theorem
3.6 Thevenin theorem
3.7 Norton’s theorem
3.8 Maximum power transfer
3.9 Delta-star and star-delta transformation
Chapter 4: Electrostatic
4.1 Introduction
4.2 Electric field
4.3 Coulomb’s law
4.4 Electrostatic induction
4.5 Electric potential and energy
4.6 Capacitance
4.7 Capacitor
4.8 Calculation of capacitance
4.9 Capacitance in series
4.10 Capacitance in parallel
4.11 Energy stored in a capacitor
4.12 Force of attraction between charged plates
4.13 Charging of a capacitor
4.14 Discharging of a capacitor
Chapter 5: Magnetism and Electromagnetism
5.1 General
5.2 Characteristic of lines of magnetic field
5.3 Electromagnetism: - magnetic field due to an electric current, magnetic field of a
solenoid, Force on a current carrying conductor, Ampere's law, Biot-Savart Law
5.4 Magnetic circuit: - Comparison of magnetic and electric circuits, properties of
magnetic material, Introduction to magnetic circuit, Comparison of
electromagnetic and electrostatic terms.
Text book:
• Boylestad: - Introduction to circuit analysis, 7th Edition.
References:
• J. D. Irwin: Basic engineering circuit Analysis, 5th Ed.
• Bobrow: Fundamentals of Electrical Engineering, 2nd Ed.
• Hughes: Electrical Technology, 7th Ed.
Course Description: The material in discrete structures is pervasive in the areas of data
structures and algorithms but appears elsewhere in computer science as well. This course focuses
on Functions, relations, and sets; Basic logic; Proof techniques; Basics of counting; Graphs and
trees; Discrete probability;
Course Outline
Chapter 1: Functions, relations, and sets
1.1 Functions (surjections, injections, inverses, composition)
1.2 Relations (reflexivity, symmetry, transitivity, equivalence relations)
1.3 Sets (Venn diagrams, complements, Cartesian products, power sets)
1.4 Pigeonhole principle Cardinality and countability
Chapter 2: Basic logic
2.1Propositional logic
2.2 Logical connectives
2.3 Truth tables
2.4 Normal forms (conjunctive and disjunctive)
2.5 Validity
2.6 Predicate logic
2.7 Universal and existential quantification
2.8 Modus ponens and modus tollens
2.9 Limitations of predicate logic
Chapter 3: Proof techniques
3.1 Notions of implication, converse, inverse, contrapositive, negation, and contradiction
3.2 The structure of formal proofs
3.3 Direct proofs
3.4 Proof by counterexample
3.5 Proof by contraposition
3.6 Proof by contradiction
3.7 Mathematical induction
3.8 Strong induction
3.9 Recursive mathematical definitions
3.10 ell orderings
Chapter 4: Basics of counting
4.1 Counting arguments
4.2 Sum and product rule
4.3 Inclusion-exclusion principle
4.4 Arithmetic and geometric progressions
Teaching Methods: Lecture supported by laboratory and group discussion and demonstration
Methods of Evaluation:
• Assignments 10%;
• Mid examination 30%;
• Final examination 60%.
Course Objective: At the end of the course, the student should be able to:
• explain of basic principles and analysis of circuit theory;
• explain of basic principles of semiconductor electronics;
• explain of basic principles of analogy/digital electronics;
• work on different electronic components and circuits
• work on operational amplifiers
Course Description
Introduction: Atomic structures, Energy band theory of crystal, Classification of materials into
metals, semiconductors, and insulators based on energy bands; Semiconductor theory; Types of
Semiconductor Diodes: PN-junction diodes, Zener diodes, Other types of diodes; Bipolar
Junction Transistors: Construction, Configuration, Input-output characteristics, and Equivalent
circuit of transistors, Applications, Low frequency and high frequency analysis of transistors,
Transistor biasing, Oscilloscopes, Function generators ,introduction to IC family, Characteristics
of Digital ICs, Voltage , and Current Rating , Noise Margin , Propagation Delay , Power
dissipation, TTL logic Family & Other Families, CMOS.
Course Outline:
Chapter 1: Alternating Current Circuits
Chapter 2: Signal Analysis
Chapter 3: Diodes
Chapter 4: Rectifiers
Chapter 5: Filters
Chapter 6: Bipolar Junction Transistors
Chapter 7: Field- Effect Transistors
Chapter 8: Common Transistor Circuits
Chapter 9: Operational Amplifiers
Chapter 10: Digital and Analog Electronic Systems.
Teaching Methods: Lecture supported by laboratory and group discussion and demonstration
Methods of Evaluation:
Mid-----------------------------------30%
Final examinations----------------- 40%
Assignments------------------------10%
Lab report---------------------------20%
References
• J.J. Brophy: Basic Electronics for Scientists (McGraw-Hill International, 1990)
• H.V. Malmstadt, CG. Enke, E.G. Toren, Electronics for Scientists, W.A. Benjamin, Inc.
New York, 1962
• D. Deininger, Basic Electronics, Addis Ababa University, 1983
• B-H. Vassos, G.W. Ewing, Analog and Digital Electronics for Scientists, John Wiley,
New York, 1980
• R.E. Simpson, Introductory Electronics for Scientists and Engineers, Allyn &. Bacon,
Inc, Massachusetts, 1987
Course Objectives:
Successful students in this course will be able to:
Course Outline:
Team project
Guest speakers will be invited to discuss various stages of the entrepreneurial process.
Evaluation:
Continuous Assessment 10 %
Project Work: 40%
Final Exam: 50%
Textbook:
John D. Pervy W.H, how to start and run and succeed in your business 1983, 6th ed
References:
Jeffdry A. Timmons, New Venture Creation, Entrepreneurship in the 1990’s, 3rd ed. Irwin.
H.N. Broom , Small business management. 1983, 6th ed.
Justin G. Longenecker and Carlos W. Moore, Small Business Management, 8th ed., College
Division South Western Publishing Co Dallas, 1991.
Keith L.A Introduction to Business Enterprise
5. Ken R. Blawatt Entrepreneurship: Process and management, 1998
Course Objective: At the end of the course students will be able to:
• Have civic knowledge on various issues such as on meaning and definition of civics and
ethics, Constitutionalism, Democracy, Human Rights, State, and Government etc.
• Clearly understand their rights and responsibilities and then exercise their rights and
discharge their responsibilities.
• Develop civic attitude such as Patriotism, civic mindedness, Active participation,
Tolerance etc.
• Develop civic skills such as accurate decision making, expression of one self clearly and
logically, Conflict resolution etc.
• Start behaving exactly as good citizens and play a crucial role in the democratization
process of the state.
• Identify the main ethical issues in IT fields
Course Description
This fundamental objective of Civic and Ethical Education is producing good citizens with higher
civic qualities. Good citizen who are well aware of their rights and responsibilities as well as
endowed with various type civic virtues such as active participation, tolerance, Civic mindedness
etc have a lot to contribute in the process of democratization and development of their own state.
In view of this, this course is designed to familiarize students with basic themes and concepts of
civic and ethical education, constitutionalism, Democracy, Human Rights and some other
pertinent issues in achieving the basic goal of the subject matter.
The vary nature of civic education requires active participation from the part of students in
various ways such as forwarding original arguments, participating in class discussions, debates,
Presentation etc. . Thus students are highly expected to act accordingly for the successful delivery
of the course.
Course Outline
Chapter 1: Introduction:
1.1Definition of Civics and Ethics
1.2Foundations of civics and ethical education
1.3The interdisciplinary nature of civics and ethical education
Chapter 2: Constitutional Development:
2.1 Definition of Constitution
2.2 Purpose and Functions of Constitution
2.2 Origin and development of Constitution
2.3 USA and UK
2.4 Constitutional experiences of Ethiopia Pre-1931
2.5 The first written constitution of Ethiopia -1931
2.6 The revised constitution of PDRE( Dreg Era 1974-1991)
2.7 The Charter of the TGE (1991-1995)
2.8 The constitution of FDRE
References
Course Description: English is a vital language to use in the class room and in a daily
communication As a result, this course deals with senternce types, listening skills and
writing essays.
Course Outline
Chapter 1: Essential requirements for written English
1.1 Simple, Complex, and Compound Sentences
1.2 Various Clauses
1.3 Punctuation
1.4 Itemizing and Paragraphing
Exercises involving the students taking down the notes when a few topics are dictated
Chapter 3: Essential requirements for written English
3.1 Simple, Complex, and Compound Sentences
3.2 Various Clauses
3.3 Punctuation
3.4 Itemizing and Paragraphing
Course Objective: At the end of the course students will be able to:
• Understand the role of the language in the logic and argument process
Course Description
This course emphasizes on major concepts and ideas of logic to enable learners to draw sound
arguments in convincing others as well as to be convinced by others whenever they involve in
arguments process. Inline with this understanding, the course will focuses on the definition of
logics, meaning of arguments, types of argument, art of argument, the role of language in logic
and argument process, common reasoning defects in argument fallacies, categorical syllogism,
propositions and symbolic logic.
Course Outline
Chapter 1: Introduction:
1.1What is logic and its uses
Chapter 2: $ature of Arguments:
2.1 Define arguments
2.2 Non argument expressions
2.3 Type of arguments (Deductive and Inductive)
2.4 Validity and Invalidity: Truth and Falsity
2.5 Sound and Unsound Arguments
2.6 Strength and weakness: Truth and Falsity
2.7 Cogent and unclogging arguments
2.8 Evaluating an arguments
Chapter 3: Definitions:
Cognitive and Emotive meaning of terms
Intension and Extension of terms
Definitions and their purposes
Definitional Techniques
Criteria for lexical definitions
Chapter 4: Informal Fallacies:
4.1Fallacies of Relevance
4.2 Fallacies of Weak Induction
4.3 Fallacies of Presumptions
4.4 Fallacies of Ambiguity
4.5 Fallacies of Grammatical Analogy
Chapter 5: Syllogistic Logic:
Categorical Propositions: Standard Form and Types
Square of Oppositions: Traditional and Modern
Role of Immediate Inference and Formal fallacies
Categories Syllogism: Standard Form, Mood and Figure
Syllogistic Rules and Formal Fallacies
Methods of Testing Validity
Chapter 7: Induction:
7.1 Analogy and legal and moral reasoning
7.2 Causality and Mill's Methods
7.3 Hypothetical Reasoning
Teaching & Learning Methods: Lectures supported by tutorials, assignments and Exercises
Reference