Page 1 :
Savitribai Phule Pune University, (Formerly University of Pune), , Three Year B.Sc. Degree Program in Computer Science, (Faculty of Science & Technology), , T.Y.B.Sc. (Computer Science), , Choice Based Credit System Syllabus, To be implemented from Academic Year 2021 – 2022
Page 2 :
Course Structure T.Y.B.Sc. (Computer Science), Semester V (Total credits=22), Course, type, , Paper, Code, , Paper title, , Credits, T, , Operating Systems – I, DSEC - I, Computer Networks – II, Practical course based on CS 351, DSEC - II, Web Technologies – I, Foundations of Data Science, Practical course based on CS 353 and, CS 354, DSEC - III CS-355 Object Oriented Programming using, Java - I, CS-356 Theoretical Computer Science, CS-359 Practical Course based on CS 355, SECC - I, CS-3510 Python Programming, SECC - II CS-3511 Blockchain Technology, CS-351, CS-352, CS-357, CS-353, CS-354, CS-358, , P, , 2, 2, , Evaluation, CA UA, , TOTAL, , 15, 15, 15, 15, 15, 15, , 35, 35, 35, 35, 35, 35, , 50, 50, 50, 50, 50, 50, , 2, , 15, , 35, , 50, , 2, , 15, 15, 15, 15, , 35, 35, 35, 35, , 50, 50, 50, 50, , 2, 2, 2, 2, , 2, 2, , 2, 0, 0, , Semester VI (Total credits=22), Course, type, , Paper, Code, , Paper title, , Credits, T, , Operating Systems – II, Software Testing, Practical course based on CS 361, DSEC - II, Web Technologies – II, Data Analytics, Practical course based on CS 363 and, CS 364, DSEC - III CS-365 Object Oriented Programming using, Java - II, CS-366 Compiler Construction, CS-369 Practical Course based on CS 365, SECC - III CS-3610 Software Testing Tools, SECC - IV CS-3611 Project, DSEC - I, , CS-361, CS-362, CS-367, CS-363, CS-364, CS-368, , P, , 2, 2, , Evaluation, CA UA, , TOTAL, , 15, 15, 15, 15, 15, 15, , 35, 35, 35, 35, 35, 35, , 50, 50, 50, 50, 50, 50, , 2, , 15, , 35, , 50, , 2, , 15, 15, 15, 15, , 35, 35, 35, 35, , 50, 50, 50, 50, , 2, 2, 2, 2, , 2, 2, , 2, 0, 0
Page 3 :
SavitribaiPhule Pune University, T.Y.B.Sc. (Computer Science) - Sem – V, Course Type: DSEC – I, Course Code : CS - 351, Course Title : Operating Systems – I, Teaching Scheme:, 03 Lect / week, , No. of Credits:, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Prerequisites, Data structures like stack, queue, linked list, tree, graph, hashing, file structures, any, structured programming language, Course Objectives:, 1. To understand the concept of operation system and its principle, 2. To study the various functions and services provided by operating system, 3. To understand the notion of process and threads, Course Outcomes: After completion of this course students will be able to understand, the concept of, 1. Processes and Thread Scheduling by operating system, 2. Synchronization in process and threads by operating system, 3. Memory management by operating system using with the help of various schemes, Course Contents, Chapter 1, Introduction to Operating Systems, 6 lectures, Operating Systems Overview- system Overview and Functions of operating systems, What does an OS do?, Operating system Operations, Operating system structure, Protection and security, Computing Environments- Traditional, mobile , distributed, Client/server, peer to peer, computing, Open source operating System, Booting, Operating System services,, System calls Types of System calls and their working., Chapter 2, Processes and Threads, 6 lectures, Process Concept – The processes, Process states, Process control block., Process Scheduling – Scheduling queues, Schedulers, context switch, Operations on Process – Process creation with program using fork(), Process, termination, Thread Scheduling- Threads, benefits, Multithreading Models, Thread Libraries, Chapter 3, Process Scheduling, 7 lectures, Basic Concept – CPU-I/O burst cycle, Scheduling Criteria ,CPU scheduler,, Preemptive scheduling, Dispatcher, Scheduling Algorithms – FCFS, SJF, Priority scheduling, Round-robin scheduling,, Multiple queue scheduling, Multilevel feedback queue scheduling, Chapter 4, Synchronization, 5 lectures, Background, Critical Section Problem, Semaphores: Usage, Implementation
Page 4 :
, , Classic Problems of Synchronization – The bounded buffer problem, The reader, writer problem, The dining philosopher problem, Chapter 5, Memory Management, 12 lectures, Background – Basic hardware, Address binding, Logical versus physical address, space, Dynamic loading, Dynamic linking and shared libraries, Swapping, Contiguous Memory Allocation – Memory mapping and protection, Memory, allocation, Fragmentation, Paging – Basic Method, Hardware support, Protection, Shared Pages, Segmentation – Basic concept, Hardware, Virtual Memory Management – Background, Demand paging, Performance of, demand paging, Page replacement – FIFO, Optimal, LRU, MFU, Reference Books:, 1. Operating System Concepts, Avi Silberschatz, Peter Galvin, Greg Gagne, Student, Edition, Wiley Asia, 2. Operating Systems: Internals and Design Principles, William Stallings, Prentice Hall, of India., 3. Advanced Concepts in Operating Systems, M Singhal and NG Shivaratri, Tata, McGraw Hill Inc, 2001, 4. The ‘C’ Odyssey, UNIX-the open boundless C, Meeta Gandhi,Tilak Shetty,Rajiv, Shah, BPB publication
Page 5 :
SavitribaiPhule Pune University, T.Y.B.Sc. (Computer Science) Sem - V, Course Code: DSEC - I, Course Code : CS - 352, Course Title :Computer Networks - II, Teaching Scheme, 03 Lect/ week, , No. of Credits, 2, , Examination Scheme, IE :15 marks, UE: 35 marks, , Prerequisites:, Prerequisites: Basic knowledge of Networking and ISO/OSI model, Course Objectives, To understand different protocols of application layer., To understand concepts of multimedia., Explore the different methods used for Network/INTERNET security., Course Outcomes, On completion of the course, student will be able to–, Student will understand the different protocols of Application layer., Develop understanding of technical aspect of Multimedia Systems, Develop various Multimedia Systems applicable in real time., Identify information security goals., Understand, compare and apply cryptographic techniques for data security., Course Contents, Chapter 1, Application Layer, 10 Lect, Domain Name System, , Name space-Flat name space, Hierarchical name space, , Domain Name Space -Label ,Domain name, FQDN,PQDN, , Distribution of Domain Name Space-Hierarchy of name servers, zone, Root, server, Primary and secondary servers., , DNS in the Internet: Generic domains, Country domains,inverse domain, , Resolution-Resolver,mapping names to address,mapping addresses to, names,recursive resolution,iterative resolution,caching, Electronic Mail Architecture-First scenario, second scenario, Third scenario, Fourth scenario, User agent-services of user agent, types of UA Format of e-mail, MIME-MIME header, Message transfer agent-SMTP, Message Access Agent: POP and IMAP, File Transfer, FTP-Communication, over, data, control, connection,File, type,data, structure,Transmission mode,anonymous FTP, Chapter 2, Multimedia, 08 Lect, Digitizing audio and video, Audio and Video compression, Streaming Stored audio/video, First approach, Second approach, Third approach, Fourth approach, Streaming live audio/video
Page 6 :
Real time interactive audio/video- Characteristics, Time relationship, timestamp,, Playback buffer, ordering multicasting, translation, RTP-Packet format, RTCP-Message types, Voice over IP-SIP,SIP sessionH.323Architecture, Protocols, Chapter 3, Cryptography and Network Security, 09 Lect, Terminology: Cryptography, plain text and cipher text, cipher key, categories of, cryptography-Symmetric key, asymmetric key, Encryption model, Symmetric key cryptography, Traditional ciphers – substitution cipher, shift cipher, Transposition cipher, Simple Modern ciphers-XOR, Rotation cipher, s-box,p-box, Modern round ciphers-DES, Mode of operation-ECB,CBC,CFB,OFB, Asymmetric key cryptography-RSA, Security Services, Message confidentiality-With Symmetric key cryptography, with asymmetric, key cryptography, Message integrity-Document and fingerprint, message and message digest, Message authentication-MAC,HMAC, Digital signature, Entity Authentication-Passwords, Fixed passwords challenge-response, Chapter 4, Security in the Internet, 09 Lect, IPSecurity(IPSec), Two modes, Two security protocols, Services provided by IPSec, Security association, Internet key exchange, Virtual private network, SSL/TLS, SSL services, Security parameters, Sessions and connections, Four protocols, Transport layer security, PGP, Security parameters, Services, PGP algorithms, Key rings, PGP certificates, Firewalls, Packet filter firewall, Proxy firewall
Page 7 :
Reference Books:, 1. Data communications and networking by Behrouz Forouzan 4th/5th edition, McGraw Hill, Pvt Ltd., 2. Computer Networks by Andrew S Tanenbaum, 4th/5th edition, Pearson Education, 3. Cryptography and Network Security: Principles and Practice, William Stallings, 7 th edition,, Pearson Education, 4. Network Security Essentials: Applications and Standards (For VTU), William Stallings, 3rd, edition, Pearson Education
Page 8 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem - V, Course Type:DSEC – II, Course Code: CS - 353, Course Title : Web Technologies - I, , Teaching Scheme, 03 Lect/ week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, HTML basics for form designing, Course Objectives, To Design dynamic and interactive Web pages., To Learn Core-PHP, Server Side Scripting Language, To Learn PHP-Database handling, Course Outcomes, On completion of the course, student will be able to–, Understand how to develop dynamic and interactive Web Page, Course Contents, Chapter 1, Introduction to HTML, HTTP and PHP, , 10 Lects, , Overview of HTML and Basic Tags , Creating Forms ,Tables, HTML5 Semantics., CSS basic concept ,Three ways to use CSS, Box Model, Navigation Bar ., Introduction to Web server and Web browser ., HTTP basics ., PHP Basics: Use of PHP, Lexical structure, Language basics ., Chapter 2, Function and String, Defining and calling a function, Default parameters, Variable parameters, Missing parameters, Variable function, Anonymous function, Types of strings in PHP, Printing functions, Encoding and escaping, Comparing strings, Manipulating and searching strings, Regular expressions, Chapter 3, Arrays, , Indexed Vs Associative arrays, Identifying elements of an array, Storing data in arrays, Multidimensional arrays, 3.4Extracting multiple values, Converting between arrays and variables, Traversing arrays, Sorting, Action on entire array, Chapter 4 Files and database handling, Working with files and directories, Opening and Closing, Getting information about file, Read/write to file,, Splitting name and path from file, Rename and delete files, Reading and writing characters in file, Reading entire file, , 8 Lects, , 6 Lectures, , 10 Lectures
Page 9 :
Random access to file data, Getting information on file, Ownership and permissions, Using PHP to access a database, Relational databases and SQL, PEAR DB basics, Advanced database techniques, 2 Lectures, Chapter 5 Handling email with php, Email background, Internet mail protocol, Structure of an email message, Sending email and validation of Email_id with php, Reference Books:, 1. HTML & CSS: The Complete Reference, Fifth Edition Author: Thomas A. Powell, First published: 01 Jan 2010., 2. Programming PHP By Rasmus Lerdorf and Kevin Tatroe, O'Reilly publication, 3. Beginning PHP 5 , Wrox publication, 4. PHP web sevices, Wrox publication, 5. Mastering PHP , BPB Publication, 6. PHP cookbook, O'Reilly publication, 7. PHP for Beginners, SPD publication, 8. Programming the World Wide Web , Robert W Sebesta(3rd Edition), 9. HTML 5 Black Book : Covers Css3, Javascript, XML, XHTML, Ajax, PHP And Jquery by, Kogent Learning Solutions Inc, Published November 2011 by Dreamtech Press, 10. Spurlock Jake, Bootstrap: Responsive Web development. O'Reilly Media, Inc, Ref. Links, 11. www.php.net.in, 12. www.W3schools.com, 13. www.wrox.com, 14 https://coreui.io/docs/layout/grid/#grid-options, 15. https://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-grid-system.php
Page 10 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) – Sem - V, Course Type:DSEC – II, Course Code: CS - 354, Paper Title : Foundations of Data Science, Teaching Scheme, 03 lectures / week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, Problem solving using computers, Basic mathematics and statistics, Knowledge of Databases, Course Objectives, Provide students with knowledge and skills for data-intensive problem solving and, scientific discovery, Be prepared with a varied range of expertise in different aspects of data science such as, data collection, visualization, processing and modeling of large data sets., Acquire good understanding of both the theory and application of applied statistics and, computer science based existing data science models to analyze huge data sets, originating from diversified application areas., Be better trained professionals to cater the growing demand for data scientists in, industry., Course Outcomes, On completion of the course, student will be able to–, Perform Exploratory Data Analysis, Obtain, clean/process, and transform data., Detect and diagnose common data issues, such as missing values, special values,, outliers, inconsistencies, and localization., Demonstrate proficiency with statistical analysis of data., Present results using data visualization techniques., Prepare data for use with a variety of statistical methods and models and recognize how, the quality of the data and the means of data collection may affect conclusions., Course Contents, Chapter 1, Introduction to Data Science, 6 lectures, Introduction to data science, The 3 V’s: Volume, Velocity, Variety, Why learn Data Science?, Applications of Data Science, The Data Science Lifecycle, Data Scientist’s Toolbox, Types of Data, Structured, semi-structured, Unstructured Data, Problems with unstructured, data, Data sources, Open Data, Social Media Data, Multimodal Data, standard datasets, Data Formats, Integers, Floats, Text Data, Text Files, Dense Numerical Arrays, Compressed or, Archived Data, CSV Files, JSON Files, XML Files, HTML Files , Tar Files,, GZip Files, Zip Files, Image Files: Rasterized, Vectorized, and/or Compressed
Page 11 :
Chapter 2, Statistical Data Analysis, 10 lectures, 2.1.Role of statistics in data science, 2.2.Descriptive statistics, Measuring the Frequency, Measuring the Central Tendency: Mean, Median, and Mode, Measuring the Dispersion: Range, Standard deviation, Variance, Interquartile, Range, 2.3.Inferential statistics, Hypothesis testing, Multiple hypothesis testing, Parameter Estimation methods,, 2.4.Measuring Data Similarity and Dissimilarity, Data Matrix versus Dissimilarity Matrix, Proximity Measures for Nominal, Attributes, Proximity Measures for Binary Attributes, Dissimilarity of Numeric, Data: Euclidean, Manhattan, and Minkowski distances, Proximity Measures for, Ordinal Attributes, 2.5.Concept of Outlier, types of outliers, outlier detection methods, Chapter 3, Data Preprocessing, 10 lectures, Data Objects and Attribute Types: What Is an Attribute?, Nominal , Binary, Ordinal, Attributes, Numeric Attributes, Discrete versus Continuous Attributes, Data Quality: Why Preprocess the Data?, 3.3.Data munging/wrangling operations, Cleaning Data - Missing Values, Noisy Data (Duplicate Entries, Multiple, Entries for a Single Entity, Missing Entries, NULLs, Huge Outliers, Out‐of‐, Date Data, Artificial Entries, Irregular Spacings, Formatting Issues - Irregular, between Different Tables/Columns, Extra Whitespace, Irregular Capitalization,, Inconsistent Delimiters, Irregular NULL Format, Invalid Characters,, Incompatible Datetimes), Data Transformation – Rescaling, Normalizing, Binarizing, Standardizing, Label and One, Hot Encoding, Data reduction, Data discretization, Chapter 4, Data Visualization, 10 lectures, Introduction to Exploratory Data Analysis, Data visualization and visual encoding, Data visualization libraries, Basic data visualization tools, Histograms, Bar charts/graphs, Scatter plots, Line charts, Area plots, Pie charts,, Donut charts, Specialized data visualization tools, Boxplots, Bubble plots, Heat map, Dendrogram, Venn diagram, Treemap, 3D, scatter plots, Advanced data visualization tools- Wordclouds, Visualization of geospatial data, Data Visualization types, Reference Books:, 1) Data Science Fundamentals and Practical Approaches, Gypsy Nandi, Rupam, Sharma, BPB Publications, 2020., 2) The Data Science Handbook, Field Cady, John Wiley & Sons, Inc, 2017, 3) Data Mining Concepts and Techniques, Third Edition, Jiawei Han, Micheline
Page 12 :
Kamber, Jian Pei, Morgan Kaufmann, 2012., 4) A Hands-On Introduction to Data Science, Chirag Shah, University of, Washington Cambridge University Press
Page 13 :
SavitribaiPhule Pune University, T.Y.B.Sc. (Computer Science) Sem – V, Course Type:DSEC – III, Course Code: CS - 355, Course Title: Object Oriented Programming using Java - I, Teaching Scheme, 03 Lect / week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, Knowledge of C Programming language, Course Objectives, To learn Object Oriented Programming language, To study various java programming concept like Interface, File and Exception, Handling etc., To design User Interface using Swing and AWT, Course Outcomes, On completion of the course, student will be able to–, , Understand the concept of classes, object, packages and Collections., To develop GUI based application., Course Contents, Chapter 1, An Introduction to Java, , 6 Lect, , Object Oriented Programming Concepts, A short history of Java, Features OR Buzzwords of Java, Java Environment, Simple Java Program, Java Tools – jdb, javap, javadoc, Types of Comments, Data Types, Final Variable, Declaring 1D, 2D Array, Accepting Input, (Command Line Arguments, BufferedReader, Scanner), Chapter 2, Objects and Classes, 7 Lect, Defining your own classes, Access Specifiers, (public, protected, private, default), Array of Objects, Constructors, Overloading Constructors and Use of ‘this’ keyword, static block, static fields And methods, Predefined Classes, Object Class, Methods (equals(), toString(),hashcode(), getClass()), String Class And StringBuffer Class,Formatting String data using format(), method, Creating , Accessing And Using Packages, Wrapper Classes
Page 15 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) Sem - V, Course Type: DSEC - III, Course Code: CS - 356, Paper Title: Theoretical Computer Science, Teaching Scheme, 3 Lect/ week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, Mathematical Preliminaries Sets (Subset, Set Operations), Relations (Properties of, Relations, Closure of Relations) and Functions, Discrete Mathematics- Graphs, Trees, Logic and Proof Techniques, Course Objectives, ● To understand the Finite Automata, Pushdown Automata and Turing Machine., ● To understand the Regular Language, Context Free Language, Context Sensitive, Language and Unrestricted Language., ● To understand the relation between Automaton and Language, Course Outcomes, On completion of the course, student will be able to–, ● Understand the use of automata during language design., ● Relate various automata and Languages., Course Contents, Chapter 1, Finite Automaton, Introduction: Symbol, Alphabet, String, Prefix & Suffix of Strings, Formal, Language, Operations on Languages., Deterministic finite Automaton – Definition, DFA as language recognizer,, DFA as pattern recognizer., Nondeterministic finite automaton – Definition and Examples., NFA To DFA (Myhill Nerode Method), NFA with ε- transitions Definition and Examples., NFA with ε-Transitions to DFA & Examples, Finite automaton with output – Mealy and Moore machine, Definition and, Examples., Minimization of DFA, Algorithm & Problem using Table Method., Chapter 2 Regular Expressions and Languages, Regular Expressions (RE): Definition & Example, Regular Expressions Identities., Regular language-Definition and Examples., Conversion of RE to FA-Examples., Pumping lemma for regular languages and applications., Closure Properties of regular Languages, , 10 Lect, , 6 Lect
Page 16 :
Chapter 3, Context-Free Grammars and Languages, 10 Lect, Grammar - Definition and Examples., Derivation-Reduction - Definition and Examples., Chomsky Hierarchy., CFG: Definition & Examples. LMD, RMD, Parse Tree, Ambiguous Grammar: Concept & Examples., Simplification of CFG: Removing Useless Symbols, Unit Production, ϵ-production and, Nullable Symbol., Normal Forms: Greibach Normal Form (GNF) and Chomsky Normal Form (CNF), Regular Grammar: Definition., Left linear and Right Linear Grammar-Definition and Example., Equivalence of FA & Regular Grammar, Construction of regular grammar equivalent to a given DFA., Construction of a FA from the given right linear grammar, Chapter 4, Push Down Automata, 5 Lect, Definition of PDA and examples., Construction of PDA using empty stack and final State method: Examples using stack, method., Definition DPDA & NPDA, their correlation and Examples of NPDA, CFG (in GNF) to PDA: Method and examples, Turing Machine, Chapter 5, 5 Lect, The Turing Machine Model, Definition and Design of TM, Problems on language recognizers., Language accepted by TM., Types of Turing Machines (Multitrack TM, Two-way TM, Multitape TM, Nondeterministic TM), Introduction to LBA (Basic Model) & CSG. (Without Problems), Reference Books, 1. Introduction to Automata Theory, Languages and Computation, John E. Hopcraft, Rajeev, Motwani, Jeffrey D. Ullman, Third Edition, Pearson Education Publication, 2008, 2. Introduction to Automata theory, Languages and computation By John E. Hopcroft and, JeffreyUllman – Narosa Publishing House, 1995, 3. Theory of Computer Science Automata, Languages and Computation, K.L.P. Mishra, N., Chandrasekaran, Publication- Prentice Hall of India, 2008, 4. Introduction to Computer Theory Daniel I. A. Cohen – 2nd edition – John Wiley & Sons,, 1996, 5. Introduction to Languages and The Theory of Computation John C. Martin The McGrawHill, Fourth Edition, 2011
Page 17 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem - V, Course Type: DSEC - I, Course Code: CS - 357, Course Title : Practical Course based on CS - 351, Teaching Scheme:, 5 Lect/ week, , No. of Credits:, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Course Objectives:, 1. To understand the concept of process scheduling with the help of simulation., 2. To study the concept demand paging concepts in operating system., 3. To understand the working of operating system shell., Course Outcomes: After completion of this course students will be able to understand, the concept of, 1. Process synchronization, 2. Processes and Thread Scheduling by operating system, 3. Memory management by operating system using with the help of various schemes, Guidelines:, 1. Operating system platform – Linux, 2. Programming language - C, List of Assignments:, , , Operations on processes : (2 slot), (Create a child process using fork() and commands like exec(),execv() and execvp()), , , , Simulation of Operating System Shell and its working (commands)(2 slots), , , , Simulation of CPU Scheduling Algorithms – FCFS, SJF, Priority and Round Robin(4, slots), , , , Simulation of demand paging using memory page replacement algorithms – FIFO,, LRU, OPT, MFU(4 slots)
Page 18 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) Sem – V, Course Type: DSEC - II, Course Code: CS - 358, Course Title : Practical Course based on CS - 353 and CS - 354, Teaching Scheme:, No. of Credits:, Examination Scheme:, 5 Lect/ week, 2, IE : 15 marks, Batch Size : 12, UE: 35 marks, Course Objectives:, To Design dynamic and interactive Web pages., To Learn Core-PHP, Server Side Scripting Language, To Learn PHP- Database handling, To apply statistical, data preprocessing and visualization techniques on data sets, Course Outcomes:, Understand how to develop dynamic and interactive Web Page, Prepare data for use with a variety of statistical methods and recognize how the, quality of the data may affect conclusions., Perform exploratory data analysis, Guidelines:, Operating Environment for web technologies: HTML5.0, PHP 5.0 and above ,, Webserver, Operating Environment for Data Science: Linux + python, List of Assignments on web technologies:, 1 : HTML and HTML5.0, 2 : CSS, Box Model, Navigation Bar, 3 : Bootstrap, 4 : Function and String, 5 : Arrays, 6: Files, 7: Databases (PHP-PostgreSQL), Suggested Assignments for Foundations of Data Science, Assignment 1:, The Data Science environment, Getting introduced to Python IDLE, command line, online tools like google colaboratory, and essential packages like NumPy, SciPy, pandas, scikit-learn, matplotlib, jupyter,, beautiful-soup, etc., Assignment 2:, Loading the dataset, Select a dataset from a list of publicly available datasets at UCI Machine Learning, Repository and load it using Pandas. (Import different dataformat files like .CSV,.htm,.json, etc. Briefly describe what the dataset is about and size of the dataset (e.g. number of tables,, number of instances and attributes, etc.), Assignment 3:, Basic statistical operations, Apply basic statistical operations on a dataset. For example - compute the mean, median,, mode, range, quartiles, and variance for one or more attributes.
Page 19 :
Assignment 4: Data preprocessing, Apply data preprocessing techniques that are likely required for the dataset., 1) Partition them into appropriate number of bins by equal-frequency as well as equal-width, partitioning., 2) Use smoothing by bin means to smooth the data based on the above partitioning,, 3)Normalize the attribute based on min-max normalization and z-score normalization., Comment on which method you would prefer to use for partitioning, smoothing, and, normalization for the given attribute., Assignment 5:, Data Visualization with matplotlib, View the data using various 2-D, 3-D plots and charts, setting styles, saving the figures,, customizing the legends, multiple subplots,
Page 20 :
SavitribaiPhule Pune University, T.Y.B.Sc. (Computer Science) - Sem – V, Course Type: DSEC - III, Course Code: CS - 359, Course Title : Practical Course based on CS - 355, Teaching Scheme, Examination Scheme, No. of Credits, 5 Lect / week, IE : 15 marks, 2, Batch Size : 12, UE: 35 marks, Course Objectives:, Covers the complete scope of the syllabus., 1. Bringing uniformity in the way course is conducted across different colleges., 2. Continuous assessment of the students., Course Outcomes:, 1. Use an integrated development environment to write, compile, run, and test simple, object-oriented Java programs., 2. Read and make elementary modifications to Java programs that solve real-world, problems., 3. Validate input in a Java program., Guidelines:, Operating Environment :, Operating system : Linux, Editor : Anylinux based editor like vi, gedit and Use of IDE – Eclipse etc., Compiler : javac, Submission :, Each assignment will be assessed on a scale of 0 to 5 as indicated below., Not done, 0, Incomplete, 1, Late Complete, 2, Needs improvement 3, Complete, 4, Well Done, 5, Assessment :, Easy : All exercises are compulsory., Medium : All exercises are compulsory., List of Assignments :, Assignment 1 : Java Tools and IDE, Simple java programs [Slot – 1], Introduction to the java environment, Use of java tools like java, javac, jdb and javadoc, Defining simple classes and creating objects., Assignment 2 : Array of Objects and Packages, Defining a class., Creating an array of objects., Creating a package., , [Slot – 2]
Page 21 :
Assignment 3 : Inheritance and Interfaces, [Slot – 2], To implement inheritance in java., To define abstract classes., To define and use interfaces and Functional Interface., Assignment 4 : Exception And File Handling [Slot – 2], Demonstrate Exception Handling Mechanism in Java., Use of try, catch, throw, throws ,finally blocks, Defining User defined Exception classes., Creation of files and demonstration of I-O operations, Assignment 5 : GUI Designing, Event Handling [Slot – 5], To demonstrate GUI creation using Swing Package and Layout managers., , To understand Event handling mechanism in Java., Using Event classes, Event Listeners and Adapters
Page 22 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – V, Course Type: SECC – I, Course Code : CS-3510, Course Title: Python Programming, Teaching Scheme, 03 Lect / week, , No. of Credits, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Course Objectives, 1. To introduce programming concepts using python, 2. Student should be able to develop Programming logic using python, 3. To develop basic concepts and terminology of python programming, 4. To test and execute python programs, Course Outcomes, On completion of the course, student will be able to–, Develop logic for problem solving, Determine the methods to create and develop Python programs by utilizing the data, structures like lists, dictionaries, tuples and sets., To be familiar about the basic constructs of programming such as data, operations,, conditions, loops, functions etc., To write python programs and develop a small application project, Course Contents, Chapter 1, An Introduction to Python, 3 Lect, Introduction to Python, The Python Programming Language, History, features, Applications, Installing Python,, Running Simple Python program, Basics of Python, Standard data types - basic, none, Boolean (true & False), numbers, Variables,, Constants,Python identifiers and reserved words, Lines and indentation, multi-line statements, and Comments,Input/output with print and input ,functions Declaration, Operations on Data, such as assignment, arithmetic, relational, logical and bitwise operations, dry run, Simple Input, and output etc., Chapter 2, Control Statements, 4 Lect, Sequence Control – Precedence of operators, Type conversion, Conditional Statements: if, if-else, nested if-else,, Looping- for, while, nested loops, loop control statements (break, continue, pass), a., Strings: declaration, manipulation, special operations, escape, character, string formatting operator, Raw String, Unicode, strings, Built-in String methods., Chapter 3, Lists, functions, tuples and dictionaries, Sets, 7 Lect, Python Lists: Concept, creating and accessing elements, updating & deleting lists,, traversing a List, reverse Built-in List Operators, Concatenation, Repetition, In Operator,, Built-in List functions and methods., Functions: Definitions and Uses, Function Calls, Type Conversion Functions, Math, Functions, Composition, Adding New Functions, Flow of Execution, Parameters and, Arguments, Variables and Parameters, Stack Diagrams, Void Functions, Anonymous, functions Importing with from, Return Values, Boolean Functions, More Recursion,, Functional programming tools - filter(), map(), and reduce(),recursion, lambda forms.
Page 23 :
Tuples and Dictionaries: Tuples, Accessing values in Tuples, Tuple Assignment, Tuples as, return values, Variable-length argument tuples, and Basic tuples operations, Concatenation,, Repetition, in Operator, Iteration, Built-in tuple functions, indexing, slicing and matrices., Creating a Dictionary, Accessing Values in a dictionary, Updating Dictionary, Deleting, Elements from Dictionary, Properties of Dictionary keys, Operations in Dictionary, Built-In, Dictionary Functions, Built-in Dictionary Methods., Sets- Definition, transaction of set(Adding, Union, intersection), working with sets, Chapter 4, Modules ,Working with files, Exception handling, 4 Lect, Modules: Importing module, Creating & exploring modules, Math module, Random, module, Time module, Packages: Importing package, creating package,examples, Working with files: Creating files and Operations on files (open, close, read, write), File, object attributes, file positions, Listing Files in a Directory, Testing File Types,, Removing files and directories, copying and renaming files, splitting pathnames, creating, and moving directories, Regular Expression- Concept of regular expression, various types of regular expressions,, using match function., Exception Handling: Built-in Exceptions, Handling Exceptions, Exception with, Arguments, User-defined Exceptions., Demonstration Programming Assignments:, 18 Lect, Out of 36 lectures, 18 are assigned for demonstration. Teacher should give demonstration, of various programs mentioned below in the classroom or in the laboratory as per their, convenience., Programming assignments should be done individually by the student in their respective login, from the list given in Labbook. The codes should be uploaded on either the local server,, Moodle, Github or any LMS., Assignment 1 - Python Basics, Assignment 2 – Arrays, Strings, and Functions, Assignment 3 - List, Tuples, Sets, and Dictionary, Assignment 4 - File Handling and Date-Time, Assignment 5 - Exception handling and Regular expression, Reference Books:, 1. An Introduction to Computer Science using Python 3 by Jason Montojo, Jennifer, Campbell, Paul Gries, The pragmatic bookshelf-2013, 2. James Payne, “Beginning Python: Using Python and Python 3.1,Wrox Publication, 3. Introduction to Computer Science Using Python- Charles Dierbach, Wiley Publication, Learning with Python “, Green Tea Press, 2002, 4. Introduction to Problem Solving with Python by E balguruswamy,TMH publication2016, 5. Beginning Programming with Python for Dummies Paperback – 2015 by John Paul, Mueller, 6. Object-oriented Programming in Python, Michael H. Goldwasser, David Letscher,, Pearson Prentice Hall-2008
Page 24 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – V, Course Type: SECC – II, Course Code : CS-3511, Course Title: Blockchain Technology, Teaching Scheme, 03 Lect / week, , No. of Credits, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Prerequisite:, Understanding of Object Oriented Programming Concepts, Knowledge of Python, Course Objectives, 1., 2., 3., 4., , Understand what and why of blockchain technology., Explore major components of blockchain., Learn about Bitcoin, Cryptocurrency and Ethereum., To learn blockchain programming using Python, Flask Web Framework, and HTTP client, Postman., , Course Outcomes, On completion of the course, student will be able to–, 1. Learn the fundamentals of Blockchain Technology., 2. Learn Blockchain programming, 3. Basic knowledge of Smart Contracts and how they function., , Course Contents, Chapter 1, Introduction to Blockchain, 7 Lect, Foundational Computing Concepts (Client-Server systems vs Peer to Peer Systems), Evolution of Blockchain, Blockchain Vs Database, Essentials of Blockchain (Blockchain generations, types of blockchain, benefits and, challenges of blockchain usage), Types of Networks, Layered Architecture of Blockchain Ecosystem, Components of blockchain, Cryptography (private and public keys, Hashing &, Digital Signature), Consensus Mechanisms, Cryptocurrency, Digital Currency Bitcoin and Ethereum, Smart Contracts, Blockchain use cases, Chapter 2, 5 Lect, How Blockchain Works?, ● Understanding SHA256 Hash, ● Immutable Ledger, ● Distributed P2P Network, ● How Mining Works? (The NONCE and Cryptographic Puzzle), ● Byzantine Fault Tolerance, ● Consensus Protocols: Proof of Work, Proof of State, Défense Against Attackers,, Competing Chains, ● Blockchain Demo
Page 25 :
Chapter 3, , Smart Contracts, , 6 Lect, , Ethereum Network, What is a Smart Contract?, Ethereum Virtual Machine, Ether, Gas, DApps, Decentralized Autonomous Organizations (DAO), Hard and Soft Forks, Initial Coin Offerings, Demo of Smart Contracts, Demonstration Programming Assignments:, 18 Lect, Out of 36 lectures, 18 are assigned for demonstration. Teacher should give demonstration, of various programs mentioned below in the classroom or in the laboratory as per their, convenience., Assignment 1 –Demonstration of Blockchain, https://andersbrownworth.com/blockchain, Assignment 2 – Installation of Ganache, Flask and Postman, Assignment 3 –Write a Simple Python program to create a Block class that, contains index, timestamp, and previous hash. Connect the blocks, to create a Blockchain., Assignment 4 –Demo of Remix-Ethereum IDE https://remix.ethereum.org and, Test Networks, Assignment5–1. Write a Simple Smart Contract for Bank with withdraw and deposit, functionality., Assignment 6 – 2. Write a Smart Contract for storing and retrieving information of Degree, Certificates., Reference Books:, Textbook:, 1. Beginning Blockchain : A Beginner’s Guide to Building Blockchain Solutions By, Bikramaditya Singhal, Gautam Dhameja, Priyansu Sekhar Panda, Apress Media, Reference Books:, 2. Mastering Blockchain by Imran Bashir, Third Edition, Packt Publication, 3. Waterhole, The Science of the Blockchain, 4. Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 5. Mastering Ethereum: Building Smart Contracts and DAPPS, by Andreas Antonopoulos, Dr., Gavid Wood, Oreilly Publication, Reference Web Links, 1. https://www.investopedia.com/terms/b/blockchain.asp
Page 26 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC - IV, Course Code: CS - 361, Course Title : Operating Systems-II, Teaching Scheme:, 03 Lect / week, , No. of Credits:, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Prerequisites, Concepts of Operating System, Processes and Threads Scheduling, Synchronization, Course Objectives:, 1. To understand the issue of Deadlocks in Process management., 2. To understand the concept of File system management & disk scheduling, 3. To study the concept of distributed and mobile operating systems, Course Outcomes: After completion of this course students will be able to understand, the concept of, 1. Management of deadlocks and File System by operating system, 2. Scheduling storage or disk for processes, 3. Distributed Operating System and its architecture and the extended features in mobile OS., Course Contents, Chapter 1, Process Deadlocks, 7 lectures, System model, Deadlock Characterization – Necessary conditions, Resource allocation graph, Deadlock Methods- Prevention and Deadlock Avoidance - Safe state, Resource, allocation graph algorithm, Banker’s Algorithm, Deadlock Detection, Recovery from Deadlock – Process termination, Resource preemption, Chapter 2, File system Management, 6 lectures, File concept , File attributes, File operations, Access Methods – Sequential, Direct, Other access methods, Directory overview, Single level directory, Two level directory, Tree structure, directory, Acyclic graph directory, General graph directory, Allocation Methods – Contiguous allocation, Linked allocation, Indexed allocation, Free Space Management – Bit vector, Linked list, Grouping, Counting, Space maps, Chapter 3, Disk scheduling, 4 lectures, Overview, Disk Structure, Disk Scheduling, FCFS Scheduling, SSTF Scheduling, Scan Scheduling-Scan, Scheduling, Look Scheduling , Disk Management, Chapter 4, Introduction to Distributed operating systems &, 11 lectures, Architecture, What is a distributed system, Design goals, Types of distributed systems, Architectural styles : Layered architectures , Object-based architectures, Resourcecentered architectures, System architecture – Centralized organization, Decentralized organizations, peer-topeer systems, Hybrid architectures.
Page 27 :
Example architectures : Network file system(NFS), Web-based distributed systems, Chapter 5, Mobile Operating Systems, 7 lectures, Introduction, Features, Special Constraints and Requirements of Mobile Operating System, Special Service Requirements, ARM & Intel architectures – Power management, Mobile OS architectures – Underlying OS, kernel structure & native level, programming, Runtime issues, Approaches to power management, Commercial Mobile Operating Systems - Windows Mobile, iPhone OS (iOS),, Android, A Comparative Study of Mobile Operating Systems (Palm OS, Android, Symbian, OS, Blackberry OS, Apple iOS), Reference Books:, 1) Advanced Concepts in Operating Systems, M Singhal and NG Shivaratri, Tata McGraw Hill Inc,, 2001 (Text Book), , 2) Operating System Concepts, Avi Silberschatz, Peter Galvin, Greg Gagne, Student Edition,, Wiley Asia, 3) Operating Systems: Internals and Design Principles, William Stallings, Prentice Hall of, India., 4) Distributed Operating Systems Concepts and Design, Pradeep K. Sinha, PHI, 5) Prasant Kumar Pattnaik, Rajib Mall, “Fundamentals of Mobile Computing”, PHI Learning, Pvt.Ltd, New Delhi – 2012., 6) A. Tannenbum, Herbert Bos, “Modern Operating systems”, Pearson Publication, 4th Edition, 7) A. Tannenbum, Maarten van Steen, “Distributed systems”, 3rd Edition, 8) Source wikipedia, Mobile operating systems, General books, LLC,2010
Page 28 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC - IV, Course Code: CS - 362, Course Title : Software Testing, Teaching Scheme:, 3 Lect / week, , No. of Credits:, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Prerequisites:, Basic knowledge of algorithms, problem solving, expected inputs/outputs, Knowledge of C and java Programming Language, compilation, debugging., Course Objectives:, To provide the knowledge of software testing techniques, To understand how testing methods can be used as an effective tools in quality, assurance of software., To provide skills to design test case plan for testing software., To provide knowledge of latest testing methods, Course Outcomes:, To understand various software testing methods and strategies., To understand a variety of software metrics, and identify defects and managing, those defects for improvement in quality for given software., To design test cases and test plans, review reports of testing for qualitative, software., 4. To understand latest testing methods used in the software industries., Course Contents, Chapter 1, Introduction to Software Testing, Basics of Software Testing – faults, errors and failures, Testing objectives, Principles of testing, Testing and debugging, Testing metrics and measurements, Verification and Validation, , 5 lectures, , Testing Life Cycle, , Chapter 2, Software Testing Strategies & Techniques, 10 lectures, Testability - Characteristics lead to testable software., Test characteristics, Test Case Design for Desktop, Mobile, Web application using Excel, White Box Testing - Basis path testing, Control Structure Testing., Black Box Testing- Boundary Value Analysis, Equivalence partitioning., Differences between BBT & WBT, Chapter 3, Levels of Testing, 10 lectures, A Strategic Approach to Software Testing, Test strategies for conventional Software, Unit testing, Integration testing – Top-Down, Bottom-up integration, System Testing – Acceptance, performance, regression, Load/Stress testing,, Security testing, Internationalization testing., Alpha, Beta Testing
Page 29 :
Usability and accessibility testing, Configuration, compatibility testing, Chapter 4, Testing Web Applications, 6 lectures, Dimension of Quality,, Error within a WebApp Environment, Testing Strategy for WebApp, Test Planning, The Testing Process –an overview, Chapter 5, Agile Testing, 5 lectures, Agile Testing,, Difference between Traditional and Agile testing,, Agile principles and values,, Agile Testing Quadrants,, Automated Tests., Reference Books:, 1. Software Engineering – A Practitioners Approach, Roger S. Pressman, 7th Edition, Tata, McGraw Hill, 20, 2. Effective Methods of Software Testing, William E Perry, 3rd Edition, Wiley, Publishing Inc, 3. Managing the Testing Process: Practical Tools and Techniques for Managing, Hardware and Software Testing, Rex Black, Microsoft Press, 1999, 4. Agile Testing: A Practical Guide for Testers and Agile Teams, Lisa Crispin and Janet, Gregory, 1st Edition, Addison-Wesley Professional, 2008, , 5. Software Testing Principles and Practices By Srinivasan Desikan, Gopalaswamy, Ramesh, Pearson
Page 30 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science)- Sem - VI, Course Type:DSEC – V, Course Code: CS - 363, Course Title : Web Technologies - II, Teaching Scheme, 3 Lect / week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, • HTML5,CSS, • Core PHP, • Bootstrap framework utility, , Course Objectives, • To Learn different technologies used at client Side Scripting Language, • To Learn XML and XML parsers., • To One PHP framework for effective design of web application., • To Learn Java Script to program the behavior of web pages., • To Learn AJAX to make our application more dynamic., • Framework has, Course Outcomes, On completion of the course, student will be able to–, • Build dynamic website., • Using MVC based framework easy to design and handling the errors in dynamic website., , Course Contents, Chapter 1, Introduction to Web Techniques, Variables, Server information, Processing forms, Setting response headers, Maintaining state, PHP error handling, Chapter 2, XML, , 6 Lect, , 6 Lect, , What is XML?, XML document Structure, PHP and XML, XML parser, The document object model, The simple XML extension, Changing a value with simple XML, , Chapter 3, , Java Script and Jquery, , 10 Lect, , Overview of JavaScript, Object Orientation and JavaScript Basic Syntax(JS datatypes, JS variables ), Primitives, Operations and Expressions, Screen Output and keyboard input(Verification and Validation), JS Control statements and JS Functions, JavaScript HTML DOM Events(onmouseup, onmousedown, onclick, onload, onmouseover,, onmouseout).
Page 32 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) – Sem VI, Course Type:DSEC – V, Course Code: CS - 364, Course Title : Data Analytics, Teaching Scheme, 03 lectures / week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, Basic of mathematics and statistics, Basic programming Knowledge of python, Knowledge of databases, Course Objectives, Deploy the Data Analytics Lifecycle to address data analytics projects., Develop in depth understanding of the key technologies in data analytics., Apply appropriate analytic techniques and tools to analyze data, create models, and, identify insights that can lead to actionable results., Course Outcomes, On completion of the course, student will be able to–, Use appropriate models of analysis, assess the quality of input, and derive insight from, results., Analyze data, choose relevant models and algorithms for respective applications, Understand different data mining techniques like classification, prediction, clustering, and association rule mining, Apply modeling and data analysis techniques to the solution of real world business, problems, Course Contents, Chapter 1, Introduction to Data Analytics, 6 lectures, Concept of data analytics, Data analysis vs Data analytics, Types of analytics, Diagnostic Analytics, Predictive Analytics , Prescriptive Analytics, Exploratory, Analysis, Mechanistic Analysis, Mathematical models - Concept, Model evaluation: metrics for evaluating classifiers - Class imbalance - AUC, ROC, (Receiver-Operator Characteristic) curves, Evaluating value prediction models, Chapter 2, Machine Learning Overview, 6 Lectures, Introduction to Machine Learning, deep learning, Artificial intelligence, Applications for machine learning in data science, The modeling process, Engineering features and selecting a model, Training the model, Validating the, model, Predicting new observations, Types of machine learning, Supervised learning, Unsupervised learning, Semi-supervised learning,, ensemble techniques, Regression models
Page 33 :
2.6. Concept of classification, clustering and reinforcement learning., Chapter 3, , Mining Frequent Patterns, Associations, and, 12 lectures, Correlations, What kind of patterns can be mined, Class/Concept Description: Characterization and Discrimination, Mining, Frequent Patterns, Associations, and Correlations, Classification and Regression, for Predictive Analysis, Cluster Analysis, Outlier Analysis, Mining frequent patterns - Market Basket Analysis., Frequent Itemsets, Closed Itemsets, and Association Rules, Frequent Itemset Mining Methods, Apriori Algorithm, Generating Association Rules from Frequent Itemsets, Improving efficiency of apriori algorithm, Frequent pattern growth (FP-growth) algorithm, Chapter 4, Social Media and Text Analytics, 12 lectures, Overview of social media analytics, Social Media Analytics Process, Seven layers of social media analytics,, accessing social media data, Key social media analytics methods, Social network analysis, Link prediction, Community detection, Influence maximization, Expert finding,, Prediction of trust and distrust among individuals, Introduction to Natural Language Processing, Text Analytics : Tokenization, Bag of words, Word weighting : TF-IDF, n-Grams, stop, words, Stemming and lemmatization, synonyms and parts of speech tagging, Sentiment Analysis, Document or text summarization, Trend analytics, Challenges to social media analytics, , Reference Books:, 1) Data Science Fundamentals and Practical Approaches, Gypsy Nandi, Rupam Sharma,, BPB Publications, 2020., 2) The Data Science Handbook, Field Cady, John Wiley & Sons, Inc, 2017, 3) Data Mining Concepts and Techniques, Jiawei Han, Micheline Kamber, Jian Pei,, Morgan Kaufmann, Third Edition, 2012., 4) A Hands-On Introduction to Data Science, Chirag Shah, University of Washington, Cambridge University Press, 5) The Data Science Design Manual, Steven S. Skiena, Springer, 2017, 6) Introducing data science: big data, machine learning, and more, using Python tools,, Cielen D., Meysman A. D., & Ali M., Manning Publications Co., 2016
Page 34 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC – VI, Course Code : CS - 365, Course Title : Object Oriented Programming using Java – II, Teaching Scheme, 03 Lect / week, , No. of Credits, 2, , Examination Scheme, IE : 15 marks, UE: 35 marks, , Prerequisites, Knowledge of Core Java (CS – 355), Course Objectives, To learn database programming using Java, To study web development concept using Servlet and JSP, To develop a game application using multithreading, To learn socket programming concept, Course Outcomes, On completion of the course, student will be able to–, To access open database through Java programs using Java Data Base Connectivity, (JDBC) and develop the application., Understand and Create dynamic web pages, using Servlets and JSP., Work with basics of framework to develop secure web applications., Course Contents, Chapter 1, Collections, Introduction to the Collection framework, List - ArrayList, LinkedList, Set - HashSet, TreeSet,, Map - HashMap and TreeMap, Interfaces such as Comparator, Iterator, ListIterator, Enumeration, Chapter 2, Multithreading, What are threads?, Life cycle of thread, Creating threads - Thread class , Runnable interface, Thread priorities, Running multiple threads, Synchronization and interthread communication, Chapter 3, Database Programming, The design of jdbc, Types of drivers, Executing sql statements, query execution, Scrollable and updatable Resultset, Chapter 4, Servlets and JSP, Introduction to Servlet and Hierarchy of Servlet, Life cycle of servlet, Handing get and post request (HTTP), Handling data from HTML to servlet, Retrieving data from database to servlet, , 6 Lect, , 6 Lect, , 6 Lect, , 12 Lect
Page 36 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem - VI, Course Type: DSEC - VI, Course Code: CS - 366, Course Title: Compiler Construction, Teaching Scheme, 3 Lect / week, , No. of Credits, 2, , Examination Scheme, IE: 15 marks, UE: 35 marks, , Prerequisites, Knowledge of Automata Theory and Languages., Course Objectives, ● To understand design issues of a lexical analyzer and use of LEX tool., ● To understand design issues of a parser and use of YACC tool., ● To understand and design code generation and optimization techniques., Course Outcomes, On completion of the course, student will be able to–, ● Understand the process of scanning and parsing of source code., ● Learn the conversion code written in source language to machine language., ● Understand tools like LEX and YACC., Course Contents, Chapter 1, Introduction, 4 Lect, Definition of Compiler, Aspects of compilation., The structure of Compiler., Phases of Compiler – Lexical Analysis, Syntax Analysis, Semantic Analysis,, Intermediate Code generation, code optimization, code generation., Error Handling., Introduction to one pass & Multipass compilers, cross compiler, Bootstrapping., Chapter 2 Lexical Analysis (Scanner), 4 Lect, Review of Finite automata as a lexical analyzer,, Applications of Regular Expressions and Finite Automata (lexical analyzer,, searching using RE), Input buffering, Recognition of tokens., LEX: A Lexical analyzer generator (Simple Lex Program), Chapter 3, Syntax Analysis (Parser), 14 Lect, Definition, Types of Parsers, Top-Down Parser –, Top-Down Parsing with Backtracking: Method & Problems, Drawbacks of Top-Down parsing with backtracking, 3.2.3Elimination of Left, Recursion (direct & indirect) 3.2.4Need for Left Factoring & examples, Recursive Descent Parsing: Definition, Implementation of Recursive Descent Parser Using Recursive Procedures, 3.4 Predictive [LL (1)] Parser (Definition, Model), 3.4.1Implementation of Predictive Parser [LL (1)], 3.4.2 FIRST & FOLLOW
Page 37 :
Construction of LL (1) Parsing Table, Parsing of a String using LL (1) Table., Bottom-Up Parsers, Operator Precedence Parser -Basic Concepts, Operator Precedence Relations form Associativity & Precedence, Operator Precedence Grammar, Algorithm for LEADING & TRAILING (with ex.), Algorithm for Operator Precedence Parsing (with ex.), Precedence Functions, Shift Reduce Parser, Reduction, Handle, Handle Pruning, Stack Implementation of Shift Reduce Parser (with examples), LR Parser: Model, Types [SLR (1), Canonical LR, LALR]-Method & examples., YACC (from Book 3) –program sections, simple YACC program for expression evaluation, Chapter 4, Syntax Directed Definition, 7 Lect, Syntax Directed Definitions (SDD), Inherited & Synthesized Attributes, Evaluating an SDD at the nodes of a Parse Tree, Example, Evaluation Orders for SDD’s, Dependency Graph, Ordering the Evaluation of Attributes, S-Attributed Definition, L-Attributed Definition, Application of SDT, Construction of syntax trees,, The Structure of a Type, 4. 4 Translation Schemes, 4.4.1 Definition, Postfix Translation Scheme, Chapter 5, Code Generation and Optimization, 7 Lect, Compilation of expression –, Concepts of operand descriptors and register descriptors with example., Intermediate code for expressions – postfix notations,, Triples, Quadruples and Expression trees., Code Optimization – Optimizing transformations – compile time evaluation, elimination of, common sub expressions, dead code elimination, frequency reduction, strength reduction., Three address code, DAG for Three address code, The Value-number method for constructing DAG’s., Definition of basic block, Basic blocks, and flow graphs, Directed acyclic graph (DAG) representation of basic block., Issues in design of code generator.
Page 39 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC- IV, Course Code: CS - 367, Course Title : Practical Course based on CS - 361, Teaching Scheme:, 5 Lect/ week, , No. of Credits:, 2, , Examination Scheme:, IE : 15 marks, UE: 35 marks, , Course Objectives:, 1. To implement Banker’s algorithm for Deadlocks in Process management., 2. To simulate File system management, 3. To study and implement various algorithms of disk scheduling, Course Outcomes: After completion of this course students will be able to understand, the concept of, 1. Management of deadlocks by operating system, 2. File System management, 3. Disk space management and scheduling for processes, Guidelines:, 1. Operating system platform – Linux, 2. Programming language - C, List of Assignments:, , , Simulation of Banker’s algorithm of deadlock avoidance in processes of operating, system ( 3 slots), , , , Simulation of File Allocation methods and free space management in storage Contiguous allocation, Linked allocation, Indexed allocation, , (4 slots), , , , Simulation of Disk Scheduling algorithms – FCFS, SSTF, Scan, Look (2 slots), , , , Assignment based on distributed and mobile OS ( 3 slots)
Page 40 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC - V, Course Code: CS - 368, Course Title : Practical Course based on CS - 363 and CS - 364, Teaching Scheme, Examination Scheme:, No. of Credits:, 5 Lect/ week, IE : 15 marks, 2, Batch Size : 12, UE: 35 marks, Course Objectives:, To Learn different technologies used at client Side Scripting Language, To Learn XML and XML parsers., To One PHP framework for effective design of web application., To Learn Java Script to program the behavior of web pages., To Learn AJAX to make our application more dynamic., Framework has some utility features that make easy to write API in more efficient way, than, Core PHP, , Course Outcomes:, Build dynamic website., Using MVC based framework easy to design and handling the errors in dynamic website., Guidelines:, Operating Environment :Linux, HTML, PHP5.0 and above, Codeigniter,, Python, List of Assignments based on Web Technology CS-363:, 1 : Self Processing Forms, Sticky Forms, File Upload., 2 : COOKIES and SESSIONS., 3 : XML documents and DOM, 4 : JavaScript, 5 : Ajax, 6 : PHP framework CodeIgniter, List of Assignments for Data Analytics, Assignment 1:, Frequent itemset and association rule mining, Load Transactional data set. Do the needful data preprocessing. Display the set of frequent, 2-itemsets and 3-itemsets. Repeat the process for different min_sup value., Assignment 2:, Linear and Logistic regression, For Given dataset predict the value of specific attribute., Assignment 3:, Text Analytics, Take text file as input. Create bag of words. Find frequent item sets. Display word cloud, Assignment 4:, , Sentiment analysis
Page 41 :
SavitribaiPhule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: DSEC - VI, Course Code: CS - 369, Course Title : Practical Course based on CS - 365, Teaching Scheme, Examination Scheme, No. of Credits, 5 Lect/ week, IE : 15 marks, 2, Batch Size : 12, UE: 35 marks, Course Objectives:, 1. Covers the complete scope of the syllabus., 2. Bringing uniformity in the way course is conducted across different colleges., 3. Continuous assessment of the students., 4. Advanced Java is designed to develop web based, network centric, Enterprise level, applications, Course Outcomes:, 1. To Learn database Programming using Java, 2. Understand and Create dynamic web pagesusing Servlets and JSP., 3. Work with basics of framework to develop secure web applications, , Guidelines:, Operating Environment :, Operating system: Linux, Editor:Anylinux based editor like vi, gedit and Use of IDE – Eclipse etc., Compiler :javac, Database :postgresql, Submission :, Each assignment will be assessed on a scale of 0 to 5 as indicated below., Not done, 0, Incomplete, 1, Late Complete, 2, Needs improvement, 3, Complete, 4, Well Done, 5, Assessment :, Easy : All exercises are compulsory., Medium : All exercises are compulsory., List of Assignments:, Assignment 1 : Database Programming [Slot-2], Study the Collection framework in java., To Implement various Interfaces and classes through algorithms., To Demonstrate Cursor Objects (Enumeration, Iterator, ListIterator, Comparator), Assignment 2 : Multithreading [Slot-2]
Page 42 :
To create and use threads in java., To demonstrate multithreading using Thread Synchronization, Inter-thread ., Communication, Thread Priorities., Assignment 3 : Database Programming [Slot-2], To communicate with a database using java., To execute queries on tables., To obtain information about the database and tables., Assignment 4 : Servlets [Slot-2], To understand server-side programming., Simple steps to create and execute servlets., How to pass parameters using doGet and doPost methods., Handling data from HTML to servlet ., How to connect servlet to a database ., Use of various session tracking methods like Cookies., Assignment 5 : Java Server Pages [Slot-2], JSP life-cycle., Use of JSP implicit objects., JSP Directives., Use of Scripting Elements., To understand actionstags in JSP., Understanding flow of JSP custom tags., Assignment 6 : Spring Framework [Slot-2], To create and understand the steps to develop Spring application.
Page 43 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem – VI, Course Type: SECC - III, Course Code: CS - 3610, Course Title: Software Testing Tools, Teaching Scheme:, 03 Lect / week, , No. of Credits:, 2, , Examination Scheme:, IE:15 marks, UE: 35 marks, , Prerequisites, Basic knowledge of algorithms, problem solving, expected inputs/outputs, Knowledge of C and Java Programming Language, compilation, debugging, Course Objectives:, To provide the knowledge of software testing methods and strategies., To understand how testing methods can be used as an effective tool in quality, assurance of software., To provide skills to design test case plan for testing software., 4.To provide knowledge of latest testing tools, Course Outcomes:, To understand various software testing methods and strategies., To understand a variety of software metrics and identify defects and managing, those defects for improvement in quality for given software., To design test cases and test plans, review reports of testing for qualitative, software., 4. To understand latest testing tools used in the software industries., Course Contents, Chapter 1, Introduction to Test case design, 4 lectures, How to identify errors, bugs in the given application., Design entry and exit criteria for test case, design test cases in excel., Describe feature of a testing method used., Chapter 2, Test cases for simple programs, 4 lectures, Write simple programs make use of loops and control structures., Write Test Cases for above programs., Chapter 3, Test cases and Test plan, 4 lectures, Write Test Plan for given application with resources required., Write Test case for given application., Prepare Test report for test cases executed., Chapter 4, Defect Report, 3 lectures, Defect Life Cycle, Classification of Defect, Write Defect Report, Chapter 5, Testing Tools, 3 lectures, How to make use of Automation Tools, Types of Testing Tools, Demonstration Programming Assignments, 18 Lect, Out of 36 lectures, 18 are assigned for demonstration. Teacher should give, demonstration of various assignments based on above theory topics in the classroom, or in the laboratory as per their convenience. Demonstration of any open source, testing tool should be given.
Page 44 :
Programming assignments should be done individually by the student in their respective, login from the list given in Labbook. The code/ documentation should be uploaded on, either the local server, Moodle, Github or any LMS., Reference Books:, 1. Software Engineering – A Practitioners Approach, Roger S. Pressman, 7thEdition,, Tata McGraw Hill, 20, 2. Effective Methods of Software Testing, William E Perry, 3 rd Edition, Wiley, Publishing Inc, 3. Managing the Testing Process: Practical Tools and Techniques for Managing, Hardware and Software Testing, Rex Black, Microsoft Press, 1999, 4. Software Testing Principles and Practices by Srinivasan Desikan, Gopalaswamy, Ramesh, Pearson.
Page 45 :
Savitribai Phule Pune University, T.Y.B.Sc. (Computer Science) - Sem - VI, Course Type: SECC - IV, Course Code: CS - 3611, Course Title : Project, Teaching Scheme, Examination Scheme, No. of Credits, 03 Lect/ week/Batch, IE : 15 marks, 2, Batch Size : 20, UE: 35 marks, Project Guidelines:, Students should work in a team of minimum 3 and maximum 4 students., Students can choose a project topic and implement the same using any, language/technology covered in the curriculum so far. The operating environment, must be linux., The student group will work independently throughout the project work, including: problem identification, information searching, literature study,, design and analysis, implementation, testing, and the final reporting., Project guide must conduct project presentations (minimum 2) to monitor the, progress of the project groups., At the end of the project, the group should prepare a report which should, conform to international academic standards. The report should follow the style, in academic journals and books, with clear elements such as: abstract,, background, aim, design and implementation, testing, conclusion and full, references, Tables and figures should be numbered and referenced to in the, report., The final project presentation with demonstration (UE) will be evaluated by the, project guide (appointed by the college) and one external examiner (appointed, by the University)., Recommended Documentation contents:, Abstract, Introduction, motivation, problem statement, purpose/objective and goals, literature survey, project scope and limitations, System analysis, Existing systems, scope and limitations of existing systems, project perspective, features, stakeholders, Requirement analysis - Functional requirements,, performance requirements, security requirements etc., System Design, Design constraints, System Model: Using OOSE, Data Model, User interfaces, Implementation details
Page 46 :
Software/hardware specifications, Outputs and Reports Testing, Test Plan, Black Box Testing or Data Validation Test Cases,, White Box Testing or Functional Validation Test cases and, results, Conclusion and Recommendations, Future Scope, Bibliography and References, , Project Related Assignments, Guidelines:, The project assignments are a compulsory part of the project course and, should be carried out by each project group., Project assignments are to be given by the guide for continuous internal, evaluation., The project assignments are to be allotted to each group separately by the, project guide on the basis of the implementation technology. A suggested list, of assignments is given below., 1. Project Time management: plan (schedule table), Gantt chart,, Roles and responsibilities, data collection, Implementation, 2. Simple assignments to evaluate choice of technology, 3. Assignments on UI elements in chosen technology, 4. Assignments on User interfaces in the project, 5. Assignments on event handling in chosen technology, 6. Assignments on Data handling in chosen technology, 7. Online and offline connectivity, 8. Report generation, 9. Deployment considerations, 10. Test cases, Each student within the group must work actively and contribute to the, assignments, project work and report writing., Evaluation guidelines:, IA (15 marks), , UE (35 marks), , First, presentation, , Second, presentation, , Assignments, , Project, Logic/, Presentation, , Assignments and, Project, Documentation, , Viva, , 05, , 05, , 05, , 20, , 10, , 05