KTU B-Tech (S5-S6) Computer Science & Engineering Fifth And Sixth Semester Course Syllabus & Course Plan

B-Tech Computer Science & Engineering
Fifth Semester
Course Syllabus & Course Plan

KTU B-Tech (S5-S6) Computer Science & Engineering Fifth And Sixth Semester Course Syllabus & Course Plan


Introduction to Automata Theory, Structure of an automaton, classification of automata,
grammar and automata for generating each class of formal languages in the Chomsky
Hierarchy, decidability and Halting problem.


Different types of System Software, SIC & SIC/XE Architecture and Programming, Basic
Functions of Assembler, Assembler Design, Single pass and 2 Pass Assemblers and their Design,
Linkers and Loaders, Absolute Loader and Relocating loader, Design of Linking Loader, Macro
Processor and its design, Fundamentals of Text Editor Design, Operational Features of

CS305 Microprocessors and Microcontrollers

Introduction to 8086 Microprocessor; Architecture and signals, Instruction set of 8086, Timing
Diagram, Assembly Language Programming, Memory and I/O interfacing, Interfacing with 8255,
8279, 8257, Interrupts and Interrupt handling, Microcontrollers - 8051 Architecture and its salient
features, Instruction Set and Simple Programming Concepts.


Data Transmission, Transmission Impairments, Channel Capacity, Transmission media, Wireless
propagation, Signal encoding Techniques, Multiplexing, Digital data transmission techniques,
Sampling theorem, Error detection and correction, Spread spectrum, Basic principles of switching.


Introductory concepts of graphs, Euler and Hamiltonian graphs, Planar Graphs, Trees, Vertex
connectivity and edge connectivity, Cut set and Cut vertices, Matrix representation of graphs,
Graphs theoretic algorithms.



Part A

1. Simulate the following non-preemptive CPU scheduling algorithms to find turnaround
time and waiting time.
a) FCFS b) SJF c) Round Robin (pre-emptive) d) Priority
2. Simulate the following file allocation strategies.
a) Sequential b) Indexed c) Linked
3. Implement the different paging techniques of memory management.
4. Simulate the following file organization techniques *
a) Single level directory b) Two level directory c) Hierarchical
5. Implement the banker’s algorithm for deadlock avoidance.*
6. Simulate the following disk scheduling algorithms. *
7. Simulate the following page replacement algorithms
a) FIFO b)LRU c) LFU
8. Implement the producer-consumer problem using semaphores. *
9. Write a program to simulate the working of the dining philosopher’s problem.*

Part B

10. Implement the symbol table functions: create, insert, modify, search, and display.
11. Implement pass one of a two pass assembler. *
12. Implement pass two of a two pass assembler. *
13. Implement a single pass assembler. *
14. Implement a two pass macro processor *
15. Implement a single pass macro processor.
16. Implement an absolute loader.
17. Implement a relocating loader.
18. Implement pass one of a direct-linking loader.
19. Implement pass two of a direct-linking loader.
20. Implement a simple text editor with features like insertion / deletion of a character,
word, and sentence.
21. Implement a symbol table with suitable hashing.*


1. Creation of a database using DDL commands and writes DQL queries to retrieve
information from the database.
2. Performing DML commands like Insertion, Deletion, Modifying, Altering, and Updating
records based on conditions.
3. Creating relationship between the databases. *
4. Creating a database to set various constraints. *
5. Practice of SQL TCL commands like Rollback, Commit, Savepoint.
6. Practice of SQL DCL commands for granting and revoking user privileges.
7. Creation of Views and Assertions *
8. Implementation of Build in functions in RDBMS *
9. Implementation of various aggregate functions in SQL *
10. Implementation of Order By, Group By& Having clause. *
11. Implementation of set operators, nested queries and Join queries *
12. Implementation of various control structures using PL/SQL *
13. Creation of Procedures and Functions *
14. Creation of Packages *
15. Creation of database Triggers and Cursors *
16. Practice various front-end tools and report generation.
17. Creating Forms and Menus
18. Mini project (Application Development using Oracle/ MySQL using Database
a. Inventory Control System.
b. Material Requirement Processing.
c. Hospital Management System.
d. Railway Reservation System.
e. Personal Information System.
f. Web Based User Identification System.
g. Timetable Management System.
h. Hotel Management System.

B-Tech Computer Science & Engineering
Course Syllabus & Course Plan

KTU B-Tech (S5-S6) Computer Science & Engineering Fifth And Sixth Semester Course Syllabus & Course Plan

CS302 Design and Analysis of Algorithms

Introduction to Algorithm Analysis, Notions of Time and Space Complexity, Asymptotic
Notations, Recurrence Equations and their solutions, Master’s Theorem, Divide and Conquer
and illustrative examples, AVL trees, Red-Black Trees, Union-find algorithms, Graph algorithms,
Divide and Conquer, Dynamic Programming, Greedy Strategy, Back Tracking and Branch and
Bound, Complexity classes


Phases of compilation, Lexical analysis, Token Recognition, Syntax analysis, Bottom Up and Top
Down Parsers, Syntax directed translation schemes, Intermediate Code Generation, Triples and
Quadruples, Code Optimization, Code Generation.

CS306 Computer Networks

Concept of layering, LAN technologies (Ethernet), Flow and error control techniques, switching,
IPv4/IPv6, routers and routing algorithms (distance vector, link state), TCP/UDP and sockets,
congestion control, Application layer protocols.

CS308 Software Engineering and Project Management

Introduction to software engineering, Software process models, Software development
phases, Requirement analysis, Planning, Design, Coding, Testing, Maintenance.

CS362 Computer Vision

Image formation and Image model with Components of a vision system, Multiple images
and the Geometry of multiple views, High level vision, Basics of pattern recognition, Linear
discriminant based classifiers and tree classifiers, Unsupervised Methods, Recent Advances
in Pattern Recognition.

CS364 Mobile Computing

Mobile Computing Application and Services, Mobile Computing Architecture, Emerging
Technologies, Intelligent Networks and Internet, Wireless LAN, Operating Systems, Security
Issues in mobile computing.

CS366 Natural language processing

Levels of Language Analysis, Syntax, Semantics and Pragmatics of Natural Language,
Language Processing, Issues and approaches to solutions, Applications of Natural Language
Processing (NLP).

CS368 Web Technologies

Basics of Internet and World Wide Web, HTML and XHTML, Cascading Style Sheets, Basics of
JavaScript, Introduction to XML, Overview of PHP


Modern processors - pipelining-superscalarity-multicore processors- Mutithreaded processorsvector
processors- basic optimization techniques for serial code - taxonomy of parallel
computing paradigms- shared memory computers- distributed-memory computers- Hierarchical
Systems- networks- basics of parallelization - data parallelism - function parallelism- Parallel
scalability- shared memory parallel programming with OpenMp - Distributed-memory parallel
programming with MPI.



I. Assembly Language Programming Exercises/Experiments using 8086 Trainer kit
1. Implementation of simple decimal arithmetic and bit manipulation operations.*
2. Implementation of code conversion between BCD, Binary, Hexadecimal and ASCII.
3. Implementation of searching and sorting of 16-bit numbers.
4. Programming exercises using stack and subroutines.*
II. Exercises/Experiments using MASM (PC Required)
5. Study of Assembler and Debugging commands.
6. Implementation of decimal arithmetic( 16 and 32 bit) operations.*
7. Implementation of String manipulations.*
8. Implementation of searching and sorting of 16-bit numbers.
9. Implementation of Matrix operations like addition, transpose, multiplication etc.
III. Interfacing Exercises/Experiments with 8086 trainer kit through Assembly Language
10. Interfacing with stepper motor - Rotate through any given sequence.*
11. Interfacing with 8255 (mode0 and mode1 only).*
12. Interfacing with 8279 (Rolling message, 2 key lock out and N-key roll over
13. Interfacing with 8253/54 Timer/Counter.
14. Interfacing with Digital-to-Analog Converter.*
15. Interfacing with Analog-to- Digital Converter.
16. Interfacing with 8259 Interrupt Controller.
IV. Exercises/Experiments using 8051 trainer kit
17. Familiarization of 8051 trainer kit by executing simple Assembly Language programs such
as decimal arithmetic and bit manipulation.*
18. Implementation of Timer programming (in mode1).
19. Implementation of stepper motor interfacing, ADC/DAC interfacing and sensor interfacing
with 8251 through Assembly Language programming.

CS334 Network Programming Lab

1. Getting started with Basics of Network configurations files and Networking Commands in
2. To familiarize and understand the use and functioning of System Calls used for Operating
system and network programming in Linux.
3. Familiarization and implementation of programs related to Process and thread.
4. Implement banker’s algorithm for deadlock avoidance.
5. Implement Dining philosopher’s problem for process synchronization.
6. Implement programs for Inter Process Communication using PIPE, Message Queue and
Shared Memory.
7. Implement Client-Server communication using Socket Programming and TCP as transport
layer protocol.*
8. Implement Client-Server communication using Socket Programming and UDP as transport
layer protocol.*
9. Implement a multi user chat server using TCP as transport layer protocol.*
10. Implement Concurrent Time Server application using UDP to execute the program at
remoteserver. Client sends a time request to the server, server sends its system time back to
the client. Client displays the result.*
11. Implement and simulate algorithm for Distance vector routing protocol.
12. Implement and simulate algorithm for Link state routing protocol.
13. Implement Simple Mail Transfer Protocol.*
14. Develop concurrent file server which will provide the file requested by client if it exists. If
not server sends appropriate message to the client. Server should also send its process ID
(PID) to clients for display along with file or the message.*
15. Using Wireshark observe data transferred in client server communication using UDP and
identify the UDP datagram.
16. Using Wireshark observe Three Way Handshaking Connection Establishment, Data
Transfer and Three Way Handshaking Connection Termination in client server
communication using TCP.
17. Develop a packet capturing and filtering application using raw sockets.
18. Design and configure a network with multiple subnets with wired and wireless LANs
using required network devices. Configure the following services in the network- TELNET,
SSH, FTP server, Web server, File server, DHCP server and DNS server.*
19. Install network simulator NS-2 in any of the Linux operating system and simulate wired
and wireless scenarios.


No comments:

Powered by Blogger.