F.Y.B.Sc. CS Syllabus - 2021 - 22
F.Y.B.Sc. CS Syllabus - 2021 - 22
Sir Sitaram and Lady Shantabai Patkar College of Arts &Science and V. P. Varde
College of Commerce and Economics S. V. Road, Goregaon (West), Mumbai –
400062
AUTONOMOUS
"Reaccredited with 'A+ Grade' by NAAC (3rd Cycle), with an institutional score of
3.53, ISO 9001-2015, Best College 2016-17,
Approved For DBT STAR COLLEGE SCHEME“
SYLLABUS FOR
PROGRAM
(B.SC.) FIRST YEAR
COURSE:- COMPUTER SCIENCE
SEMESTER- I and SEMESTER- II
(Choice based Credit and Grading System with effect from the academic year
2021–2022)
SYLLABUS COMMITTEE MEMBERS
F.Y.B.Sc. CS
Semester Semester II
I
Course Course Course Course Course Course Course Course Course Course Course Course Course Course
I II III IV V VI VII I II III IV V VI VII
UNIT I
UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I UNIT I
UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT II
II II II II II II II II II II II II II
UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT UNIT III
III III III III III III III III III III III III III
Semester – I
Lectures/We
Course Code Course Type Course Title Credits
ek
PUSCS101 Core Subject Digital Systems & Architecture 2 3
PUSCS102 Core Subject Introduction to Programming with
2 3
Python
PUSCS103 Core Subject LINUX Operating System 2 3
PUSCS104 Core Subject Open Source Technologies 2 3
PUSCS105 Core Subject Discrete Mathematics 2 3
PUSCS106 Core Subject Descriptive Statistics 2 3
PUSCS107 Ability Soft Skills
Enhancement 2 3
Course
PUSCSP101 Core Subject Digital Systems & Architecture –
1 3
Practical Practical
PUSCSP102 Core Subject Introduction to Programming with
1 3
Practical Python –Practical
PUSCSP103 Core Subject LINUX Operating System – Practical
1 3
Practical
PUSCSP104 Core Subject Open Source Technologies – Practical
1 3
Practical
PUSCSP105 Core Subject Discrete Mathematics – Practical
1 3
Practical
PUSCSP106 Core Subject Descriptive Statistics – Practical
1 3
Practical
Semester – II
Lectures/
Course Code Course Type Course Title Credits
Week
PUSCS201 Core Subject Design & Analysis of Algorithms 2 3
PUSCS202 Core Subject Advanced Python Programming 2 3
PUSCS203 Core Subject Introduction to OOPs using C++ 2 3
PUSCS204 Core Subject Database Systems 2 3
PUSCS205 Core Subject Calculus 2 3
PUSCS206 Core Subject Statistical Methods 2 3
PUSCS207 Ability E-Commerce & Digital Marketing
Enhancement 2 3
Course
PUSCSP201 Core Subject Design & Analysis of Algorithms-
1 3
Practical Practical
PUSCSP202 Core Subject Advanced Python Programming-
1 3
Practical Practical
PUSCSP203 Core Subject Introduction to OOPs using C++-
1 3
Practical Practical
PUSCSP204 Core Subject Database Systems- Practical
1 3
Practical
PUSCSP205 Core Subject Calculus- Practical
1 3
Practical
PUSCSP206 Core Subject Statistical Methods- Practical
1 3
Practical
SEMESTER I
Course: Digital System & Architecture
PUSCS101 (Credits : 2 Lectures/Week : 3)
Objectives:
1) To have an understanding of Digital systems and operation of a digital computer.
2) To learn different architectures & organizations of memory systems, processor organization and control unit.
3) To understand the working principles of multiprocessor and parallel organization’s as advanced computer
architectures
Expected Learning Outcomes:
After successful completion of this course, students would be able to
1) To learn about how computer systems work and underlying principles
2) To understand the basics of digital electronics needed for computers
3) To understand the basics of instruction set architecture for reduced and complex instruction sets
4) To understand the basics of processor structure and operation
5) To understand how data is transferred between the processor and I/O devices
Fundamentals of Digital Logic: Boolean algebra, Logic Gates, And Simplification of Logic
Circuits: Algebraic Simplification, Karnaugh Maps. Combinational Circuits: Adders, Mux, 15 L
De-Mux, Sequential Circuits: Flip Flops (SR, JK & D), Counters: synchronous and
asynchronous Counter
Computer System: Comparison of Computer Organization & Architecture, Computer
Unit I Components and Functions, Interconnection Structures. Bus Interconnections, Input / Output:
I/O Module, Programmed I/O, Interrupt Driven I/O, Direct Memory Access
Memory System Organization: Classification and design parameters, Memory Hierarchy,
Internal Memory: RAM, SRAM and DRAM, Interleaved and Associative Memory. Cache
Unit II Memory: Design Principles, Memory mappings, Replacement Algorithms, Cache performance, 15 L
Cache Coherence. Virtual Memory, External Memory: Magnetic Discs, Optical Memory, Flash
Memories, RAID Levels
Processor Organization: Instruction Formats, Instruction Sets, Addressing Modes, Addressing
Modes Examples with Assembly Language [8085/8086 CPU], Processor Organization,
Structure and Function. Register Organization, Basic Microprocessor operations: Data Transfer
(Register / Memory) Operations, Arithmetic & Logical Operations,
Instruction Cycle, Instruction Pipelining. Introduction to RISC and CISC Architecture,
Instruction Level Parallelism and Superscalar Processors: Design Issues.
Control Unit: Micro-Operations, Functional Requirements, Processor Control, Hardwired
Implementation, and Micro-programmed Control.
Unit III Fundamentals of Advanced Computer Architecture: Parallel Architecture: Classification 15 L
of Parallel Systems, Flynn’s Taxonomy, Array Processors, Clusters, and NUMA Computers.
Multiprocessor Systems: Structure & Interconnection Networks, Multi-Core Computers:
Introduction, Organization and Performance
Text books:
1. M. Mano, Computer System Architecture 3rd edition, Pearson
2. Carl Hamacher et al., Computer Organization and Embedded Systems, 6 ed., McGraw-Hill 2012
3. R P Jain, Modern Digital Electronics, Tata McGraw Hill Education Pvt. Ltd. , 4th Edition, 2010
Additional References:
1. William Stallings (2010), Computer Organization and Architecture- designing for performance, 8th edition,
Prentice Hall, New Jersy.
2. Anrew S. Tanenbaum (2006), Structured Computer Organization, 5th edition, Pearson Education Inc,
3. John P. Hayes (1998), Computer Architecture and Organization, 3rd edition, Tata McGrawHill.
Text books:
1. Practical Programming: An Introduction to Computer Science Using Python 3, Paul Gries , Jennifer Campbell,
Jason Montojo, Pragmatic Bookshelf, 2nd Edition, 2014
.2. Programming through Python, M. T Savaliya, R. K. Maurya& G M Magar, Sybgen Learning India, 2020
Additional References:
1. Python: The Complete Reference, Martin C. Brown, McGraw Hill, 2018
2. Beginning Python: From Novice to Professional, Magnus Lie Hetland, Apress, 2017
3. Programming in Python 3. Mark Summerfield, Pearson Education, 2nd Ed, 2018
4. Python Programming: Using Problem Solving Approach, ReemaThareja, Oxford University Press, 2017
5. Let Us Python, Yashwant. B. Kanetkar, BPB Publication, 2019
Course:
PUSCS103 Linux Operating System
(Credits : 2 Lectures/Week: 3)
Objectives:
1) This course introduces various tools and techniques commonly used by Linux programmers, system
administrators and end users to achieve their day to day work in the Linux environment.
2) It is designed for computer students who have limited or no previous exposure to Linux.
1) Upon completion of this course, students should have a good working knowledge of Linux, from both a graphical
and command line perspective, allowing them to easily use any Linux distribution.
2) This course shall help students to learn advanced subjects in computer science practically.
3) Students shall be able to progress as a Developer or Linux System Administrator using the acquired skill set.
Linux operating system and Basics: History, GNU Info and Utilities, Various Linux
Unit II Distributions, The Unix/Linux architecture, Features of Unix/Linux, Starting the shell, Shell 15 L
prompt, Command structure, File Systems and Directory Structure, man pages, more
documentation pages.
Basic Bash shell commands: General purpose utility Commands, basic commands, Various file
types, attributes and File handling Commands, Handling Ordinary Files. More file attributes
Advanced Bash shell commands: Simple Filters, Filters using regular expressions.
The Linux environment variable: Setting, Locating and removing environment variables like
PATH etc, Default shell environment variables, Using command aliases.
Understanding Linux file permission : Linux security, Using Linux groups, Decoding file
permissions, Changing security setting, Sharing files.(chmod, chgrp, chown, etc)
Unit III 15 L
Linux Security: Understanding Linux Security, uses of root, sudo command, working with
passwords, Understanding ssh.
Networking : TCP/IP Basics, TCP/IP Model, Resolving IP addresses, Applications, ping, telnet,
ftp, DNS
Working with Editors: awk, sed and Introduction to vi.
Text book:
1) Abraham Silberschatz, Peter Galvin, Greg Gagne, Operating System Concepts, Wiley, 8th Edition.
2) Official Ubuntu Book, 8th Edition, by Matthew Helmke & Elizabeth K. Joseph with Jose Antonio Rey and Philips
Ballew, Prentice Hall
Additional References:
Course Objectives:
1) Understand the difference between open-source software and commercial software.
2) Understand the policies, licensing procedures and ethics of FOSS.
3) Understand open-source philosophy, methodology and ecosystem.
4) Awareness with Open-Source Technologies.
Expected Learning Outcome:
1) Differentiate between Open Source and Proprietary software and Licensing.
2) Recognize the applications, benefits and features of Open-Source Technologies
Gain knowledge to start, manage open-source projects.
Introduction to Open-Source:
Open Source, Need and Principles of OSS, Open-Source Standards, Requirements for
Software, OSS success, Free Software, Free Software vs. Open Source software, Public
Domain Software, Proprietary Vs Open-Source Licensing Model, use of Open Source
Software, FOSS does not mean no cost. History: BSD, The Free Software Foundation and the
GNU Project.
Licensing: What Is A License, How to create your own Licenses, Important FOSS Licenses
(Apache, BSD, PL, LGPL), Various types of creative common licenses.
Open Source Ethics and Social Impact: Open source vs. closed source, Open source
government, Ethics of Open source, Social and Financial impacts of open source technology,
Shared software, Shared source, Open Source as a Business Strategy
Case Studies:
Example Projects: Apache web server, BSD, Mozilla (Firefox), Wikipedia, Drupal,
WordPress, GCC, GDB, Open Office, Git, GitHub, Open Office, LibreOffice.
II Study: Understanding the developmental models, licensings, and modes of funding,
commercial /non-commercial use. 15 L
Open Source Projects:
Open Source Design, Open source Teaching, Open source media. How to identify whether the
software is open source or not?
Collaboration :
Community and Communication, Contributing to Open Source Projects: Introduction to
GitHub, interacting with the community on GitHub, Communication and etiquette, testing open
source code, reporting issues, contributing code.
Introduction to Wikipedia:
Contributing to Wikipedia Or contributing to any prominent open source project of a student's
III choice. Starting and Maintaining my own Open Source Project.Open Education Resources. 15 L
4. “Open-Source Technology and Policy”, Fadi P. Deek and James A. M. McHugh, Cambridge University
Press, 2008
Additional references:
1. The Linux Documentation Project: http://www.tldp.org/
2. Docker Project Home: http://www.docker.com
3. Linux kernel Home: http://kernel.org
4. Open Source Initiative: https://opensource.org/
5. Linux Documentation Project: http://www.tldp.org/
6. Wikipedia: https://en.wikipedia.org/
7. https://en.wikipedia.org/wiki/Wikipedia:Contributing_to_Wikipedia
8. Github: https://help.github.com/
9. The Linux Foundation: http://www.linuxfoundation.org/
Course: Discrete Mathematics
PUSCS105 (Credits : 2 Lectures/Week:3)
Objectives:
1) The purpose of the course is to familiarize the prospective learners with mathematical structures that are
fundamentally discrete.
2) This course will enhance prospective learners' reasoning and ability to articulate mathematical problems.
3) This course will introduce functions, forming and solving recurrence relations and different counting principles.
These concepts will be useful to study or describe objects or problems in computer algorithms and programming
languages and these concepts can be used effectively in other courses.
Expected Learning Outcomes:
1) Define mathematical structures (relations, functions, graphs) and use them to model real life situations.
2) Understand, construct and solve simple mathematical problems.
3) Solve puzzles based on counting principles.
4) Provide basic knowledge about models of automata theory and the corresponding formal languages.
5) Develop an attitude to solve problems based on graphs and trees, which are widely used in software.
Recurrence Relations
(a) Functions: Definition of function; Domain, co-domain, range of a function; Examples of
standard functions such as identity and constant functions, absolute value function,
logarithmic and exponential functions, flooring and ceiling functions; Injective, surjective
and bijective functions; Composite and inverse functions.
(b) Relations: Definition and examples of relation; Properties of relations, Representation
Unit I of relations using diagraphs and matrices; Equivalence relation; Partial Order relation, Hasse 15 L
Diagrams, maximal, minimal, greatest, least element, Lattices.
(c) Recurrence Relations: Definition and Formulation of recurrence relations; Solution of a
recurrence relation; Solving recurrence relations- Back tracking method, Homogeneous
solution of linear homogeneous recurrence relation with constant coefficients; Particular
solution of non-linear homogeneous recurrence relation with constant coefficients; General
solution of non-linear homogeneous recurrence relation with constant coefficients;
Applications- Formulate and solve recurrence relation for Fibonacci numbers, Tower of
Hanoi, Intersection of lines in a plane, Sorting Algorithms.
Additional References:
1. Elements of Discrete Mathematics: C.L. Liu , Tata McGraw- Hill Edition.
2. Concrete Mathematics (Foundation for Computer Science): Graham, Knuth, Patashnik Second Edition, Pearson
Education.
3. Foundations in Discrete Mathematics: K.D. Joshi, New Age Publication, NewDelhi.
Soft Skills: An Introduction – Definition and Significance of Soft Skills; Process, Importance
and Measurement of Soft Skill Development.
Personality Development: Knowing Yourself, Positive Thinking, Johari’s Window, Physical
Fitness
Emotional Intelligence: Meaning and Definition, Need for Emotional Intelligence, Intelligence
Unit I Quotient versus Emotional Intelligence Quotient, Components of Emotional Intelligence,
Competencies of Emotional Intelligence, Skills to Develop Emotional Intelligence 15 L
Positivity and Motivation: Developing Positive Thinking and Attitude; Driving out
Negativity; Meaning and Theories of Motivation; Enhancing Motivation Levels
Etiquette and Mannerism: Introduction, Professional Etiquette, Technology Etiquette
Ethical Values: Ethics and Society, Theories of Ethics, Correlation between Values and
Behavior, Nurturing Ethics, Importance of Work Ethics, Problems in the Absence of Work
Ethics
Additional References:
1. Personality Development and Soft Skills, Barun K. Mitra, Oxford Press
2. Business Communication, Shalini Kalia, Shailja Agrawal, Wiley India
3. Cornerstone: Developing Soft Skills, Sherfield, Pearson India
Suggested List of Practical- SEMESTER I
10 Design and implement 3-bit binary ripple counter using JK flip flops.
11 Using MARS, Simple microprocessor programs for data transfer operations
12 Using MARS Simple microprocessor programs for arithmetic & logical transfer operations
Note Practical 1 – 10 can be performed using any open source simulator (like Logisim)
(Download it from https://sourceforge.net/projects/circuit/)
Practical 11 – 12 can be performed on any simulation software like Jubin’s 8085
simulator,Using MARS.
Course: Practical of PUSCS102
PUSCSP102 (Credits : 1, Lectures/Week: 3)
1 Perform the following:
Installing and setting up the Python IDLE interpreter. Executing simple statements like
expression statement
a. Numeric and Boolean type
b. Assert Statements
c. Delete Statements
d. Print Function
e. Input Function with output
2 Write a Python program to demonstrate the precedence and associativity of operators
3 Write a program to design and develop python program to implement various control
statement using suitable examples
4 Write a program in Python to define and call functions for suitable problems.
8 Write a python program to create and manipulate arrays in Python. Also demonstrate
use of slicing and indexing for accessing elements from the array.
9 Write a program to implement a list in Python for suitable problems. Demonstrate
various operations on it.
10 Write a program to implement tuples in Python for suitable problems. Demonstrate
various operations on it.
11 Write a program to implement a dictionary in Python for suitable problems.
Demonstrate various operations on it
Course: Practical of PUSCS103
PUSCSP103 (Credits : 1, Lectures/Week: 3)
1
Installation of Ubuntu Linux operating system.
2
Becoming an Ubuntu power user
3
File System Commands: touch, help, man, more, less, pwd, cd, mkdir, rmdir, ls,
find, ls, etc
File handling Commands: cat, cp, rm, mv, more, file, wc, od, cmp, diff, comm,
chmod, chown, chgrp, gzip and gunzip, zip and unzip, tar, ln, umask,, chmod, chgrp,
chown, etc
4
General purpose utility Commands: cal, date, echo, man, printf, passwd, script,
who, uname, tty, stty, etc
Simple Filters and I/O redirection: head, tail, cut paste, sort, grep family, tee,
uniq, tr, etc. Networking Commands: who, whoami, ping, telnet, ftp, ssh, etc
(i) The Java version of a multithreaded program that determines the summation of a
non-negative integer. The Summation class implements the Runnable interface. Thread
creation is performed by creating an object instance of the Thread class and passing the
constructor a Runnable object.
(ii) Write a multithreaded Java program that outputs prime numbers. This program
should work as follows: The user will run the program and will enter a number on the
command line. The program will then create a separate thread that outputs all the prime
numbers less than or equal to the number entered by the user.
(iii) The Sleeping-Barber Problem: A barber shop consists of a waiting room with n
chairs and a barber room with one barber chair. If there are no customers to be served,
the barber goes to sleep. If a customer enters the barbershop and all chairs are
occupied, then the customer leaves the shop. If the barber is busy but chairs are
available, then the customer sits in one of the free chairs. If the barber is asleep, the
customer wakes up the barber. Write a program to coordinate the barber and the
customers using Java synchronization.
9
Implement FCFS scheduling algorithm in Java or any programming language.
10
Implement SJF (with no preemption) scheduling algorithm in Java or any
programming language.
Learn at least two different open source licenses and create a brief report about
them.
a. History of license
b. Idea
c. What problems does it solve?
d. Detailed licensing model
e. Which popular software is released under this license?
f. Any popular news associated with this license?
g. Popularity
h. Impact
5 Contributing to Wikipedia:
1. Introduction to wikipedia: operating model, license, how to
contribute?
2. Create your user account on wikipedia
3. Identify any topic of your choice and contribute the missing
information
6 Github
1. Create and publish your own open source project: Write any simple program
using your choice of programming language.
2. Create a repository on github and save versions of your project. You‘ll learn
about the staging area, committing your code, branching, and merging,
3. Using GitHub to Collaborate:Get practice using GitHub or other remote
repositories to share your changes with others and collaborate on multi-
developer projects. You‘ll learn how to make and review a pull request on
GitHub.
4. Contribute to a Live Project: Students will publish a repository containing
their reflections from the course and submit a pull request.
10 Containerization:
● Install and configure the following containerization technologies: docker,
rocket, LXD
● Create and use containers using it
Course: Practical of PUSCS105
PUSCSP105 (Credits : 1, Lectures/Week: 3)
1 Functions :
a)Identify if the given mapping is a function
b) Finding domain and range of a given function
c) Check if the given function is injective/surjective/bijective
d) Find the inverse of a given function
e) Operations on functions
f) Graphs of functions using any online tool
2 Relations :
a ) Representation of relations
b) Determine if the given relation satisfies equivalence relation/partial order relation
c) Draw Hasse diagrams
d) Find maximal, minimal, greatest, least element in a Poset
e) Determine if a given Poset is a Lattice
3 Recurrence Relation
a) Solve recurrence relation using backtracking method
b) Solve linear homogeneous recurrence relations with constant coefficients
c) Find homogeneous, particular, general solution of a recurrence relation
d) Formulate and solving recurrence relation
4 Counting Principles
a) Sum and product rule
b) Pigeonhole Principle
c) Inclusion Exclusion Principle
d) Counting using Tree diagrams
10 Trees
a) Tree terminologies
b) Types of tree
c) Properties of tree
d) Representation of tree
e) Expression tree
f) Binary Search tree
g) Tree traversal
4. Measures of dispersion
5 Moments
6. Measures of Skewness
8. Measures of kurtosis
9. Correlation
10 Regression
SEMESTER II
Course: Design & Analysis of Algorithms
PUSCS201 (Credits : 2 Lectures/Week: 3)
Course Objectives:
● To make students understand the basic principles of algorithm design
● To give idea to students about the theoretical background of the basic data structures
● To familiarize the students with fundamental problem-solving strategies like searching, sorting, selection,
recursion and help them to evaluate efficiencies of various algorithms.
● To teach students the important algorithm design paradigms and how they can be used to solve various real
world problems.
Expected Learning Outcomes:
1. Students should be able to understand and evaluate efficiency of the programs that they write based on
performance of the algorithms used.
2. Students should be able to appreciate the use of various data structures as per need
3. To select, decide and apply appropriate design principle by understanding the requirements of any real life
problems
Introduction to Data Structures - What is data structure, types, Introduction to Array(1-d & 2-
d), Stack and List data structures, operations on these data structures, advantages disadvantages
and applications of these data structures like solving linear equations, Polynomial
Representation, Infix-to-Postfix conversion
Unit I Introduction to algorithms - What is algorithm, analysis of algorithm,Types of complexity,
Running time analysis, How to Compare Algorithms, Rate of Growth, Types of Analysis,
15 L
Asymptotic Notation, Big-O Notation, Omega-Ω Notation, Theta-Θ Notation, Asymptotic
Analysis, Performance characteristics of algorithms, Estimating running time / number of steps
of executions on paper, Idea of Computability
Working with files: Files, opening and closing a file, working with text files containing strings,
knowing whether a file exists or not, working with binary files, working with xml files, the
‘with’ statement, the seek() and tell() methods, random accessing of binary files, zipping and
unzipping files, working with directories, running other programs from python program
Unit I Regular expressions: What is a regular expression?, sequence characters in regular expressions,
quantifiers in regular expressions, special characters in regular expressions, using regular
15 L
expression on files, retrieving information from an html file,
Threads in python: Difference between process and thread, types of threads, benefits of threads,
creating threads, single tasking and multitasking, thread synchronization, deadlock in threads,
daemon threads
Date and time in python: Date and time now, combining date and time, formatting dates and
times, finding durations using “time delta”, comparing two dates, sorting dates, stopping
execution temporarily, knowing the time taken by a program, calendar module.
Database in python: Using SQL with python, retrieving rows from a table, inserting rows into
a table, deleting rows from a table, updating rows in a table, creating database tables through
python, Exception handling in databases.
Exceptions in python: Errors in a python program, compile & run-time errors, logical error,
exceptions-exception handling, types of exceptions, the except block, the assert statement, user- 15 L
Unit II
defined exceptions, logging the exceptions
Networking: Protocols,server-client architecture, tcp/ip and udp communication
Graphical user interface: Creating a GUI in python, Widget classes, Working with Fonts and
Colours, working with Frames, Layout manager, Event handling
.
OOPs in python: Features of Object Oriented Programming system (oops)-classes and objects,
encapsulation, abstraction, inheritance, polymorphism, constructors and destructors
Classes and objects: Creating a class, the self-variable, types of variables, namespaces, types of
methods, instance methods, class methods, static methods, passing members of one class to
Unit III another class, inner classes
Inheritance and polymorphism: Inheritance in python, types of inheritance- single inheritance,
15 L
multilevel inheritance, hierarchical inheritance, multiple inheritance, constructors in inheritance,
overriding superclass constructors and methods, the super() method, method
resolution order (mro), polymorphism, duck typing, operator overloading, method overloading,
method overriding,
Abstract classes and interfaces: Abstract class, abstract method, interfaces
in python, abstract classes vs. Interfaces
Textbooks:
1. Paul Gries , Jennifer Campbell, Jason Montojo, Practical Programming: An Introduction to
Computer Science Using Python 3, Pragmatic Bookshelf, 3rd Edition, 2018
2. Programming through Python, M. T Savaliya, R. K. Maurya, G M Magar, Revised Edition,
Sybgen Learning India, 2020
Additional References:
1. Advanced Python Programming, Dr. Gabriele Lanaro, Quan Nguyen, SakisKasampalis, Packt
Publishing, 2019
2. Programming in Python 3, Mark Summerfield, Pearson Education, 2nd Ed, 2018
3. Python: The Complete Reference, Martin C. Brown, McGraw Hill, 2018
4. Beginning Python: From Novice to Professional, Magnus Lie Hetland, Apress, 2017
5. Programming in Python 3, Mark Summerfield, Pearson Education, 2nd Ed, 2018
Course: Introduction to OOPs using C++
PUSCS203 (Credits : 2 Lectures/Week: 3)
Course Objectives:
● The course aims to introduce a new programming paradigm called Object Oriented Programming.
● This will be covered using C++ programming language. C++ is a versatile programming language, which
supports a variety of programming styles, including procedural, object-oriented, and functional programming.
● This makes C++ powerful as well as flexible.
● It can be used to develop software such as operating systems, databases, and compilers.
Text book:
1. Object Oriented Programming with C++, Balagurusamy E., 8th Edition, McGraw Hill Education India.
2. UML & C++: A Practical Guide to Object Oriented Development, Lee/Tepfenhart, Pearson Education, 2nd
Edition2015
Additional References:
1. Mastering C++ by Venugopal, Publisher: McGraw-Hill Education, 2017
2. Let Us C++ by KanetkarYashwant, Publisher: BPB Publications, 2020
3. Object Oriented Analysis and Design by Timothy Budd TMH, 2001
Text book:
1. “Fundamentals of Database System”, ElmasriRamez, NavatheShamkant, Pearson Education, Seventh edition,
2017.
2. “Database Management Systems”, Raghu Ramakrishnan and Johannes Gehrke, 3rd Edition, 2014 .
3. “Murach's MySQL”, Joel Murach, 3rd Edition, 3rd Edition, 2019.
Additional References:
1. “Database System Concepts”, Abraham Silberschatz,HenryF.Korth,S.Sudarshan, McGraw Hill, 2017.
2. “MySQL: The Complete Reference”, Vikram Vaswani , McGraw Hill, 2017.
3. “Learn SQL with MySQL: Retrieve and Manipulate Data Using SQL Commands with Ease”, AshwinPajankar,
BPB Publications, 2020.
Course: Calculus
PUSCS205 (Credits : 2 Lectures/Week: 3)
Course Objectives:
● The primary objective of this course is to introduce the basic tools of Calculus which are helpful
in understanding their applications to real world problems.
● The course is designed to have a grasp of important concepts of Calculus in a scientific way.
● It covers topics from as basic as definition of functions to partial derivatives of functions in a
gradual and logical way.
● The learner is expected to solve as many examples as possible to a get complete clarity and
understanding of the topics covered.
Textbooks:
1. Calculus: Early transcendental (10th Edition): Howard Anton, IrlBivens, Stephen Davis, John
Wiley & sons, 2012.
Additional References:
1. Calculus and analytic geometry (9th edition): George B Thomas, Ross L Finney, Addison Wesley, 1995
2. Calculus: Early Transcendentals (8th Edition): James Stewart, Brooks Cole, 2015.
3. Calculus (10th Edition): Ron Larson, Bruce H. Edwards, Cengage Learning, 2013.
4. Thomas' Calculus (13th Edition): George B. Thomas, Maurice D. Weir, Joel R. Hass, Pearson, 2014.
Text book:
1. Goon, A. M., Gupta, M. K. and Dasgupta, B. (1983). Fundamentals of Statistics, Vol. 1, Sixth
Revised Edition, The World Press Pvt. Ltd., Calcutta.
2. Gupta, S.C. and Kapoor, V.K. (1987): Fundamentals of Mathematical Statistics, S. Chand and
Sons, New Delhi
Additional References:
1. Sarma, K. V. S. (2001). Statistics Made it Simple: Do it yourself on PC. Prentce Hall of India,
NewDelhi.
2. Agarwal, B. L. (2003). Programmed Statistics, Second Edition, New Age International
Publishers, NewDelhi.
3. Purohit, S. G., Gore S. D., Deshmukh S. R. (2008). Statistics Using R, Narosa Publishing
House, NewDelhi.
4. Schaum’s Outline Of Theory And Problems Of Beginning Statistics, Larry J. Stephens,
Schaum’s Outline Series Mcgraw-Hill
Course: E-Commerce & Digital Marketing
PUSCS207 (Credits : 2 Lectures/Week: 3)
Course Objectives:
● To understand increasing significance of E-Commerce and its applications in Business and Various Sectors
● To provide an insight on Digital Marketing activities on various Social Media platforms and its emerging
significance in Business
● To understand Latest Trends and Practices in E-Commerce and Digital Marketing, along with its Challenges
and Opportunities for an Organization
Expected Learning Outcomes:
After successful completion of this course, students would be able to
1. Understand the core concepts of E-Commerce.
2. Understand the various online payment techniques
3. Understand the core concepts of digital marketing and the role of digital marketing in business. • Apply
digital marketing strategies to increase sales and growth of business
4. Apply digital marketing through different channels and platforms
5. Understand the significance of Web Analytics and Google Analytics and apply the same.
Social Media Marketing: Meaning, Purpose, types of social media websites, Social Media
Engagement, Target audience, Facebook Marketing: Business through Facebook Marketing,
Creating Advertising Campaigns, Adverts, Facebook Marketing Tools, LinkedIn Marketing:
Importance of LinkedIn Marketing, Framing LinkedIn Strategy, Lead Generation through
LinkedIn, Content Strategy, Analytics and Targeting, Twitter Marketing: Framing content 15 L
Unit II
strategy, Twitter Advertising Campaigns, YouTube Marketing: Video optimization, Promoting
on YouTube, Monetization, YouTube Analytics
Email Marketing: Types of Emails, Mailing List, Email Marketing tools, Email
Deliverability & Email Marketing automation
Unit III Search Engine Marketing: Introduction to SEM, Introduction to Ad Words - Google Ad
Words, Ad Words fundamentals, Ad Placement, Ad Ranks, Creating Ad Campaigns, Campaign
Report Generation, Display marketing, Buying Models: Cost per Click (CPC), Cost per Milli 15 L
(CPM), Cost per Lead (CPL), Cost per Acquisition (CPA).
Web Analytics: Purpose, History, Goals & objectives, Web Analytic tools & Methods. Web
Analytics Mistakes and Pitfalls.
Text book:
1. “E-Commerce Strategy, Technologies and Applications”, Whitley, David, Tata McGraw Hill, 2017
2. Digital Marketing, Seema Gupta, McGraw Hill Education, 2nd Edition
Additional References:
1. E-Commerce by S. Pankaj, A.P.H. Publication, New Delhi
2. Fundamentals of Digital Marketing, Punit Singh Bhatia, Pearson, 2nd Edition
3. “Understanding Digital Marketing: MarketingStrategies for Engaging the Digital Generation”, Damian Ryan,
Calvin Jone. Kogan Page, 4th Edition
Suggested List of Practical- SEMESTER II
4. Program to perform linear search and binary search on list of elements. Compare the
algorithms by calculating time required in milliseconds using readymade libraries.
5 Programs to sort elements of list by using various algorithms: bubble, selection sort, and
insertion sort. Compare the efficiency of algorithms.
6. Programs to select the Nth Max/Min element in a list by using various algorithms. Compare
the efficiency of algorithms.
7. Programs to find a pattern in a given string - general way and brute force technique.
Compare the efficiency of algorithms.
8. Programs on recursion like factorial, fibonacci, tower of hanoi. Compare algorithms to find
factorial/fibonacci using iterative and recursive approaches.
9. Program to implement file merging, coin change problems using Greedy Algorithm and to
understand time complexity.
10. Program to implement merge sort, Straseen’s Matrix Multiplication using D-n-C Algorithm
and to understand time complexity.
11. Program to implement fibonacci series, Longest Common Subsequence using dynamic
programming and to understand time complexity. Compare it with the general recursive
algorithm.
12. Program to implement N-Queen Problem, Binary String generation using Backtracking
Strategy and to understand time complexity.
7. Write a Python Program to create an application which uses date and time in Python.
4 Program to use scope resolution operator. Display the various values of the same variables
declared at different scope levels.
5 Programs to demonstrate various types of constructors and destructors.
7. Subqueries
• With IN clause
• With EXISTS clause
8. Partial Derivatives I –
a. Partial derivatives of functions, First and Second order partial derivatives, Mixed
derivative theorem, Higher order partial derivatives
b. Differential for functions of two or three variables
c. Local linear approximation for functions of two or three variables
9. Partial Derivatives II –
a. Chain rule for functions of two or three variables
b. Implicit differentiation
c. Directional derivatives and gradient
10. Applications of Partial Derivatives–
a. Tangent Planes and Normal Vectors for functions of two or three variables
b. Maxima and Minima of Functions of Two Variables
7. Measures of Kurtosis-
a. Moment coefficient of Kurtosis (Absolute measure)
b. Moment coefficient of Kurtosis (Relative measure)
8. Correlation-
a. Karl Pearson’s correlation coefficient
b. Spearman’s Rank correlation
9. Regression-
a. Method of least squares
b. Using regression coefficients
c. Properties of regression lines & regression coefficients
10. Summary Statistics using R-
a. Summary statistics for raw data
b. Summary statistics for grouped frequency distribution
c. Simple Correlation & Regression using R
Scheme of Examination and Paper Pattern
Evaluation Scheme
(ii) Research Work- 25 marks: Includes research documentation and presentation work.
OR
***