Sem 2 Syllabus
Sem 2 Syllabus
Department of Mathematics
Osmania University, Hyderabad
M.Sc. Computer Science
(Course under Choice Based Credit System)
SEMESTER – I
Paper Code Paper Title HpW Marks Credits
I CS101T Advanced Java Programming 4 30+70=100 4
II CS102T Operating Systems 4 30+70=100 4
III CS103T Software Engineering 4 30+70=100 4
IV CS104T Discrete Mathematics 4 30+70=100 4
V CS105P Advanced Java Lab 4 50 2
VI CS106P Operating Systems Lab 4 50 2
Total 24 500 20
SEMESTER – II
Paper Code Paper Title HpW Marks Credits
I CS201T Programming in Python 4 30+70=100 4
II CS202T Computer Networks 4 30+70=100 4
III CS203T Design and Analysis of Algorithms 4 30+70=100 4
IV CS204T Automata Theory 4 30+70=100 4
V CS205P Python Lab 4 50 2
VI CS206P Computer Networks Lab 4 50 2
Total 24 500 20
Semester – II
Paper – I : Programming in Python
CS 201T
Unit – I
Introduction to Python Programming: How a Program Works, Using Python, Why Python,
Input, Processing, and Output, Displaying Output with the Print Function, Comments, Variables,
Reading Input from the Keyboard, Performing Calculations (Operators. Type conversions,
Expressions), More about Data Output, Indentation.
Decision Structures and Boolean Logic: if, if-else, if-elif-else Statements, Nested Decision
Structures, Comparing Strings, Logical Operators, Boolean Variables.
Repetition Structures: Introduction, while loop, for loop, Calculating a Running Total, Input
Validation Loops, Nested Loops.
Unit – II
Functions: Introduction, Defining and Calling a Void Function, Designing a Program to Use
Functions, Local Variables, Passing Arguments to Functions, Global Variables and Global
Constants, Value -Returning Functions-Generating Random Numbers, Writing Our Own Value-
Returning Functions.
Modules-Importing module, creating and exploring modules: math module, Numpy module, time
module, random module, OS, calendar, sys., Storing Functions in Modules.
Unit – III
Lists and Tuples: Sequences, Introduction to Lists, List slicing, Finding Items in Lists with the in
Operator, List Methods and Useful Built-in Functions, Copying Lists, Processing Lists, Two-
Dimensional Lists, Tuples.
Strings: Basic String Operations, String Slicing, Testing, Searching, and Manipulating Strings.
Dictionaries and Sets: Dictionaries, Sets, Serializing Objects.
Recursion: Introduction, Problem Solving with Recursion, Examples of Recursive Algorithms.
File and Exceptions: Introduction to File Input and Output, Using Loops to Process Files,
Processing Records, Exceptions.
Unit – IV
OOPs Concept : Introduction to OOP, Classes and objects, Inheritance Method overloading and
method overriding, Abstract method and Abstract class, Interfaces in python, Abstract class VS
Interfaces, constructor, instance methods ,class methods, static methods.
GUI Programming: Graphical User Interfaces, Using the tkinter Module, Display text with Label
Widgets, Organizing Widgets with Frames, Button Widgets and Info Dialog Boxes, Getting Input
with Entry Widget, Using Labels as Output Fields, Radio Buttons, Check Buttons.
Text Book: Tony Gaddis, Starting Out With Python (4th edition)
References
1. Kenneth A. Lambert, Fundamentals of Python
2. Clinton W. Brownley, Foundations for Analytics with Python
3. James Payne, Beginning Python using Python 2.6 and Python 3
4. Charles Dierach, Introduction to Computer Science using Python
5. Paul Gries, Practical Programming: An Introduction to Computer Science using Python 3
Paper – II : Computer Networks
CS 202T
Unit – I
Computer Networks Fundamentals: Overview, Network Hardware, Network Software,
Reference models– OSI Model, TCP/IP Reference Model, Comparison of OSI and TCP/IP
Reference Model, Example Networks, Network Standardization.
Physical Layer: Guided Transmission Media, Wireless Transmission, Multiplexing, Switching.
Data Link Layer: Design Issues, Error Detection and Correction, Data Link Layer Protocols,
Sliding Window Protocol
Unit – II
Multiple Access Sublayer: ALOHA, CSMA, Collision Free Protocols, Ethernet, Wireless LAN-
802.11, Data Link Layer Switching –Repeaters, Hubs, Bridges, Switches, Routers, Gateways.
Network Layer: Design Issues, Routing Algorithms – Shortest path, Flooding, Distance Vector
Routing, Link state Routing, Hierarchical, Broadcast Routing, Multicast Routing; Congestion
Control Algorithms.
Unit – III
Internetworking: Tunneling, Internetwork Routing, Fragmentation, IPv4 Vs IPv6Protocol, IP
Addresses, CIDR, Internet Control Protocols–IMCP, ARP, RARP, DHCP.
Transport Layer: Services provided to the upper layers, Transport Protocols, Overview of
Congestion Control
.
Unit – IV
The Internet Transport Protocols: Introduction to UDP&RPC, Real Time Transport Protocols,
The Internet Transport Protocols–TCP, TCP Service Model, TCP protocol, TCP Segment Header,
TCP Connection Establishment, TCP Connection Release, Modeling TCP Connection
Management, TCP Sliding Window, TCP Time Management, TCP Congestion Control.
Application Layer: DNS, TELNET, E-Mail, FTP, HTTP, SSH, Overview of WWW.
Text Book: Andrew S. Tanenbaum, David J Wetherall, Computer Networks (5th edition)
References
1. William Stallings, Data and Computer Communications
2. Behrouz A. Forouzan, Data Communication and Networking
3. Behrouz A Forouzan, Firouz Mosharraf, Computer Networks A Top-Down Approach
Paper – III : Design and Analysis of Algorithms
CS 203T
Unit – I
Introduction: Algorithm, Fundamentals of Algorithmic Problem Solving, Important Problem
Types.
Fundamentals of the Analysis of Algorithm: The Analysis Framework, Asymptotic Notations and
Basic Efficiency Classes, Mathematical Analysis of Non-recursive & Recursive Algorithms. Brute
Force Search: Selection Sort, Bubble Sort, Sequential Search, Brute-Force String Matching,
Exhaustive Search, Depth-First Search, Breadth-First Search.
Unit – II
Decrease–&–Conquer: Insertion Sort, Topological Sorting, Binary Search, Interpolation Search
Divide-and-Conquer: Merge Sort, Quick Sort, Multiplication of Large Integers, Strassen’s Matrix
Multiplication,
Transform-and-Conquer: Presorting, Balanced Search Trees, Heaps and Heap Sort, Problem
Reduction. Space
and Time Trade-Offs: Hashing, B-Trees.
Unit – III
Dynamic Programming: Knapsack Problem, Optimal Binary Search Trees, Warshall’s and Floyd’s
Algorithms.
Greedy Technique: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman Trees
and Codes.
Iterative Improvement: Simplex Method, Maximum-Flow Problem.
Unit – IV
Limitations of Algorithm Power: Lower-Bound Arguments, Decision Trees, P, NP, and NP -
Complete Problems. Backtracking: n-Queens Problem, Hamiltonian Circuit Problem, Subset- Sum
Problem, Branch-and-Bound: Assignment Problem, Knapsack Problem, Traveling Salesman
Problem, Approximation Algorithms for the Knapsack Problem.
Text Book: Anany Levitin, Introduction to the Design and Analysis of Algorithms (3rd edition)
References
1. Richard Neapolitan, Foundations of Algorithms
2. Thomas H. Cormen, Introduction to Algorithms
3. E. Horowitz, S. Sahni, Fundamentals of Computer Algorithms
4. A.V. Aho, J.V. Hopcroft, J.D. Ullmann, The Design and Analysis of Computer Algorithms
5. Donald E Knuth, The Art of Programming_Volumes–1, 2, 3, 4
Paper – IV : Automata Theory
CS 204T
Unit – I
Fundamentals – alphabets, strings, languages, problems, graphs, trees, Finite State Systems,
definitions, Finite Automaton model, acceptance of strings, and languages, Deterministic finite
automaton and Nondeterministic finite automaton, transition diagrams, transition tables,
proliferation trees and language recognizers, equivalence of DFA’s and NFA’s.
Finite Automata with -moves, significance, acceptance of languages, -closure, Equivalence of
NFA’s with and without - moves, Minimization of finite automata, Two-way finite automata, Finite
Automata with output– Moore and Melay machines.
Unit – II
Regular Languages: regular sets, regular expressions, identity rules, constructing finite automata for
a given regular expressions, conversion of finite automata to regular expressions. Pumping lemma
of regular sets and its applications, closure properties of regular sets.
Grammar Formalism: Regular grammars–right linear and left linear grammars, equivalence
between regular linear grammar and finite automata, inter conversion, Context free grammar,
derivation trees, sentential forms, right most and leftmost derivation of strings, ambiguity.
Unit – III
Context Free Grammars: Simplification of Context Free Grammars, Chomsky normal form,
Greiback normal form, Pumping lemma for context free languages and its applications, closure of
properties of CFL (proofs omitted).
Push Down Automata: PDA definition, model, acceptance of CFL, acceptance by final state and
acceptance by empty state and its equivalence. Equivalence of PDA’s and CFL’s, inter-conversion.
(Proofs not required).
Unit – IV
Membership Algorithm (CYK Algorithm) for Context Free Grammars.
Turing Machine: TM definition, model, design of TM, computable functions, unrestricted
grammars, recursively enumerable languages. Church’s hypothesis, counter machine, types of
Turing machines (proofs omitted). Linear bounded automata and Context sensitive language.
Computability Theory: Chomsky hierarchy of languages, Introduction to DCFL, DPDA, LR(0)
grammar, decidability and undecidable problems. Definitions of P and NP problems, NP complete
and NP hard problems.
Text Book: J. E. Hopcroft, J. D. Ullman, Introduction to Automata Theory, Languages, and
Computation (3rd edition)
References
1. Mishra, Chandrashekaran, Theory of Computer Science
2. ZviKohav, Niraj K Jha, Switching and Finite Automata Theory
3. Perter Linz, An Introduction to Formal Languages and Automata
4. John C. Martin, Introduction to Languages and the Theory of Computation
Paper – V : Python Lab
CS 205P
1. Write a program that displays the following information: Your name, Full address, Mobile
number, College name, Course subjects.
2. Write a program to find the largest three integers using if-else and conditional operator.
3. Write a program that asks the user to enter a series of positive numbers (The user should
enter a negative number to signal the end of the series) and the program should display the
numbers in order and their sum.
4. Write a program to find the product and sum of two matrices [A]mxp and [B]pxr using Numpy
5. Write recursive and non-recursive functions for the following:
a. To find GCD of two integers.
b. To find the factorial of positive integer
c. To print Fibonacci Sequence up to given number n
6. Write a program to display two random numbers that are to be added, such as: 247 + 129, the
program should allow the student to enter the answer. If the answer is correct, a message of
congratulations should be displayed. If the answer is incorrect, a message showing the correct
answer should be displayed.
9. Write a program to create file, write the content and display the contents of the file.
10. In a program, write a function that accepts two arguments: a list and a number n. The
function displays all of the numbers in the list that are greater than the number n.
11. Write a program with a function that accepts a string as an argument and returns the no. of
vowels that the string contains. Another function to return number of consonants.
12. Write a program that opens a specified text file and then displays a list of all the unique
words found in the file. (Store each word as an element of a set.)
13. Write a program to analyze the contents of two text files using set operations.
14. Write a program to implement the inheritance and dynamic polymorphism.
15. Write a GUI program that converts Celsius temperatures to Fahrenheit temperatures.
16. Write a GUI program that displays your details when a button is clicked.
1. Program to identify the category of the IP address for the given IP address
2. Program to implement sliding window protocol
3. Program for Socket pair system call usage in IPC
4. Program for Socket options using signals
5. Program to implement Echo concurrent Stream Server
6. Program to implement Echo concurrent stream client
7. Program to implement Listener and Talker
8. Program to implement TCP time service
9. Program to implement UDP time service
10. Program to implement Ping service
11. Program to implement Route tracing program
12. Program to implement File Transfer Protocol
13. Program to implement any Shortest path routing Algorithm
14. Program to implement Distance Vector Routing Implementation
15. Program to implement ICMP Error Message simulations
16. Program to implement Reverse Address Resolution Protocol