Msc.
COMPUTER SCIENCE
FIRST SEMESTER
Course Code
Title of the Course
23PCSC01 Core I:Analysis&
DesignofAlgorithms
23PCSC02 CoreII:ObjectOriented
AnalysisandDesign&C++
23PCSC03 CoreIII:Python Programming
23PCSE0_ ElectiveI
23PCSCP01 PracticalI:Algorithm and OOPS
Lab
23PCSCP02 PracticalII:Python ProgrammingLab
1
I – SEMESTER
ANALYSIS&DESIGNOF
Coursecode 23PCSC01 L T P C
ALGORITHMS
Unit:1 INTRODUCTION
Introduction: - Algorithm Definition and Specification – Space complexity-Time Complexity-
Asymptotic Notations - Elementary Data Structure: Stacks and Queues – Binary Tree - Binary
Search Tree - Heap – Heapsort- Graph.
Unit:2 TRAVERSALANDSEARCHTECHNIQUES
BasicTraversalAndSearchTechniques:TechniquesforBinaryTrees-TechniquesforGraphs- Divide and
Conquer: - General Method – Binary Search – Merge Sort – Quick Sort.
Unit:3 GREEDYMETHOD
TheGreedyMethod:-GeneralMethod–KnapsackProblem–MinimumCostSpanningTree– Single
Source Shortest Path.
Unit:4 DYNAMICPROGRAMMING
DynamicProgramming-GeneralMethod–MultistageGraphs–AllPairShortestPath–Optimal Binary
Search Trees – 0/1 Knapsacks – Traveling Salesman Problem – Flow Shop Scheduling.
Unit:5 BACKTRACKING
Backtracking:-GeneralMethod–8-QueensProblem–SumOfSubsets–GraphColoring– Hamiltonian Cycles
– Branch And Bound: - The Method – Traveling Salesperson.
Unit:6 ContemporaryIssues
Expertlectures,onlineseminars–webinars
TextBooks
1 EllisHorowitz,“ComputerAlgorithms”,Galgotia Publications.
2 AlfredV.Aho,JohnE.Hopcroft,JeffreyD.Ullman,"DataStructures andAlgorithms".
ReferenceBooks
1 Goodrich,“DataStructures&AlgorithmsinJava”,Wiley3rd edition.
2 Skiena,”TheAlgorithmDesignManual”,SecondEdition,Springer,2008
AnanyLevith,”Introduction to the DesignandAnalysis of algorithm”, Pearson Education
3
Asia, 2003.
RobertSedgewick,PhillipeFlajolet,”AnIntroductiontotheAnalysisofAlgorithms”,Addison-
4
Wesley Publishing Company,1996.
RelatedOnlineContents[MOOC,SWAYAM, NPTEL,Websitesetc.]
1 https://nptel.ac.in/courses/106/106/106106131/
2 https://www.tutorialspoint.com/design_and_analysis_of_algorithms/index.htm
3 https://www.javatpoint.com/daa-tutorial
2
I – SEMESTER
OBJECTORIENTEDANALYSISAND
Coursecode 23PCSC02 L T P C
DESIGN & C++
Core/Elective/Supportive Core 6 5
Pre-requisite BasicsofC++andObjectOrientedConcepts
Unit:1 OBJECTMODEL
The Object Model: The Evolution of the Object Model – Elements of the Object Model –
Applying the Object Model. Classes and Objects: The Nature of an Object – Relationship among
Objects.
Unit:2 CLASSESANDOBJECTS
Classes and Object: Nature of Class – Relationship Among classes – The Interplayof classes and
Objects. Classification: The importance of Proper Classification –identifying classes and objects
–Key Abstractions and Mechanism.
Unit:3 C++INTRODUCTION
IntroductiontoC++-InputandoutputstatementsinC++-Declarations-controlstructures– Functions in
C++.
Unit:4 INHERITANCEANDOVERLOADING
Classes and Objects–Constructors and Destructors–operators overloading –TypeConversion-
Inheritance – Pointers and Arrays.
Unit:5 POLYMORPHISMANDFILES
MemoryManagementOperators-Polymorphism–Virtualfunctions–Files–Exception Handling –
String Handling -Templates.
Unit:6 ContemporaryIssues
Expertlectures,onlineseminars– webinars
TextBooks
“ObjectOrientedAnalysisandDesignwithApplications”,GradyBooch,SecondEdition, Pearson
1
Education.
“Object-OrientedProgrammingwithANSI&TurboC++”,AshokN.Kamthane,First Indian Print -
2
2003, Pearson Education.
ReferenceBooks
1 Balagurusamy“ObjectOrientedProgrammingwithC++”,TMH,SecondEdition,2003.
RelatedOnlineContents[MOOC,SWAYAM, NPTEL,Websitesetc.]
3
I – SEMESTER
Coursecode 23PCSC03 PYTHONPROGRAMMING
Core/Elective/Supportive Core
Unit:1 INTRODUCTION
Python: Introduction –Numbers –Strings – Variables –Lists – Tuples– Dictionaries– Sets–
Comparison.
Unit:2 CODESTRUCTURES
Code Structures: if, elseif, and else – Repeat with while – Iterate with for – Comprehensions –
Functions – Generators – Decorators – Namespaces and Scope – Handle Errors with try and
except – User Exceptions.
Unit:3 MODULES,PACKAGESANDCLASSES
Modules, Packages, and Programs: Standalone Programs – Command-Line Arguments –
Modules and the import Statement – The Python Standard Library. Objects and Classes: Define
a Class with class – Inheritance – Override a Method – Add a Method – Get Help from Parent
with super– In self Defense – Get and Set AttributeValues with Properties – Name Mangling for
Privacy – Method Types – Duck Typing – Special Methods –Composition.
Unit:4 DATATYPESAND WEB
DataTypes:TextStrings–Binary Data.StoringandRetrievingData:FileInput/Output– Structured
Text Files – Structured Binary Files - Relational Databases – NoSQL Data Stores.
Web:WebClients –WebServers–WebServicesandAutomation
Unit:5 SYSTEMSANDNETWORKS
Systems:Files–Directories–ProgramsandProcesses–CalendarsandClocks.
Concurrency:Queues– Processes–Threads–GreenThreadsandgevent– twisted–Redis.
Networks: Patterns – The Publish-Subscribe Model – TCP/IP – Sockets – ZeroMQ –Internet
Services – Web Services and APIs – Remote Processing – Big Fat Data and MapReduce –
Working in the Clouds.
Unit:6 ContemporaryIssues
Expertlectures,onlineseminars– webinars
TextBooks
1 BillLubanovic,“IntroducingPython”,O‟Reilly,FirstEdition-SecondRelease,2014.
2 MarkLutz,“LearningPython”,O‟Reilly,FifthEdition,2013.
ReferenceBooks
David M. Beazley,“Python Essential Reference”, Developer‟s Library, Fourth
1
Edition,2009.
SheetalTaneja,Naveen Kumar, “Python Programming-A Modular
2
Approach”,PearsonPublications.
RelatedOnlineContents[MOOC,SWAYAM, NPTEL,Websitesetc.]
1 https://www.programiz.com/python-programming/
2 https://www.tutorialspoint.com/python/index.htm
4
I – SEMESTER
PRACTICALI:ALGORITHM
Coursecode 23PCSCP01 AND OOPS LAB L T P C
Core/Elective/Supportive Elective 4 3
Pre-requisite BasicProgrammingofC++language
LISTOF PROGRAMS
1) Writeaprogram to solvethetowerofHanoiusing recursion.
2) Writeaprogramtotraversethroughbinarysearchtreeusing traversals.
3) Writeaprogram toperformvarious operations onstackusinglinked list.
4) Writeaprogramto performvariousoperationincircularqueue.
5) Writeaprogramtosortan arrayofanelements usingquicksort.
6) Writeaprogramto solvenumberofelementsinascendingorder usingheapsort.
7) Writeaprogramtosolve theknapsackproblem usinggreedymethod
8) Writeaprogramtosearch foranelementin atreeusingdivide&conquerstrategy.
9) Writeaprogramtoplace the8queens onan 8X8 matrixsothat notwo queens Attack.
10) WriteaC++programto performVirtualFunction
11) WriteaC++programtoperformParameterized constructor
12) WriteaC++program toperform FriendFunction
13) WriteaC++programtoperformFunction Overloading
14) WriteaC++programtoperformSingleInheritance
15) WriteaC++programtoperformEmployeeDetailsusing files.
Expertlectures,onlineseminars– webinars
5
I – SEMESTER
PRACTICALII:PYTHON
Coursecode 23PCSCP02 PROGRAMMING LAB L T P C
Core/Elective/Supportive Core 4 3
Pre-requisite BasicsofanyOOProgramming
Language
LISTOF PROGRAMS
Implementthefollowingin Python:
1. Programsusingelementarydataitems, lists,dictionariesandtuples
2. Programsusingconditional branches,
3. Programsusingloops.
4. Programsusingfunctions
5. Programsusingexceptionhandling
6. Programsusinginheritance
7. Programsusingpolymorphism
8. Programstoimplementfileoperations.
9. Programsusingmodules.
10. Programsforcreatingdynamicandinteractivewebpagesusingforms.
TextBooks
1 BillLubanovic,“IntroducingPython”,O‟Reilly,FirstEdition-SecondRelease,2014.
2 MarkLutz,“LearningPython”,O‟Reilly,FifthEdition,2013.