SYBSc Computer Science
SYBSc Computer Science
Microcontroller Architecture
USCSEL-231 2 36
& Programming
CC-XI Digital Communication and
USCSEL-232 2 36
Networking
Prerequisites:
Basic knowledge of algorithms and problem solving
Knowledge of C Programming Language
Course Objectives:
1. To understand analysis of algorithms.
2. To learn different array representation methods and uses.
3. To understand different types of linked list.
4. To learn use of stack.
5. To learn concept of queue with its operations.
6. To acquire knowledge of nonlinear data structures.
Unit 4: Stack 06
4.1 Introduction
4.2 Operations on Stack – init(), push(), pop(), isEmpty(), isFull(), peek(), time complexity of
all the operations
4.3 Implementation of Stack - Static and Dynamic, comparison between the two
implementations
4.4 Applications of stack
4.4.1 Function call and recursion
4.4.2 String reversal, palindrome checking
4.4.3 Expression types - infix, prefix and postfix, expression conversion and evaluation
(implementation of infix to postfix and evaluation of postfix expression)
4.4.4 Backtracking strategy - 4 queens problem
Unit 5: Queue 06
5.1 Introduction
5.2 Operations on Queue - init(), enqueue(), dequeue(), isEmpty(), isFull(), peek(), time
complexity of all the operation
5.3 Implementation - Static and Dynamic, comparison between the two implementations
5.4 Types of Queue - Linear Queue, Circular Queue, Priority Queue, Double Ended Queue
5.5 Applications of queue
6.5.1 CPU Scheduling in multiprogramming environment
Reference Books:
1. Classic Data Structures - D. Samanta, Prentice Hall India Pvt. Ltd.
2. Fundamentals of Data Structures in C - Ellis Horowitz, Sartaj Sahni, Susan Anderson Freed,
2nd Edition, Universities Press.
3. Data Structures using C and C++ - Yedidyah Langsam, Moshe J. Augenstein, Aaron M.
Tenenbaum, Pearson Education
4. Data Structures: A Pseudo code approach with C, Richard Gilberg, Behrouz A. Forouzan,
Cengage Learning.
5. Introduction to Data Structures in C - Ashok Kamthane, Pearson Education
6. Algorithms and Data Structures - Niklaus Wirth, Pearson Education
Course Objectives:
1. To understand the concept, need and procedure for Normalization
2. To teach procedural extension of SQL
3. To be familiar with the basic concepts of transaction and concurrency control
4. To understand how recovery is done from crash
5. To understand data security and its importance
Reference Books:
1. Database Management Systems by Raghu Ramakrishnan, Mcgraw-hill higher
Education publication
2. Database System Concepts by Henry F. Korth, Abraham Silberschatz, Tata
McGraw-Hill Education publication
3. Fundamentals of Database Systems by Elmasri and Navathe, Pearson publication
4. Beginning Databases with PostgreSQL: From Novice to Professional by Richard
Stones, Neil Matthew, Apress publication
5. Practical PostgreSQL By Joshua D. Drake, John C Worsley O’Reilly publication
1. Stored Function
a. A Simple Stored Function
b. A Stored Function that returns a value
c. A Stored Function recursive
2. Cursors
a. A Simple Cursor
b. A Parameterize Cursor
3. Exception Handling
a. Simple Exception- Raise Debug Level Messages
b. Simple Exception- Raise Notice Level Messages
c. Simple Exception- Raise Exception Level Messages
4. Triggers
a. Before Triggers (insert, update, delete) (row level and statement level)
b. After Triggers (insert, update, delete) (row level and statement level)
5. Views
a. Creating Views on tables, and writing queries on the views.
Unit 1: Integers 05
1.1 Division Algorithm (without Proof)
1.2 G.C.D. using division algorithm and expressing it as linear combination
1.3 Euclid’s lemma
1.4 Equivalence relation (revision), Congruence relation on set of integers, Equivalence class
partition
Unit 2: Groups 03
2.1 Binary Operation
2.2 Group: Definition and Examples
2.3 Elementary Properties of Groups
Reference Books:-
1. Contemporary Abstract Algebra by J. A, Gallian (Seventh Edition)
Unit 1: Chapter 0, Unit 2: Chapter 2, Unit 3: Chapter 3 ,4, 5 and 7
2. Discrete Mathematical Structures By Bernard Kolman, Robert C. Busby and Sharon
Ross (6th Edition) Pearson Education Publication
Unit 4: Chapter 11
2.1 Differences
2.1.1 Forward Differences
2.1.2 Backward Differences
2.1.3 Central Differences
2.1.4 Other Differences (δ, μ operators)
2.2 Properties of Operators
2.3 Relation between Operators
2.4 Newton’s Gregory Formula for Forward Interpolation
2.5 Newton’s Gregory Formula for Backward Interpolation
2.6 Lagrange’s Interpolation Formula
2.7 Divided Difference
2.8 Newton’s Divided Difference Formula
Text Book:-
1. A textbook of Computer Based Numerical and Statistical Techniques, by A. K. Jaiswal and Anju
Khandelwal. New Age International Publishers.
Chapter 1:2.1, 2.5, 2.7
Chapter 2:3.1, 3.2, 3.4, 3.5,4.1, 4.2, 4.3, 5.1, 5.2, 5.4, 5.5
Chapter 3:6.1, 6.3, 6.4, 6.5, 6.6, 6.7
Chapter 4:7.1, 7.4, 7.5, 7.6
Reference Books:-
1. S.S. Sastry; Introductory Methods of Numerical Analysis, 3rd edition, Prentice Hall of India,
1999.
2. H.C. Saxena; Finite differences and Numerical Analysis, S. Chand and Company.
3. K.E. Atkinson; An Introduction to Numerical Analysis, Wiley Publications.
4. Balguruswamy; Numerical Analysis.
Text Books:-
1. Downey, A. et al., How to think like a Computer Scientist: Learning with Python, John Wiley,
2015.
Sections: 1, 2, 3
2. Robert Johansson, Introduction to Scientific Computing in Python Section: 4
Reference Books:-
1. Lambert K. A., Fundamentals of Python - First Programs, Cengage Learning India, 2015.
2. Guzdial, M. J., Introduction to Computing and Programming in Python, Pearson India.
3. Perkovic, L., Introduction to Computing Using Python, 2/e, John Wiley, 2015.
4. Zelle, J., Python Programming: An Introduction to Computer Science, Franklin, Beedle &
Associates Inc.
5. Sandro Tosi, Matplotlib for Python Developers, Packt Publishing Ltd.(2009)
Objectives:
1. To study the basics of 8051microcontroller
2. To study the Programming of8051microcontroller
3. To study the interfacing techniques of 8051microcontroller
4. To design different application circuits using 8051microcontroller
Reference Books :
1. 8051 microcontroller and Embedded system using assembly and C : Mazidi
and McKinley, Pearson publications
2. The 8051 microcontroller – Architecture, programming and applications:
K.Uma Rao and Andhe Pallavi, Pearson publications
Objectives:
1. To introduce to various aspects of data communication system
2. To introduce different digital modulation schemes
3. To identify the need of data coding and error detection/correction mechanism.
4. To study bandwidth utilization techniques: multiplexing and spectrum
spreading
5. To understand data link layer protocol: Media Access Control
Reference Books:
1.Communication Electronics: Principles and Applications, Frenzel, Tata Mc Graw
Hillpublication, 5th edition.
2.Data Communication and Networking, Forouzan, Mc Graw Hill publication, 5th
edition
3.Computer Networks, Tanenbaum, pHI publication, 5th edition
Objectives:
1. To get hands on training of Embedded C
2. To study experimentally interfacing of microcontroller
3. To design, build and test modulator and demodulators of digital communication
4. To build and test experimentally various techniques of wired
communication
5. To develop practical skills of network setup
Group A:
1. Interfacing of thumbwheel & seven segment display to 8051 microcontroller
2. Traffic light controller using 8051 microcontroller
3. Waveform generation using DAC Interface to 8051Microcontroller.
4. Speed Control of stepper motor using 8051 microcontroller
Group B:
1. Study of 3 or 4 Bit Pulse Code Modulation technique
2. Study of Frequency Shift Keying
3. Study of Time Division Multiplexing
4. Study of Frequency Division Multiplexing
5. Study of Error detection and correction by using Hamming Code technique
Course Objectives:
1. To learn principles of Object-Oriented Programming (OOP).
2. To learn operators, type casting, reference variable
3. To understand concept of functions, default arguments
4. To acquire the knowledge of function and operator overloading.
5. To learn concept of Inheritance, abstract class
Unit 5: Inheritance 10
5.1 Inheritance and its types
5.2 Constructor and destructor in derived class
5.3 Virtual base classes and abstract base classes
5.4 Function overriding
5.5 Virtual functions and pure virtual function
Reference Books:
1. Object Oriented Programming (C++) Balaguruswamy, McGraw Hill Education;
Seventh edition
2. The Complete Reference C++ by Herbert Schildt, McGraw Hill Education; 4 edition
3. Mastering C++ by Venugopal, T Ravishankar, McGraw Hill Education; 2 edition A
Structured Programming Approach Using C, Behrouz A. Forouzan, Richard F.
Gilberg, Cengage Learning India
Prerequisites: None
Course Objectives:
1. To enhance the knowledge of methods and processes involved in software design
and development with object-oriented concepts.
2. To get introduced to the concepts of agile software development and methodologies
like scrum and extreme programming.
3. To learn concepts of Requirement Analysis, building of SRS.
4. To learn basic UML and construction of Class Diagram, Object Diagram.
5. To understand Behavioral and Architectural Modeling using UML diagrams.
Learning Outcomes: On completion of this course, students will be able to:
1. Design a system using software engineering principles.
2. Get basic knowledge of Agile Software Development.
3. Perform requirement analysis and build SRS.
4. Construct UML diagrams like Class Diagram and Object Diagram.
5. Apply Behavioral and Architectural Modeling techniques and draw different UML
diagrams like Use case, Activity, State, Sequence, Component and Deployment.
Reference Books:
1. Software Engineering: A Practitioner’s Approach- Roger S. Pressman, McGraw
hill International Editions 2010(Eighth Edition)
2. Grady Booch, James Rambaugh, The Unified Modeling Language User/Reference
Guide, Second Edition, Publisher: Addison Wesley, ISBN-13: 978-0321267979
3. Ivar Jacobson, Object Oriented Software Engineering, First Edition, Addison
Wesley, ISBN-13: 978-0201544350
4. Mike Kohn, Succeeding with Agile: Software Development Using Scrum, First
Edition, Pearson Addison-Wesley Professional, ISBN-13: 978-0321579362
5. Andrew Stellman & Jennifer Greene, Learning Agile understanding scrum, xp,
lean, and kanban, First Edition, O′Reilly, ISBN-13 : 978-1449331924
Assignments of C++
Unit 3. Projection 08
3.1 Orthographic projections.
3.2 Axonometric projections.
3.3 Oblique projections
3.4 Single point perspective projection
Textbook:
1. D. F. Rogers, J. A. Adams, Mathematical elements for Computer graphics, Mc Graw Hill
Intel Edition.
Chapter 1: 2-1 to 2.17
Chapter 2: 3.1 to 3.10,
Chapter 3: 3.12 to 3.14
Reference books:
1. Computer Graphics with OpenGL, Donald Hearn, M. Pauline Baker, Warren Carothers,
Pearson (4th Edition) - Schaum Series, Computer Graphics.
Text Book:-
1. Operation Research (12 thEdition), by S.D.Sharma.
Chapter 1: 1.1,1.3-1,1.3-2,1.5,1.6,1.8,1.9,1.10,1.11,1.12,3.1,3.2,3.3,3.4,3.5-4,
Chapter 2: 3.8-1,3.8-2,5.1-1, 5.2-1,5.3,5.7-1, 5.7-2
Chapter 3: 9.1, 9.2, 9.4-1, 9.4-2, 9.5, 9.6, 9.7-1, 9.7-2
Chapter 4: 10.1, 10.2, 10.5, 10.8-1,10.9, 10.10
Reference Books:-
1. Operations Research by H. A. Taha
2. Operations Research by R. Panneerselvam, Prentice Hall of India.
3. Principles of Operations Research by H. M. Wagner, Prentice Hall of India.
4. Operations Research by Gupta and Hira.
5. Operation Research by J.K. Sharma
1. 2D, 3D Graphs
1.1. Installation of numpy, matplotlib packages
1.2. Graphs plotting of functions such as 𝑥 2 , 𝑥 3 , 𝑠𝑖𝑛𝑒, 𝑐𝑜𝑠𝑖𝑛𝑒, 𝑙𝑜𝑔, 𝑒 𝑥 etc.
1.3. Different formats of graphs.
1.4. Three-dimensional Points and Lines
1.5. Three-dimensional Contour Plots
1.6. Wireframes and Surface Plots
2 2
1.7. Graphs plotting of functions such as𝑥 2 + 𝑦 2 , 𝑠𝑖𝑛(𝑥 + 𝑦), 𝑙𝑜𝑔(𝑥 + 𝑦), 𝑒 𝑥 +𝑦 etc.
2. Computational Geometry
2.1. Points: The distance between two points, Displaying Points and other geometrical objects,
Lines, rays, and line segments, The geometry of line segments, Displaying lines, rays and
line segments
2.2. Polygon :Representing polygons in Python, Triangles, Signed area of a triangle
2.3. Two dimensional rotation and reflection
2.4. Three dimensional rotation and reflection
2.5. Generation of Bezier curve with given control points
Text Books:-
1. JaanKiusalaas, Numerical Methods in Engineering with Python, Cambridge University Press,
(2005)
Sections: 3
2. Robert Johansson, Introduction to Scientific Computing in Python
Section: 1
Reference Books:-
1. Lambert K. A., Fundamentals of Python - First Programs, Cengage Learning India, 2015.
2. Guzdial, M. J., Introduction to Computing and Programming in Python, Pearson India.
3. Perkovic, L., Introduction to Computing Using Python, 2/e, John Wiley, 2015.
4. Zelle, J., Python Programming: An Introduction to Computer Science, Franklin, Beedle &
Associates Inc.
5. Jim Arlow, Interactive Computational Geometry in Python
Objectives:
1. To understand the concept of Embedded systems.
2. To study the design flow and available tools for an Embedded system.
3. To understand the implementation of embedded system using firmware
and hardware components.
4. To acquire programming skills for the development of Embedded system
design.
5. To develop practical skills for designing embedded system Applications.
References :
1. Rasberry Pi CookBook: Software & Hardware problems and Solutions By Simon
Monk( O’Reilly Media Inc.)
2. Raspberry Pi Hardware Reference by Warren Gay ( Apress)
3. Rasberry Pi User Guide By Eben Upton, Greath Halfacree (John Wiley & Sons,
Inc.)
4. Learning Python with Rasberry Pi, by Alex Bradbury, Ben Everard, John Wiley
& Sons, Inc
5. Learn Raspberry Pi programming with Python By Wolfram Donat ( Apress)
Objectives:
1. To learn and understand applications of wireless communication system
2. To learn and understand cellular system
3. To learn and understand architecture of short-range Wireless Technologies
4. To learn and understand basics of Internet of Things
5. To study applications of IoT
References :
1. Wireless Communications Principles and Practice, Rappaport, Pearson
publication
2. Mobile Communications, Jochen Schiller, Pearson publication
3. Internet of Things : Principles and Paradigms, Rajkumar Buyya and
Dastjerdi, MK publishers
Objectives:
1. To use basic concepts for building various applications of embedded
electronics.
2. To build experimental setup and test the circuits.
3. To develop skills of analyzing test results of given experiments.
4. Developing Trained Personals for educating and training for upcoming
graduates in wireless communication.
5. Implement basic IoT applications on embedded platform
Guidelines :
Practical batch size : 12
Minimum no of Practical to be performed : 10
Eight compulsory experiments: At least four practical from each Group
One activity equivalent to 2 experiments by the student.
a. Continuation of F. Y. activity.
b. Electronics project Based on the Theory Courses learnt
c. Documentation type experiments
Prerequisite: Raspberry Pi boards, Arduino / LoRa boards
Group A
1. Programming of Raspberry Pi to control LEDs attached to the GPIO pins
2. Programming of Raspberry Pi to get feedback from a switch connected to the
GPIO pins and making on or off device.
3. Programming of Raspberry Pi to detect temperature using temperature sensor
and control it at set temperature.
4. Programming of Raspberry Pi to detect light intensity using photocell sensor
and control on or off of switch.
Group B
1. Study of GSM system (Message transmission & Reception) and working of SIM
card in GSM handset
2. Study of Zig-bee for transmission of temperature sensed by temperature sensor
3. Study of RFID system
4. To study Arduino based LED switching using mobile and Temperature and
humidity sensing using Arduino