B.Tech (Computer Science & Technology) Syllabus
Semester IV

COURSE CODECOURSE NAMECREDITS

JECS401
Discrete Mathematics:
UNITI
Set Theory: Introduction, Combination of sets, Multisets, Ordered pairs. Proofs of some general identities on sets. Relations: Definition, Operations on relations, Properties of relations, Composite Relations, Equality of relations, Recursive definition of relation, Order of relations.
UNITII
Functions: Definition, Classification of functions, Operations on functions, Recursively defined functions. Growth of Functions. Natural Numbers: Introduction, Mathematical Induction, Variants of Induction, Induction with Nonzero Base cases. Proof Methods, Proof by counter – example, Proof by contradiction.
UNITIII
Algebraic Structures: Definition, Groups, Subgroups and order, Cyclic Groups, Cosets, Lagrange's theorem, Normal Subgroups, Permutation and Symmetric groups, Group Homomorphisms, Definition and elementary properties of Rings and Fields, Integers Modulo n.
UNITIV
Partial order sets: Definition, Partial order sets, Combination of partial order sets, Hasse diagram. Lattices: Definition, Properties of lattices – Bounded, Complemented, Modular and Complete lattice. Boolean Algebra: Introduction, Axioms and Theorems of Boolean algebra, Algebraic manipulation of Boolean expressions. Simplification of Boolean Functions, Karnaugh maps, Logic gates, Digital circuits and Boolean algebra.
UNITV
Propositional Logic: Proposition, well formed formula, Truth tables, Tautology, Satisfiability, Contradiction, Algebra of proposition.
04 
JECS402
Theory of Automata & Formal Languages:
UNITI
Finite Automata: Introduction  Basic Mathematical Notation and techniques Finite State systems – Basic Definitions – Finite Automaton – DFA & NDFA – Finite Automaton with € moves – Regular Languages Regular Expression – Equivalence of NFA and DFA – Equivalence of NDFA's with and without €moves – Equivalence of finite Automaton and regular expressions –Minimization of DFA  Pumping Lemma for Regular sets – Problems based on Pumping Lemma
UNITII
Grammars: Grammar Introduction – Types of Grammar  Context Free Grammars and Languages– Derivations and Languages – Ambiguity Relationship between derivation and derivation trees – Simplification of CFG – Elimination of Useless symbols  Unit productions  Null productions – Greiback Normal form – Chomsky normal form – Problems related to CNF and GNF
UNITIII
Pushdown Automata: Pushdown Automata  Definitions – Moves – Instantaneous descriptions – Deterministic pushdown automata –Equivalence of Pushdown automata and CFL  pumping lemma for CFL – problems based on pumping Lemma
UNITIV
Turing Machine: Turing Machines Introduction – Formal definition of Turing machines –Instantaneous descriptions Turing Machine as Acceptors – Turing Machine as Transducers Computable Languages and functions – Turing Machine constructions – Modifications of Turing Machines.
UNITV
Computational Complexity: Undecidability Basic definitions Decidable and undecidable problems  Properties of Recursive and Recursively enumerable languages – Introduction to Computational Complexity: Definitions Time and Space complexity of TMs – complexity classes – introduction to NPHardness and NPCompleteness.
Books:
 1. E.Hopcroft and J.D. Ullman, "Introduction to Automata Theory, Languages and Computation", Pearson, Education Publishers, 2nd Edition, 2004
 2. Michael Sipser, "Introduction to the Theory of Computation", Thomson Asia.
 3. J.C. Martin, "Introduction to Languages and Theory of Computation", McGraw Hill, 2003
 4. K.L.P. Mishra, N. Chandrasekaran , "Theoretical Computer Science", PHI.
04 
JECS403
Computer Architecture & Organization:
UNITI
Introduction: Evolution of Computer SystemsComputer TypesFunctional unitsBasic operational conceptsBus structuresMemory location and addressesmemory operations Addressing modesDesign of a computer systemInstruction and instruction sequencing, RISC versus CISC.
UNITII
Central Processing Unit: IntroductionArithmetic Logic Unit  Fixed point arithmetic, floating point arithmeticExecution of a complete instructionBasic concept of pipelining.
UNITIII
Control Unit Design: IntroductionControl TransferFetch cycle  Instruction Interpretation & Execution  Hardwired control  Microprogrammed control.
UNITIV
Memories And Subsystems: Semiconductor memory  Static and Dynamic Associative memory Cache memory Virtual memorySecondary memoriesOptical magnetic tape & magnetic disks & controllers.
UNITV
I/O Processing: IntroductionData transfer techniques Bus Interface I/O ChannelI/O Processor, I/O devices Direct memory access.
Books:
 1. CarlHamacher, "Computer Organization", McGrawHill International.
 2. P.PalChaudhuri, "Computer Organization and Design", PHI.
 3. William Stallings, "Computer Organization and Architecture – Designing for Performance", PHI, 2004.
 4. John P.Hayes, "Computer Architecture and Organization", III Edition, McGraw Hill International Editions, 1998.
04 
JECS404
JAVA:
UNITI
Introduction: The meaning of Object Orientation, object identity, Encapsulation, information hiding, polymorphism, generosity, importance of modeling, principles of modeling, object oriented modeling, Introduction to UML, conceptual model of the UML, Architecture.
UNITII
Introduction: The meaning of Object Orientation, object identity, Encapsulation, information hiding, polymorphism, generosity, importance of modeling, principles of modeling, object oriented modeling, Introduction to UML, conceptual model of the UML, Architecture.
UNITIII
Object Oriented Analysis, Object oriented design, Object design, Combining three models, Designing algorithms, design optimization, Implementation of control, Adjustment of inheritance, Object representation, Physical packaging, Documenting design considerations. Structured analysis and structured design (SA/SD), Jackson Structured Development (JSD).Mapping object oriented concepts using nonobject oriented language, Translating classes into data structures, Passing arguments to methods, Implementing inheritance, associations encapsulation. Object oriented programming style: reusability, extensibility, robustness, programming in the large. Procedural v/s OOP, Object oriented language features. Abstraction and Encapsulation.
UNITIV
Introduction to Java, History, Features, Object Oriented concept of Java, Classes and Objects, Inheritance, Packages, Interface , abstract method and classes, Polymorphism, Inner classes, String Handling, I/O , Networking, Event Handling. Multi threading, Collection, Java APIs, Java Beans: Application Builder tools, The bean developer kit(BDK), JAR files, Intro spection, Developing a simple bean, using Bound properties, The Java Beans API, Session Beans, Entity Beans, Introduction to Enterprise Java beans (EJB).
UNITV
Java Swing: Introduction to AWT, AWT v/s Swing, Creating a Swing Applet and Application. Utility of Java as internet programming language, JDBC, The connectivity model, JDBC/ODBCBridge, Introduction to servlets.
Books:
 1. James Rumbaugh et. al, "Object Oriented Modeling and Design", PHI
 2. Grady Booch, James Rumbaugh, Ivar Jacobson, "The Unified Modeling Language UserGuide", Pearson Education
 4. Booch, Maksimchuk, Engle, Young, Conallen and Houstan, "Object Oriented Analysisand Design with Applications", Pearson Education.
04 
JECS405
Microprocessors:
UNITI
Intel 8085 Architecture: Introduction to 8085  8085 architecture Instruction Set & Assembler Directives Assembly Language Programming with 8085.
UNITII
Intel 8086/8088 Architecture: Introduction to 8086/8088  8086/8088 architecture Instruction Set & Assembler Directives Assembly Language Programming with 8086/8088 Special Architectural Features.
UNITIII
Communication Interfaces: Basic Peripherals & their interfacing with 8086/8088Semiconductor Memory InterfacingDynamic RAM InterfacingInterfacing I/O PortsPIO 8255Modes of OperationInterfacing Analog to Digital Data ConvertersStepper Motor Interfacing
UNITIV
Peripheral Interfaces: Special Purpose Programmable Peripheral Devices & their Interfacing Programmable Interval Timer 8253Programmable Interrupt Controller 8259ADMA Controller 8257DMA Transfers & OperationsProgrammable DMA Interface 8237.
UNITV
Multiprocessor Systems: Interconnection Topologies Software Aspects of Multiprocessor Systems Numeric Processor 8087 Bus Arbitration & Control Tightly Coupled & Loosely Coupled Systems.
Books:
 1. Ray A K, K M Bhurchandi, "Advanced Microprocessor & Peripherals", Tata McGraw Hill. (CH1, CH2, CH3, CH4, CH5, CH6, CH7, CH8, CH16.)
 2. Douglas V Hall, "Microprocessor & Interfacing", Tata McGraw Hill
 3. Rafiquzzuman M, "Microprocessor theory & Applications", PHI.
 4. Yuchenhiu, Glenn A Gibson, "Microprocessor Systems  8086/8088 Family", Prentice Hall of India.
04 
JECS451
Computer Organization Lab:
 1. Memory Chips & Systems
 2. Connecting of input/output devices.
 3. Introduction to Using the Processor Board
 4. Programming Using Various Addressing Modes
 5. Simple Input/Output Interfacing
 6. Loops and Decision Making.
 7. Interrupts and Direct Memory access.
 8. Subroutines & Structured Programming
 9. Arithmetic and Logical Instruction Programming
02 
JECS452
Microprocessor Lab :
List of Exercises:
Study of Peripherals & interfacing
 8085 Experiments:
 • 8bit Addition, Multiplication & Division.
 • 16bit Addition, Multiplication &Division. Counters and Time Delay
 • BCD to Hexadecimal & viceversa. Traffic light control.
 • Stepper motor control.
 8086 Experiments:
 • Basic arithmetic & Logical operations. Sorting & searching algorithms.
 • Data transfer instructions. RAM size & system date. Digital clock
 • Key board & printer status. Password checking.
 • Serial interface & parallel interface Trouble shooting.
Reference: Laboratory manual
02 
JECS453
JAVA LAB (Mini Project):
Java Basics:
 1. 1. Programs illustrating various data types in Java
 2. Programs illustrating class, objects and methods
 3. Programs for addition and multiplication of Matrices
 4. Programs illustrating Overloading in Java
 5. Programs illustrating the implementation of Various forms of Inheritance (Single, Hierarchical, Multilevel )
 6. Programs illustrating Overriding methods in Java
 7. Programs illustrating Exception Handling
 8. Programs to manipulate strings
Java Interfaces, Packages And Threads
 1. Programs illustrating Interfaces in Java
 2. Programs to create Packages in Java
 3. Programs illustrating Threads in Java
Java Applets
 1. Programs to write applets to draw the various shapes
 2. Programs to manipulate labels, lists, text fields and panels
 3. Programs to handle mouse events
 4. Programs using layout mangers
Reference: Laboratory Manual
04 
JGP401
General Proficiency
02 
Total Credits30