Third Year Syllabus Department of Computer Science and Engineering
Four Year B.Sc. Honours Course
Effective from the Session: 2017–2018
Course Title : Peripheral and Interfacing
Interfacing techniques: Interfacing for Memory; Communication system; System overhead (DMA and Programmed data transfer); I/O ports and Control; Parallel and Serial Interfacing devices; Timing considerations; Noise considerations; Application of PPI, PIC, DMAC, PCI etc.
Digital Interfacing: Programmable parallel ports and handshake input/output (IC 8255), Interfacing a Microprocessor to keyboards, X-lat, Display-Alphanumeric and multiplexed LED (Interfacing with IC 7447), Relay, Stepper motor, Incremental Encoder, Optical motor shaft encoder.
Modern data-entry devices: Scanners overview; Bar code reader; Optical mark reader (OMR); Optical Character Reader (OCR); Tape Reader; Digitizer: Reading technique, Capacitive Electrostatic scanning digitizer.
Display devices: CRT; Basic CRT operations; Timing and frequencies; CRT controller ICs; LCD technologies; Passive and active matrix; LCD reliability; Electroluminescent display.
Printers: Impact printers; Serial and line printing; Laser printing; Ink-Jet printing; Color printing; Plotters.
Storage devices: Floppy disk; Floppy disk controller (IC 8272) ; Magnetic hard disk and controller; Compact disk, magnetic tape storage.
Data Communication and Network: Introduction to asynchronous serial data communication, RS-232 C serial data standard, USART(IC 8251A) word format, Null Modem configuration, The GPIB, HPIB, IEEE 488 Bus.
Course Title : Peripheral and Interfacing Lab
Laboratory works based on CSE 530201.Understand SDK 86 board, write and execute a program in an SDK 86, Understand RS-232 standard, Connections and Cabling. Communicate between two Computers using parallel ports (Printer Port). Observe and manipulate Null modem Configuration. Communicate between two Computers using serial ports. Drive a single 7 segment LED display with 7447. Understand the basic characteristics of IC 8255.
Course Title : Data and Telecommunications
Data communication model: TCP/IP and OSI; data communication network components; different types of networks: circuit switching, packet switching networks, ATM, HDLC and X.25; signal and random processes; review of Fourier transformation and Hilbert transformation; Introduction to modulation techniques; continuous wave modulation: AM, PM, FM; sampling theorem; pulse modulation: PAM, PDM, PPM, PCM; companding; delta modulation; different PCM; multiple access techniques: TDM, FDM; quantization; digital modulation: ASK, FSK, PSK, BPSK, QPSK; constellation; bit error rate (BER), noise; echo cancellation; intersymbol interference; probability of error for pulse systems; concepts of channel coding and capacity; asynchronous and synchronous communications; hardware interfaces, multiplexers, concentrators and buffers; communication media; fiber optics; wireless transmission: propagation, path loss, fading, delay spread; spread spectrum: frequency hopping spread spectrum and direct sequence spread spectrum; CDMA; High speed digital access: DSL, SONET, SDH; error detection and correction techniques: parity check, CRC, block code and hamming code; flow and error control techniques: sliding window, stop and wait, ARQ and HDLC protocols; modes of communications: simplex, half-duplex and full duplex.
Course Title : Data and Telecommunications lab
Laboratory classes are based on the course CSE 530203. Upon successful completion of this laboratory, students should have knowledge about various communication protocols in physical layers, be able to identify different transmission media based on their characteristics and can apply different signal encoding schemes and analyze their performance. They can handle different error detection and error control mechanism as well as different flow control mechanism and quantitatively analyze their performance. Having experience on serial communication, they can also implement the NULL modem communication. They can also use different types of multiplexing in a real or simulated environment.
Course Title : Operating System
Introduction: Operating system overview, computer system structure, structure and components of an operating system. System calls: class of system calls and description. Process and threads: process and thread model, process and thread creation and termination, user and kernel level thread, scheduling, scheduling algorithms, dispatcher, context switch, real time scheduling. Concurrency and synchronization: IPC and inter-thread communication, critical region, critical section problems and solutions. Resource management: introduction to deadlock, ostrich algorithm, deadlock detection and recovery, deadlock avoidance, deadlock prevention, starvation. File management: File Naming and structure, file access and attributes, system calls, file organization: OS and user perspective view of file, memory mapped file, file directories organization, File System Implementation: implementing file, allocation strategy, method of allocation, directory implementation, UNIX i-node, block management, quota. Memory management: basic memory management, fixed and dynamic partition, virtual memory, segmentation, paging and swapping, MMU. Virtual memory management: paging, page table structure, page replacement, TLB, exception vector, demand paging and segmentation, thrashing and performance. Disk I/O management: structure, performance, low-level disk formatting, Disk arm scheduling algorithm, error handling, stable storage.
Course Title : Operating System Lab
Lab based on the course CSE 530205. Source code of OS161 operating system and required tools developed by Harvard University, based on R3000 architecture will be used in the lab. Students will be asked to add operating system module such as memory management, system call, file system, drivers etc. In the lab for such modules problems will defined elaborately. The laboratory also train students in debugging using gdb based on R3000.
Course Title : Economics
Introduction: Definition, Microeconomics vs. macroeconomics, scope of economics, meaning of economic theory, some basic concepts- product, commodity, want, utility, consumption, factors of production.
Demand: Law of demand, factors determining demand, shifts in demand, demand functions, deriving demand curves, substitution and income effects, deriving aggregate demands, various concepts of demand elasticity and measurements, discussion on the method of estimating demand functions and demand functions and demand forecasting.
Supply: Law of supply and supply function, determination of supply, shifts in supply, elasticity of supply, market equilibrium.
Economic Theory of Consumer Behavior: reasons for consumption, Principle of diminishing marginal utility, indifference Curves, Budget Constraint, Utility Maximization and Consumer Equilibrium.
Consumer Demand: Change in Budget Constraints, Price Consumption Curve, Income Consumption Curve, Consumer Demand, market Demand, Engel Curve.
Production: Production functions, total, average and marginal products, law of diminishing marginal physical products, production isoquants, marginal rate of technical substitution (MRTS), optimal combination of inputs, expansion path, returns to scale, estimation of production function and estimation of cost function.
Cost: concepts of cost, short-run costs, relation between short-run costs and production, long run costs, economies and diseconomies of scale, relation between short run and long run costs, cost function and estimation of cost function.
Markets and Revenue: Meaning of market, different forms of market, concepts of total, average and marginal revenue, relation between average revenue and marginal revenue curves, relation between different revenues and elasticity’s of demand, equilibrium of the firm.
Price and Output: Price and output determination under perfect competition, monopoly, monopolistic competition and oligopoly, profit maximization, price discrimination, plant shut down decision, barriers to entry.
Course Title : Software Engineering
Software Engineering Paradigms: Definition of S/W Eng.; The classical life cycle; Prototyping fourth generation technique; The product and the process model, Generic view of software engineering, Boehm’s spiral model, Measurement and Matrices.
Requirements Analysis Fundamentals: Analysis principle; Feasibility Study, Software Prototyping Specification; Requirement Analysis Methodologies; Structured and object oriented analysis; Data Flow-oriented analysis methods.
Software Design Fundamentals: Design process; Design fundamentals: S/W architecture, Program structure, Data structure, S/W procedure, Modularity, abstraction; Effective modular design; Procedural design; Data flow-oriented Design; Top-down and bottom-up design; Design process considerations; Transform analysis; Transaction analysis; Data structure-oriented design: Logical construction of programs and systems, Data structured systems development; Object-oriented design; Design concepts; Methods; strategy. Real-time Design; Coding style: Code documentation, Data declaration, statement construction, Input/output, Software reliability.
Software Testing Techniques and Strategies: Software Testing method, Testing fundamentals & strategies; White box testing; Basis path testing; Loop testing; Black Box testing. Verification and validation; Organization for software testing; Defect testing; Integration testing; Validation testing; System testing; The art of debugging.
Software Management and Maintenance Technique: Maintenance process, System documentation, Maintenance cost, Configuration management & planning, Change management, person & release management, Software cost estimation technique, Algorithmic cost modeling, The COCOMO model, Software quality assurance & activities, McCall’s quality factor, Software reuse, Software re-engineering, Computer Aided Software Engineering (CASE) tool.
Course Title : Software Engineering Lab
(Based on Software Engineering Theory Course CSE 530208)
Course Title : Computer Networking
Introduction: Basic computer network concept; Network structure; Network software; Reference model; Example networks; OSI Model, TCP/IP Model, X.25 Networks.
Frame Relay: Introduction to frame relay, advantages and disadvantages, role of frame relay, frame relay operations, virtual circuits, DLCIs inside the network, ,frame relay layers; physical layer , data link layer.
ATM Network: Packet networks, mixed network traffic, cell networks, asynchronous TDM,virtual connection, identifiers, cell, connection establishment and release, Application Adoptions Layer(AAL),ATM layers, Physical layer, ATM WANs, ATM LANs.
Medium Access sub-layer: Multiple Access Protocols: ALOHA; CSMA/CD Protocol; Collision-Free protocols;CDMA Limited contention protocol; Wavelength division multiple access protocols; Wireless LAN protocols; IEEE standard 802 for LANs and MANs; Bridges; High-speed LANs;Wireless LANs,Mobile telephony and Satellite Networks.
Network Layer: Network layer design issues; Routing algorithms; Congestion control Algorithms; Inter networking; Network layer in the internet; IPv4 and introduction to IPv6.
Transport Layer: The transport service; Elements of transport protocols; The internet transport protocols; The ATM AAL layer protocols;
Optical Fiber Network: SONET and SDH.
Application Layer: Network security; DNS-Domain Name system; SNMP: Simple Network Management protocol; Electronic Mail; The World Wide Web; Multimedia.
Course Title : Computer Networking Lab
Laboratory classes are based on course CSE 530210. Starting with application layer, students will configure different services at different layers and examine their messaging techniques. Students will also develop some experiments to work transport layer services such as TCP and UDP.
Course Title : Embedded System Programming
Concept of visual programming; system programming concepts; general machine structures; Internet programming; environments; multiple document interfaces; ActiveX controls and ActiveX components; API; apache server; OLE automation; database programming and Active data objects; introduction to the web; scripting objects; active server pages; database connectivity to web applications; adding dynamic content to web applications; programming common gateway interfaces; programming the user interface for the web applications; programming with concurrency and multithreading; service-oriented software development; XML and related technologies: XML schema XSLT, XPath, DOM, SAX; web-based application development and state management; Kernel programming; programming for memory management; VFS handling; interrupt handling; Linux module programming; assembler: basic functions, machine dependent and independent assembler, one vs. multipass assembler; linker: dynamic lining and linking editors, loaders: machine dependent and independent loader, bootstrap loaders, development of system software and web-based applications for different devices.
Reference Languages: Android, J2ME, C++.
Course Title : Embedded System Programming Lab
Laboratory classes are based on course CSE 530212. Students will get knowledge for developing some system tools based on various system calls. Linux module programming will be an important part of this lab. They will be asked to develop device drivers and applications programs for different devices.
Course Title : Theory of Computation
Language theory; finite automata: deterministic finite automata, nondeterministic finite automata, equivalence and conversion of deterministic and nondeterministic finite automata, pushdown automata; regular expressions and its properties: Chomsky hierarchy, regular grammar and regular language; context free languages; context free grammars; Pumping lemma and its applications; Turing machines: basic machines, configuration, computing with Turing machines, combining Turing machines; Mealy machine and Moore machine; undecidability: diagonalization method, halting problem, undecidable problems from language theory and reducibility; recursive theorem.