Mission Statement Introduction to FIT Campus Location Facilities Virtual Tour      -------------------------------------- Organization Directory Charter
BSCS (Honors) MSCS (Equivalent to M.Phil) MS (Telecommunication Systems) Ph.D.      -------------------------------------- BS Courses MS Courses
Admission Procedure Admission Requirements Fees & Financial Aid      -------------------------------------- Application Form Admission Test Demo
Pro-Rector & Deans Faculty/Research Collaborators
The Ushers Club SEE Blood Donor Society SACS Movie Club Dramatic Club Debating Society Society of Electoronics & Telecom. Sports Club Adventure Club Nom de Plume - (Literary Club)
Faculty of Information Technology - UCP
UCP Home    Faculty Home    UCP Online    Career Placement    Alumni    Site Map
go
Information Technology > Degrees & Programs > BS Courses
BSCS - Honors
MSCS - Equivalent to M.Phil
MS - Telecomm. Systems
Ph.D.
BS - Courses
MS - Courses

BS Courses

Following Courses are being offered at Faculty of Information Technology:

 


Computing Core Courses

INTRODUCTION TO COMPUTING

Course Structure: 4(3+1)

Pre – Requisite: None
Post Course(s): Programming Fundamentals, Object Oriented Paradigms

Objectives

This course focuses on a breadth-first coverage of computer science discipline, introducing computing environments, general application software, basic computing hardware, operating systems, desktop publishing, Internet, software applications and tools and computer usage concepts; Introducing Software engineering and Information technology within the broader domain of computing, Social issues of computing.

Course Outline

Number Systems, Binary numbers, Boolean logic, History computer system, basic machine organization, Von Neumann Architecture, Algorithm definition, design, and implementation, Programming paradigms and languages, Graphical programming, Overview of Software Engineering and Information Technology, Operating system, Compiler, Computer networks and internet, Computer graphics, AI, Social and legal issues. Peripheral Devices. Monitor (Resolution Issues). Computer Structures. Bus Structure. Basic Operations of the Computer. Representation of Data in the Memory. Storage Technologies. Using Files. Digital Electronics. (Inside The System Unit. Digital Data Representation. Data Representation Codes. Data Transport.). Memory. (Virtual Memory. Read only Memory.) Central Processing Unit. (CPU Architecture. Instructions Instruction Cycle. Pipelining & Parallel Processing). Data Security & Viruses, Vandalism and Computer crime. Data Security & Risk Management. Program Planning & Design. Control Structures & Program Writing. (Boolean Expressions. Definition of Control Structures. Selection. Repetition). Introduction to Arrays, Searching, Sorting, Data Structures. Data Files. (Text & Binary Files). Software Engineering.

Suggested Book(s)

  1. Computer Concepts by June Jamrich Parsons, 2nd edition.
  2. Introduction to Computer Science by Ramon A. Mata Toledo & Pauline K.Cushman.
  3. An Overview of Computer Science, 6th edition by J.Glenn Brookshear.
  4. Computer Systems, 6th Edition by Stanley Warford.
  5. Introduction to Computers, 4th edition by Peter Norton.
  6. Computer Fundamentals by P.K.Sinha.
  7. Computers: Information Technology in Perspective, 9/e by Larry Long and Nancy Long, Prentice Hall, 2002/ISBN: 0130929891.
  8. An Invitation to Computer Science, Schneider and Gersting, Brooks/Cole Thomson Learning, 2000.
  9. Computer Science: An overview of Computer Science, Sherer.

Top ^

 

PROGRAMMING FUNDAMENTALS

Course Structure: 4(3+1)

Pre - Requisite: Introduction to Computing
Post Course(s): Object Oriented Paradigms

Objectives

The course is designed to familiarize students with the basic structured programming skills. It emphasizes upon problem analysis, algorithm designing, and programme development and testing.

Course Outline

Algorithms and problem solving, development of basic algorithms, analyzing problem, designing solution, testing designed solution, fundamental programming constructs, translation of algorithms to programmes, data types, control structures, functions, arrays, records, files, testing programmes.


Suggested Books

  1. Programme Design with Pseudo-code, Bailey and Lundgaard, Brooks/Cole Publishing, 1988
  2. Simple Programme Design: A step-by-step approach, 4/e, Lesley Anne Robertson, ISBN: 0-619-16046-2 © 2004.

Top ^

 

OBJECT ORIENTED PARADIGMS

Course Structure: 4(3+1)

Pre – Requisite: Programming Fundamentals
Post Course(s): -

Objectives

The course aims to focus on object-oriented concepts, analysis and software development.

Course Outline

Evolution of OO, OO concepts and principles, problem solving in OO paradigm, OO programme design process, classes, methods, objects and encapsulation; constructors and destructors, operator and function overloading, virtual functions, derived classes, inheritance and polymorphism. I/O and file processing, exception handling

Suggested Books

  1. Understanding Object Oriented Programming, Budd, Addison Wesley.
  2. Java: How to Programme, 5/e, Deitel and Deitel, Prentice Hall, 0131016210/ 0131202367 International Edition.
  3. C++: How to Programme, Deitel and Deitel, 4/e, Pearson.
  4. Thinking in C++, 2nd Edition, Bruce Eckel, Prentice Hall.

Top ^

 

DATA STRUCTURES & ALGORITHMS

Course Structure: 4(3+1)

Pre – Requisite: -
Post Course(s): Analysis of Algorithms

Objectives

The course is designed to teach students about structures and algorithms which allow them to write programs which can efficiently manipulate, store, and retrieve data.

Course Outline

Introduction to data structures; Arrays, Stacks, Queues, Priority Queues, Linked Lists, Trees, and Graphs. Recursion, sorting and searching algorithms, Hashing, Storage and retrieval properties and techniques for the various data structures. Algorithm Complexity, Polynomial and Intractable Algorithms, Classes of Efficient Algorithms, Divide and Conquer, Dynamic, Greedy. Algorithm Analysis, Introduction to recursion. Recursive algorithms and their analysis, Performance issues of recursive algorithms. LAB (Implementing Recursive algorithms). Data Types and Abstract Data Types (ADTs), Common ADTs and their use in Computer Software. The Array as an ADT, Using and implementing one dimensional and multidimensional array. LAB on Array ADT. The List ADT, Simple Array Implementation of Lists. Linked Lists, Doubly Linked Lists, Circularly Linked List. LAB on List ADT. Stack ADT, Implementation of Stack using array. Implementation of Stack using Linked List, Applications of Stack. LAB on Stack ADT. Queue ADT, Implementation of Queue. Implementation of Queue using Stack and using Link List, Application of Queues. LAB on Implementation of Queue. Overview of Tree data structure, Tree Properties, Types of Trees etc. Binary Tree ADTs, Traversals and Iterators, Implementation (continued) LAB on Trees Binary Tree implementation, Expression Trees. Review & Brief Discussion about midterm. Binary Search Tree, BST operations. LAB on Trees. BST Operations (continued). Height Balanced Trees i.e. AVL Trees LAB on Trees. AVL tree Implementation (continued). B Trees ADT’s Overview. Lab on Trees. Spanning Trees. Hashing, hash functions description. Open Hashing, Closed Hashing, Rehashing. Lab on Hashing. Priority Queues and Binary Heap and their Implementation. Lab on Priority Queues and Binary Heaps. Insertion Sort, Shell Sort, Merge Sort, Quick Sort, Radix Sort, etc. Lab on Sorting Algorithms. Expression Evaluation. Graphs.

Suggested Books

  1. Data Abstraction and Problem Solving with C++, 2nd ed, Frank M. Carrano, Paul Helman, Robert Veroff, Addison-Wesley, 1998.
  2. Data Structures and Algorithms (SAMS teach yourself), Lafore, Sams Publishing, 1999.
  3. Data Structures in JAVA, Standish, Addison Wesley, 2000
  4. Data Structure and Algorithm Analysis in C, 2nd Edition by Mark Allen Weiss
  5. Data Structure and Algorithm Analysis in C++, 2nd Edition by Mark Allen Weiss
  6. Data Structure using C and C++, 2nd Edition by Yedidyah Langsam, Moshe j. Augenstein, Aaron M. Tenenbaum
  7. Fundamental of Data Structure in C++ by Ellis Horowitz, Sartaj Sahni, Dinesh Mehtah

Top ^

 

DISCRETE STRUCTURES


Course Structure: 3(3+0)

Pre – Requisite: -
Post Course(s): -

Objectives

Introduces the foundations of discrete mathematics as they apply to Computer Science, focusing on providing a solid theoretical foundation for further work. Further, this course aims to develop understanding and appreciation of the finite nature inherent in most Computer Science problems and structures through study of combinatorial reasoning, abstract algebra, iterative procedures, predicate calculus, tree and graph structures.

Course Outline

Introduction to logic and proofs: Direct proofs; proof by contradiction, Sets, Combinatorics, Sequences, Formal logic, Prepositional and predicate calculus, Methods of Proof, Mathematical Induction and Recursion, loop invariants, Relations and functions, Pigeon whole principle, Trees and Graphs, Elementary number theory, Optimization and matching. Fundamental structures: Functions (surjections, injections, inverses, composition); relations (reflexivity, symmetry, transitivity, equivalence relations); sets (Venn diagrams, complements, Cartesian products, power sets); pigeonhole principle; cardinality and countability.

Suggested Books

  1. Discrete Mathematics and Its Applications, 5th edition; by Rosen; McGraw-Hill; 0-07-242434-6.
  2. Discrete Mathematics by Richard Johnsonbaugh, Prentice Hall, 0135182425.
  3. Discrete Mathematical Structures, 4th Edition, by Kolman, Busby & Ross, 2000, Prentice-Hall, ISBN: 0-13-083143-3.

Top ^

 

DIGITAL LOGIC & COMPUTER ARCHITECTURE

Course Structure: 4(3+1)

Pre – Requisite: Discrete Structures, Introduction to Computing
Post Course(s): -

Objectives

This course introduces the concept of digital logic, gates and the digital circuits. Further, it focuses on the design and analysis combinational and sequential circuits. It also serves to familiarize the student with the logic design of basic computer hardware components.

Course Outline

Overview of Binary Numbers, Boolean Algebra, switching algebra, and logic gates, Karnaugh Map and Quin-McCluskey methods, simplification of Boolean functions, Combinational Design; two level NAND/NOR implementation, Tabular Minimization, Combinational Logic Design: adders, subtracters, code converters, parity checkers, multilevel NAND/NOR/XOR circuits, MSI Components, design and use of encoders, decoders, multiplexers, BCD adders, and comparators, Latches and flip-flops, Synchronous sequential circuit design and analysis, Registers, synchronous and asynchronous counters, and memories, Control Logic Design, Wired logic and characteristics of logic gate families, ROMs, PLDs, and PLAs, State Reduction and good State Variable Assignments, Algorithmic State Machine (ASM) Charts, Asynchronous circuits, Memory systems, Functional organization, Multiprocessor and alternative architectures: Introduction to SIMD, MIMD, VLIW, EPIC; systolic architecture; interconnection networks; shared memory systems; cache coherence; memory models and memory consistency, Performance enhancements, Contemporary architectures. Design of RAMO, ROM.

Suggested Books

  1. Digital Design, 2nd Ed., M. Morris Mano, Prentice Hall, 1991.
  2. Practical Digital Logic Design and Testing, P K Lala, Prentice Hall, 1996.

Top ^

 

DATABASE SYSTEMS

Course Structure: 3 (3+0)

Pre – Requisite: Data Structures & Algorithms
Post Course(s): -

Objectives

The course aims to introduce basic database concepts, different data models, data storage and retrieval techniques and database designtechniques. The course primarily focuses on relational data model and DBMS concepts.


Course Outline

Basic database concepts; Entity Relationship modeling, Relational data model and algebra, Structured Query language; RDBMS; Database design, functional dependencies and normal forms; Transaction processing and optimization concepts; concurrency control and recovery techniques; Database recovery techniques; Database security and authorization. Small Group Project implementing a database. Physical database design: Storage and file structure; indexed files; hashed files; signature files; b-trees; files with dense index; files with variable length records; database efficiency and tuning Data Warehousing and Data Mining, Emerging Database Technologies and Applications. ISAM, VSAM.


Suggested Books

  1. Database Systems, C.J.Date, Addison Wesley Pub. Co. (2004).
  2. Database Systems: A Practical Approach to Design, Implementation and Management, R.Connolly and P.Begg, Addison-Wesley Pub. Co (2003).
  3. Fundamentals of Database Systems, 3/E, Elmasri and Navathe, Addison-Wesley, ISBN: 0-201-74153-9.
  4. “Modern Database Management”, Haffer Jeffery, 6th Edition.

Top ^

 

DATABASE SYSTEMS (LAB)

Course Structure: 2(0+2)

Pre – Requisite: -
Post Course(s): -

Objectives

Lab Work.

Suggested Books

5. Database Systems, C.J.Date, Addison Wesley Pub. Co. (2004).
6. Database Systems: A Practical Approach to Design,     Implementation and Management, R.Connolly and P.Begg,     Addison-Wesley Pub. Co (2003).
7. Fundamentals of Database Systems, 3/E, Elmasri and Navathe,     Addison-Wesley, ISBN: 0-201-74153-9.
8. “Modern Database Management”, Haffer Jeffery, 6th Edition.

Top ^

 

OPERATING SYSTEMS

Course Structure: 4(3+1)

Pre – Requisite: Data Structures & Algorithms
Post Course(s): -

Objectives

The objective of this course is to give students knowledge of construction and working of Operating systems, to enable them to understand management and sharing of computer resources, communication and concurrency and develop effective and efficient applications and also to appreciate the problems and issues regarding multi-user, multitasking, and distributed systems.

Course Outline

History and Goals, Evolution of multi-user systems, Process and CPU management, Multithreading, Kernel and User Modes, Protection, Problems of cooperative processes, Synchronization, Deadlocks, Memory management and virtual memory, Relocation, External Fragmentation, Paging and Demand Paging, Secondary storage, Security and Protection, File systems, I/O systems, Introduction to distributed operating systems. Scheduling and dispatch, Introduction to concurrency. Lab assignments involving different single and multithreaded OS algorithms. Different OS Concerns --- (Scheduling and Resource Management, Information Protection and Security, User Interface, System Calls)Process (A Structured Review of Multiprocessing, Two, Three, Five and Seven State Process Models Process Implementation (Process tables and other Control Structures, Process Attributes), Process Execution Modes, Basics of Process Scheduling, Multithreaded Processes (Thread Basics, KLT’s and ULT’s, Hybrid threads and other variations), Inter-Process Communication, Concurrency Concerns and IPC problems (Critical Sections, Mutual Exclusion and Its basic implementation methods (S/W Based techniques, H/W Based techniques, Semaphores, Monitors and Mutexes, Deadlocks (Basic problem and its causes, Ostrich Algorithm, Disk Management (Disk Scheduling, RAID)), Disk Cache, File organization and Management, I/O Control (Basics, I/O Functional organization, I/O Buffering), Scheduling and Resource Management (Discussion on different Uni – processor scheduling algorithms with a deeper touch of scheduling problems), Issues in Multiprocessor Scheduling, Real Time Scheduling, Information Protection and Security (Security Flaws, Protection Mechanisms). File Management, File System, Directory Structures.

Suggested Books

  1. “Modern Operating Systems”, 2nd Edition, 2002, Tanenbaum, A. S., 2001
  2. Silberschatz / Galvin, “Operating System Concepts”, 1st Edition, 1991, Prentice Hall Inc.
  3. Applied Operating Systems Concepts, 6th Edition, Silberschatz A., Peterson, J.L., & Galvin P.C. 1998.

Top ^

 

COMPUTER COMMUNICATION &NETWORKS

Course Structure: 4(3+1)

Pre – Requisite: -
Post Course(s): -

Objectives

To introduce students to the concept of computer communication. Analogue & digital transmission. Network Layers, Network models (OSI, TCP/IP) and Protocol Standards. Emphasis is given on the understanding of modern network concepts.

Course Outline

Analogue and digital Transmission, Noise, Media, Encoding, Asynchronous and Synchronous transmission, Protocol design issues. Network system architectures (OSI, TCP/IP), Error Control, Flow Control, Data Link Protocols (HDLC, PPP). Local Area Networks and MAC Layer protocols (Ethernet, Token ring), Multiplexing, Switched and IP Networks, Internetworking, Routing, Bridging, Transport layer protocols TCP/IP, UDP. Network security issues. Programming exercises or projects involving implementation of protocols at different layers.


Suggested Books

  1. Introduction to Computer Networks, Tanenbaum
  2. Unix Network Programming, Richard Stevens
  3. Computer networks: a systems approach, Larry Peterson, Bruce Davie, Princeton Univ., Princeton.
  4. Computer Networking: A Top-Down Approach Featuring the Internet, 2/e, James F Kurose, Keith W Ross, Addison Wesley 2003. ISBN: 0-201-97699-4.
  5. Data Communication and Network by Behrouz A. Forouzan, 2nd edition.

Top ^

 

INTRODUCTION TO SOFTWARE DEVELOPMENT

Course Structure: 4(3+1)

Pre – Requisite: Data Structures & Algorithms
Post Course(s): -

Objectives

To study various software development models and phases of software development life cycle. The concepts of project management, change control, process management, software development and testing are introduced through hands-on Team Projects.

Course Contents

Introduction to Computer-based System Engineering; Project Management; Software Specification; Requirements Engineering, System Modelling; Requirements Specifications; Software Prototyping; Software Design: Architectural Design, Object-Oriented Design, UML modelling, Function- Oriented Design, User Interface Design; Quality Assurance; Processes & Configuration Management; Introduction to advanced issues: Reusability, Patterns; Assignments and projects on various stages and deliverables of SDLC.Modeling the system architecture, System modeling. System specification. System Proposal Documentation Design Phase: functional approach .DFD, levels, Software Design, costing, Risk analysis, Software Design types, procedural, architectural, data design, and interface design Software Testing techniques. Functional specification, Design Refinement and verification, Testing, Project Presentations. Classifying and retrieving engineering tech. Report writing, Introduction to CASE tools.


Suggested Books

  1. Object-Oriented Software Engineering, Stephan Schach, Irwin, 1999.
  2. Software Engineering - A practitioner's Aproach by Roger S Pressman, 2001
  3. Software Engineering by Sommer Villi

Top ^

 

SENIOR SOFTWARE PROJECT

Course Structure: 6(6+0)

Pre – Requisite: Software Engineering-I, Database Systems, Computer Architecture
Post Course(s): None

Objectives

The software project involves research, conceive, plan and develop a real and substantial project related to computer science. It provides an opportunity to the students to crystallize their acquired professional competence in the form of a demonstrable software product. Make oral and written project presentations.

Resources

  1. Software Project Management in Practice by Jalote, Pankaj.

Top ^

 

Computer Science Core Courses

COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE


Course Structure: 4(3+1)

Pre – Requisite: -
Post Course(s): -

Objectives

The main objective of this course is to introduce the organization of computer systems and usage of assembly language for optimization and control. Emphasis should be given to expose the low-level logic employed for problem solving while using assembly language as a tool. At the end of the course the students should be capable of writing moderately complex assembly language subroutines and interfacing them to any high level language.

Course Outlines

Objectives and Perspectives of Assembly Language, Microprocessor Bus Structure: Address, Data and Control, Memory Organization and Structure (Segmented and Linear Models), Addressing Modes, Introduction to the Assembler and Debugger, Introduction to Registers and Flags, Data Movement, Arithmetic and Logic, Programme Control, Subroutines, Stack and its operation, Peripheral Control Interrupts, Interfacing with high level languages, Real-time application. Introduction to computer architecture, Intel Architecture History, IA-32 Processor, Assembly Language Fundamentals, Elements of Assembly Language, Data Transfer, Addressing Modes, Arithmetic’s, Procedures, Link to external Libraries, Stack Operations, Conditional Processing, Integer Arithmetic, Extended Addition & Subtraction, Advance Procedures, Recursion, Interrupts, DOS Services, BIOS services, Structure & Macros, Disk Fundamentals.


Suggested Book(s)

  1. Assembly Language For Intel Based Computers, 4/E By: Kip R. Irvine
  2. Using Assembly Language (3rd Edition) By: Allen L. Wyatt, Sr.

Top ^

 

THEORY OF AUTOMATA & FORMAL LANGUAGES

 

Course Structure: 3(3+0)

Pre – Requisite: Discrete Structures
Post Course(s): -

Objectives

The course aims to develop an appreciation of the theoretical foundations of computer science through study of mathematical & abstract models of computers and the theory of formal languages. Theory of formal languages and use of various abstract machines as ‘recognizers’ and parsing will be studied for identifying/validating the synthetic characteristics of programming languages. Some of the abstract machines shall also study as ‘Transducers’.

Course Outline

Finite State Models: 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: 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: Turing machines, Post machine, Variations on TM, TM encoding, Universal Turing Machine, Context sensitive Grammars, Defining Computers by TMs.


Suggested Books

  1. Theory of Automata By C.J. Martin
  2. Introduction to Computer Theory, Denial Cohen, John Wiley & Sons, Inc
  3. Introduction to Automata Theory, Languages & Computation, J Hopcraft, D. Ullman
  4. Languages & Machines, An Into to the Theory of Computer Science, 2/e Thomas A. Sugkamp, Addison Wesley.
  5. “An Introduction to Formal Language & Automata”, 3/e, Peter Linz.

Top ^

 

ANALYSIS OF ALGORITHMS


Course Structure: 3(3+0)

Pre – Requisite: Discrete Structures, Data Structures
Post Course(s): Advance Analysis of Algorithms

Objectives

Detailed study of the basic notions of the design of algorithms and the underlying data structures. Several measures of complexity are introduced. Emphasis on the structure, complexity, and efficiency of algorithms.

Course Outline

Methodologies for Analyzing Algorithms. Asymptotic Notations. Basic and Advance Data Structures. Sorting Algorithms (Insertion Sort and Analysis, Merge Sort and Analysis, Heap Sort, Heapification, Priority Queues, Quick Sort, Sorting in linear time, Comparison of Sorting Algorithms). Graph Traversals (Elementary Graph Theory and BFS, DFS and its Applications), Advance Algorithm Design & Analysis Techniques (Elements of Greedy Approach and Dynamic Programming, Coin Change Problem, Knapsack Problem, Greedy Versus Dynamic Programming). Graph Algorithms (Minimum Spanning Tree, Kruskal’s Algorithm, Prim’s Algorithm, Single Source Shortest Path, Bellman Ford Algorithm, Dijkstra’s Algorithm), Text Processing Algorithms(String and Pattern Matching Algorithm, Shortest paths; Network flow; Disjoint Sets; Polynomial and matrix calculations; String matching; Text Compression Algorithm and Huffman Coding), NP – Completeness. Approximation algorithms.

Suggested Book(s)

  1. Introduction to Algorithms, 2nd Edition by Cormen, Leiserson, Rivest and Stein.

Top ^

 

ARTIFICIAL INTELLIGENCE


Course Structure: 4(3+1)

Pre – Requisite: Discrete Structures, Analysis of Algorithms
Post Course(s): -


Course Description

This course will introduce the basics of artificial intelligence (AI), its scope and application domain.

Course Contents

Introduction to Common Lisp. AI classical systems: General Problem Solver, rules, simple search, means-ends analysis. ELIZA, pattern matching, rule based translators, OPS-5. Knowledge Representation: Natural language, rules, productions, predicate logic, semantic networks, frames, objects, scripts. Search: Depth first search, breadth first search, best first search, hill climbing, min-max search, A* search. Symbolic Mathematics: student, solving algebra problems, translating English equations, solving algebraic equations, simplification rules, re-write rules, meta-rules, Macsyma, PRESS, ATLAS. Logic Programming: Resolution, unification, horn-clause logic, Prolog, Prolog programming. Sample case studies of shells and Knowledge Based Systems. A brief appreciation of state of the art computational techniques like neural networks, genetic algorithm, fuzzy sets.


Suggested Book(s)

  1. Artificial Intelligence: A modern Approach by Russell and Norvig
  2. Artificial Intelligence by Luger and Stubblefield, 4th edition, Pearson Education.
  3. “Essentials of AI” by Matt Ginsberg.

Top ^

 

NUMERICAL COMPUTING


Course Structure: 4(3+1)

Pre – Requisite: High Level Scientific Programming Language & Calculus, Visual Programming
Post Course(s): -

Objectives

On completion of this unit, students will be able to demonstrate programming proficiency using structured programming techniques in suitable programming languages and implement numerical solutions using computerbased techniques.

Course Outline

Mathematical Preliminaries, Solution of Equations in one variable, Interpolation and Polynomial Approximation, Numerical Differentiation and Integration, Initial Value Problems for Ordinary Differential Equations, Direct Methods for Solving Linear Systems, Iterative Techniques in Matrix Algebra, Solution of non-linear equations. Approximation Theory. Eigenvalues and Eigenvector computation.


Suggested Book(s)

  1. Elements of Numerical Analysis, Dr. Faiz, M. Afzal
  2. "Numerical Analysis” by Burden Faires 5th Edition.
  3. Numerical Recipes in C by William H. Press
  4. Applied Numerical Analysis by Gerald/Wheatley.

Top ^

 

SYSTEM PROGRAMMING


Course Structure: 4(3+1)

Pre – Requisite: Operating Systems
Post Course(s): -

Course Description

Demonstrate mastery of the internal operation of Unix system software including assemblers, loaders, macro-processors, interpreters, interprocess communication.

Course Contents

System Programming overview: Application Vs. System Programming, System Software, Operating System, Device Drivers, OS Calls. Window System Programming for Intel386 Architecture: 16 bit Vs 32 bit, Programming, 32 bit Flat memory model, Windows Architecture. Virtual Machine (VM)Basics, System Virtual Machine, Portable Executable Format, Ring O Computer, Linear Executable format, Virtual Device Driver (V + D), New Executable format, Module Management, COFF obj format 16 bit. (Unix) other 32-bit O.S Programming for I 386; Unix Binaryble format (ELF), Dynamic shared objects, Unix Kernel Programming (Ring O), Unix Device Architecture (Character & Block Devices), Device Driver Development, Enhancing Unix Kernel. Dissembling File System, Memory Management System of DOS/Windows. Programming programmable Devices (PIC, UART, PPI, Interval times, DMA and other devices). Developing Device Drivers.

Suggested Book(s)

  1. The UNIX Programming Environment, B. Kernighan & R. Pike Prentice-Hall, 1984.
  2. System Software, Leland L. Beck, Addison-Wesley Longmsan, 1990, ISBN: 0-201-50945-8.

Top ^

 

Computer Science Elective Courses

COMPILER CONSTRUCTION

Course Structure: 4(3+1)

Pre – Requisite: Theory of Automata, Programming Languages

Post Course(s): -

Objectives

At the end of the course students should understand the overall structure of a compiler, and will know significant details of a number of important techniques commonly used. They will be aware of the way in which language features raise challenges for compiler builders.

Course Outline

Concepts of Compilation ,Language and Syntax , Analysis of Context-free , Languages, Syntax-directed Translation, Lexical & Syntax Analysis, Role of Syntax Analysis. The Construction of a Parser, Role of a Parser. Parsing Techniques, Context-Dependencies, A RISC Architecture as Target, Expressions and Assignments, Conditionals, Iterations, and Boolean Expressions, Procedures and Locality, Further Data Types, Open Arrays, Pointers and Procedure Types, Object-Oriented Concepts, Module and Separate Compilation, Object Code Generation & Optimizations, Detection & recovery from errors, Contrast between Compilers & Interpreters. Object code generation and optimization, detection and recovery from errors. Contrast between compilers and interpreters. LA Automation. Transition Tables, Transition Diagrams. Run Time environment, Code Generation. Tools - LEX, etc.


Suggested Book(s)

  1. Niklaus Wirth. Compiler Construction, Addison-Wesley, 1996
    Alfred V. Aho, Ravi Sethi, Jeffery D. Ullman. Compiler -
  2. Principles, Techniques, and Tools, Addison-Wesley, 1986.
  3. Compiler Design & Construction, by Alfred V. Aho, Ravi Sethi, Hard cover, 2/e, 1987, Van Nostrand Reinhold; ISBN:0317636367

Top ^

 



SOFTWARE ENGINEERING-II

Course Structure: 4(3+1)

Pre – Requisite: Introduction to Software Development, Data Structures

Post Course(s): None

Objectives

The students will study techniques for software verification, validation and testing. They would also study reliability and performance issues in software design and development.

Course Outline

Software verification and validation: Techniques are introduced to evaluate software correctness, efficiency, performance and reliability, integration of these techniques into a verification and validation plan. Technical reviews, software testing, programme verification, prototyping, and requirement tracing. Attitude of industry toward reliability and performance.


Suggested Book(s)

  1. Software Engineering: A Practioner's Approach, Roger Pressman, McGraw-Hill, 2001.
  2. Software Engineering, Ian Sommerville, Addison-Wesley 2001, ISBN: 0-201-39815-X.

 

Top ^

 


COMPUTER GRAPHICS


Course Structure: 4(3+1)

Pre – Requisite: Object Oriented Programming, Visual Programming

Post Course(s): -

Objectives

Study of various algorithms in computer graphics and their implementation in any programming language.

Course Outline

Graphic Systems, Video Display Devices, Raster Scan Systems, Random Scan Systems, Input Devices, Hard Copy Devices, Graphics Software, Coordinate Representations, Graphic Functions, Output Primitives, Points and Lines, Line Drawing Algorithms, Incremental Line Algorithm, DDA Line Algorithm, Bresenham's Line Algorithm, Parallel Line Algorithms, Loading the Frame Buffer, Circle Generating, Algorithms, Properties of Circle, Inside-Outside Test, Scan Line Fill of Curved Boundary Areas, Boundary Fill Algorithm, Flood Fill Algorithm, Character Generation, Line Attributes, Line Type, Line Width, Line Color, Pen and Brush Options, Curve Attributes, Color and Gray Scale levels, Area Fill Attributes, Fill Style, Pattern Fill, Soft Fill, Two Dimensional Geometric Transformations, Translation, Rotation, Scaling, Clipping Operations, Point Clipping, Line Clipping, Cohen-Sutherland Line Clipping, Polygon Clipping, Sutherland-Hodgeman Polygon Clipping, Curve Clipping, Text Clipping, Three Dimensional Concepts, Three Dimensional Display Methods, Viewing Pipeline, Viewing Coordinates, Projections, Parallel Projections, Axonometric Projections, Oblique Projection, Perspective Projections , Depth-Cueing, Three Dimensional Object Representation, Polygon Surfaces, Polygon Tables, Plane Equations, Polygon Meshes, Curved Lines and Surfaces, Quadric Surfaces, Sphere, Ellipsoid , Torus, Octrees, Fractal Geometry Methods, Self Similar Fractals, Self Squaring Fractals, Self Inverse Fractals, Shape Grammars and Other Procedural Methods, Three Dimensional Geometric and Modeling Transformations, Translation, Scaling, Rotation, Coordinate-Axes Rotations, General Three Dimensional Rotations, Composite Transformations, Classification of Visible Surface, Detection Algorithms, Back Face Detection, Depth Buffer Method, Scan Line Method, Depth Sorting Method, BSP Tree Method, Area Subdivision Method, Ray Tracing, Light Sources, Ambient light, Diffuse Reflection, Specular Reflection and Phong model, Half tone patterns and Dithering Techniques, Polygon Rendering Methods, Constant Intensity Shading, Gouraud Shading, Phong Shading, Fast Phong Shading. Parametric Cubic Curves, Bicubic Surfaces.

Suggested Book(s)

  1. Computer Graphics by Donald Hearn, M. Pauline Baker: Prentice Hall
  2. Computer Graphics Principles & Practice by Foley, Van Dam, Feiner, Huges
  3. Computer Graphics, F.S.Hill, Maxwell MacMillan ISBN: 0-02-354860-6

 

Top ^

 


DISTRIBUTED DATABASE SYSTEMS

 

Course Structure: 4(3+1)

Pre – Requisite: Database Systems

Post Course(s): -

Objectives

The student will learn the design, algorithms and techniques involved in distributed database system and their implementation.

Course Outline

Advanced data models. Conceptual Database design. Concurrency control techniques. Recovery techniques. Query processing and optimization. Integrity and security. Client-Server architecture. Distributed database systems. Current trends in database systems. Database machines.


Suggested Book(s)

  1. Distributed Databases: Principles and System, Ceri and Pelagatti McGraw-Hill Book Company 1984, ISBN: 0-07-010829-3.
  2. “Principles of Distributed Database Systems”, Tamer Ozsu, Patrick Valduciez, 2/e.


Top ^

 


VISUAL PROGRAMMING

 

Course Structure: 4(3+1)

Pre – Requisite: Data Structures

Post Course(s): None

Objectives

To development applications using various tools and APIs in visual programming.

Course Outline

Introduction to Windows programming, Use of Windows API, MFC Class hierarchy, Class Wizard, Application Wizard and Application Studio, Graphics Device Interface, Menus, document view architecture, Multiple Views, files and archiving mechanisms, converting Windows programmes to MFC, Sub-classing controls. Iamge & Bitmap Serialization. Statis Libraries, Dynamic Link Libraries. Database Handling. Socket Programming. Internet programming. Threading, Multithreading and MultiTasking. Active X Controls, COM Based Programming.


Suggested Book(s)

  1. MFC from the Ground Up.
  2. Windows 98 API Programming.
  3. VC++ A complete References.
  4. Mastering Visual C++ 6.0, by Michael J. Young
  5. Inside Visual C++ by Dravid
  6. Windows Programming 98/Me/2000/NT
  7. Using Visual C ++, Kate Gragory, QUE Series


Top ^

 


COMPUTER ARCHITECTURE

 

Course Structure: 3(3+0)

Pre – Requisite: Digital Logic & Computer Architecture

Post Course(s): Advance Computer Architecture

Course Description

This course provides an introduction to computer architecture, working up from the logic gate level; combination and sequential networks; computer arithmetic; arithmetic/logic units; memory organization; and control unit design. A number of contemporary processor architectures including RISC and CISC are discussed and compared. The course covers various approaches to computing systems including single processor, multiple processors, parallel processors, and network architecture. Specific emphasis is on understanding the leading commercially available architectures.

Course Outline

Computer organization: Control unit design, Instruction execution and sequencing of control signals. Hardwired and Micro programmed control. Input-output – Programmed, Interrupt driven and DMA I/O and interface design. Arithmetic logic unit implementation, addition, subtraction, multiplication and division operations for Integer and Floating point numbers. Memory organization, memory hierarchy, cache memories -mapping functions and page replacement policies, memory management requirements and virtual memory hardware support. Fundamentals of computer communications and error control. Review of Computer Organization. Introduction to Architecture / Overview. Measuring Performance. Instruction Set Principles. Introduction to Pipelining. Advanced Pipelining. Dealing with Hazards. Instruction Level Parallelism. Hardware and Software Support for ILP. Memory Hierarchy Design. Storage System Design. High Performance Arithmetic

Suggested Books

  1. Computer Architecture: A Quantitative Approach, 3rd Edition (May 15, 2002) by Hennessy, Patterson and Goldberg. Published by Morgan Kaufmann

Top ^

 


PRINCIPLES OF PROGRAMMING LANGUAGES

 

Course Structure: 3(3+0)

Pre – Requisite: -

Post Course(s): -

Course Description

This course would act as a bridge between the theory of automata and the compiler construction. Course contains the design considerations for high-level languages, additionally various notational representations of programming languages i.e. syntax and semantics will be studied. This course also focuses on the core items of the various programming languages such as types, sequence controls, sub-program, storage management etc.

Course Contents

Why Study Programming Language, History of Programming Languages(Development of early languages, Evolution of Software Architecture, Application Domain, Practicalities, Criteria), Programming Languages Role(Factors in Good Languages, Paradigms, Standardization), Programming Languages Syntax(General Syntax Criteria, Syntactic Elements of a Language, Overall Program Structure), Translation(Analysis of Source Program, Synthesis of the Object Program), Formal Translation Models(BNF Grammar, Finite-State Automata, Pushdown Automata, General Parsing Algorithms), Programming Languages Semantics(Attribute Grammars, Denotational Semantics, Program Verifications), Properties of Types and Objects(Data Types, Data Objects, Variables and Constants, Declarations, Type Checking and Type Conversions, Assignment & Initialization), Scalar Data Types(Numeric, Enumerations, Booleans, Characters), Composite Data Types(Character Strings, Pointers, Programmer Constructed), Sequencing with Arithmetic Expressions(Tree Structure Representation, Execution Time Representation), Sequencing with Between Statements(Basic Statements, Structured Control, Prime Program), Inheritance(Polymorphism, Inheritance),Storage Management(Elements Requiring Storage, Programmer and System Controlled Storage, Static Storage Management, Heap Storage Management).

Suggested Books

  1. Programming Languages: Design and Implementation, 4/E by Terrence W. Pratt, Marvin V. Zelkowitz
  2. Concepts of Programming Languages, 6/E Addison-Wesley by Robert W. Sebesta, Carter Shanklin

Top ^

 

 

Computing Supporting Sciences

CALCULUS & ANALYTICAL GEOMETRY

Course Structure: 3(3+0)

Pre – Requisite: None
Post Course(s): -


Objective:

To build the basic calculus and analytical geometry background.


Course Outline:

Complex Numbers, DeMoivre’s Theorem and its Applications, Simple Cartesian Curves, Functions and Graphs, Symmetrical Properties, Curve Tracing, Limit and Continuity, Differentiation of Functions. Derivative as Slope of Tangent to a Curve and as Rate of Change, Application to Tangent and Normal, Linearization, Maxima/Minima and Point of Inflexion, Taylor and Maclaurin Expansions and their convergence. Integral as Antiderivative, Indefinite Integration of Simple Functions. Methods of Integration: Integration by Substitution, by Parts, and by Partial Fractions, Definite Integral as Limit of a Sum, Application to Area, Arc Length, Volume and Surface of Revolution.


Suggested Book(s)

  1. Calculus and Analytical Geometry By Swokowski, Olinick and Pence.
  2. Calculus, H. Anton, John Wiley and Sons (WIE), ISBN: 0471572608.
  3. Calculus, William E. Boyce Richard C. Diprima, John Wiley & Sons, ISBN: 0471093335

Top ^

 

 

PROBABILITY & STATISTICS

Course Structure: 3(3+0)

Pre – Requisite: None
Post Course(s): -


Objective:

To introduce the concept of statistics, randomness and probability and build on these concepts to develop tools and techniques to work with random variables


Course Outline:

Introduction to Statistics, Descriptive Statistics, Statistics in decision making, Graphical representation of Data Stem-and Lead plot, Box- Cox plots, Histograms and Ogive, measures of central tendencies, dispersion for grouped and ungrouped Data, Moments of frequency distribution; examples with real life, use of Elementary statistical packages for explanatory Data analysis. Counting techniques, definition of probability with classical and relative frequency and subjective approaches, sample space, events, laws of probability. General Probability Distributions, Conditional probability and Bayes theorem with application to Random variable (Discrete and continuous) Binomial, Poisson, Geometric, Negative Binomial Distributions; Exponential Gamma and Normal distributions. Regression and Correlation.


Suggested Book(s)

  1. Introduction to Statistics, Walpole, 1982 Prentice Hall, ISBN: 0024241504.
  2. Statistical Data Analysis, G. Cowan G, 1998, Clarendon, Oxford.
  3. Advances in Statistical Analysis and Statistical Computing III Mariano R (Ed.), (1993), JAI Press, Greenwich, Conn.

Top ^

 


PHYSICS (ELECTROMAGNETISM)

Course Structure: 3(2+1)

Pre – Requisite: None
Post Course(s): -


Course Outline:

Review of Vectors, Electric Charge: Coulomb’s Law, electric field and intensity, electric potential, capacit